16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TMemIniFileでデータ入出力(その6)"
この発言に対し以下のコメントが寄せられています
#01132 H-Triton さん RE:TMemIniFileでデータ入出力(その6)
TListViewのデータ項目の見出し(キャプション)を変更した場合、変更を保
存するには対応するIniFileのKeyを変更しなければなりませんが、
TMemIniFileではそのようなメソッドはサポートされていません。
KeyをDeleteしてから新しいKeyでWriteStringすれば一応保存はできますが、
次回データを読み込んだ時の表示位置がリストの末尾に変わってしまうの
で不都合です。
一旦セクションごとデータを消去してから、改めて全データを保存し直す
方法もありますが、効率的ではありません。
そこで今回も文字列リストにデータを読み込んで直接Keyを書き換えます。
procedure TForm1.ListView1Edited(Sender: TObject; Item: TListItem;
var S: String);
var
aList: TStrings;
n: Integer;
begin
if S = '' then S:= Item.Caption;
if S = Item.Caption then Exit;
aList:= TStringList.Create;
try
aList.LoadFromFile('ファイル名');
n:= aList.IndexOfName(Item.Caption);
if n > -1 then
begin
aList[n]:= S + '=' + Item.SubItems.CommaText;
aList.SaveToFile('ファイル名');
end;
finally
aList.Free;
end;
end;
○ 心を打つ美しい文書作りは「えるの〜と」 ○
http://member.nifty.ne.jp/h-triton/
Avalon's Friendly Crew #80008 H-Triton (^^) since 1996
- FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 00/07/07 -
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|