16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TMemIniFileでデータ入出力(その5)"
TTreeViewとTListViewを使うとカテゴリごとにフォルダーを作成して、
データを分類して保管できます。
するとやがて、フォルダーの名称を変更したくなります。
フォルダー名の変更を保存するには IniFileのセクション名を変更する必
要がありますが、そのような命令はDelphiにはありません。
一旦セクション全体を消去してから新しいセクション名ですべてのデータ
を保存し直す方法もありますが、効率的ではありません。
今回の場合はTMemIniFileにこだわらず、文字列リストにデータを読み込ん
で目的のセクション文字列を検索して書き替えてしまいます。
以下のサンプルコードは、nifty:FDELPHI/MES/16/1124 のコードに追加し
て下さい。
// フォルダー名(TTreeView.Text)が変更された時の処理
procedure TForm1.TreeView1Edited(Sender: TObject; Node: TTreeNode;
var S: String);
var
aList: TStrings;
n: Integer;
begin
if S = '' then S:= Node.Text;
if (Node.Level <> 1) or (S = Node.Text) then Exit;
aList:= TStringList.Create;
try
aList.LoadFromFile('ファイル名');
n:= aList.IndexOf('[' + Node.Text + ']');
if n > -1 then
begin
aList[n]:= '[' + S + ']';
aList.SaveToFile('ファイル名');
end;
finally
aList.Free;
end;
end;
○ 心を打つ美しい文書作りは「えるの〜と」 ○
http://member.nifty.ne.jp/h-triton/
Avalon's Friendly Crew #80008 H-Triton (^^) since 1996
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|