|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"文字列リストのIniFile保存・復帰"
{
nifty:FDELPHI/MES/16/150 本田勝彦さんのコードは Textプロパティを
用いて文字列リスト単位で一括保存・復帰しますが、リストの項目単位で
読み書きしたいこともあるので以下の手続・関数を作ってみました。
}
// 文字列リストを項目単位に保存する
procedure IniSaveStringList(const Sec,Id:String; aList:TStrings);
var
Ini: TInifile;
i: Integer;
begin
try
Ini:= TInifile.Create(ChangeFileExt(ParamStr(0),'.ini'));
Ini.EraseSection(Sec); //データを初期化
//リスト項目毎に IDに Indexを付加して書き込む
For i:= 0 To aList.Count - 1 do
Ini.WriteString(Sec,Id + IntToStr(i), aList[i]);
finally
ini.Free;
end;
end;
// Indexで指定した項目のデータを読み出す
function IniReadListItem(const Sec, Id:String; Index:Integer): String;
var
Ini: TInifile;
begin
try
Ini:= TInifile.Create(ChangeFileExt(ParamStr(0),'.ini'));
Result:= Ini.ReadString(Sec,Id + IntToStr(Index), '');
finally
Ini.Free;
end;
end;
// IniFileのデータを文字列リストに一括セットする
procedure IniSetStringList(const Sec,Id:String; aList:TStrings);
var
Ini: TInifile;
i: Integer;
S: String;
begin
try
Ini:= TInifile.Create(ChangeFileExt(ParamStr(0),'.ini'));
While S <> 'EndOfData' do
begin
S:= Ini.ReadString(Sec,Id + IntToStr(i), 'EndOfData');
If S <> 'EndOfData' then
begin
{ここで項目毎にやりたいデータ処理を記述してもよい}
aList.Add(S);
end;
Inc(i);
end;
finally
Ini.Free;
end;
end;
☆ H-Triton (^^) since 1996 ☆
Avalon友の会第80008号
玉でも石でもお預かりします FDELPHIサンプル蔵下足札番
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|