お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"TMemIniFileでデータ入出力(その1)"

この発言に対し以下のコメントが寄せられています
#01126 H-Triton さん RE:TMemIniFileでデータ入出力(その1)

Delphi4以降でサポートされたTMemIniFileは32KBの制限がないので ちょっとしたデータの保存に便利です。 まずは以下のようなIniFile形式のデータをTTreeViewとTListViewを 使ってエクスプローラーのようなインターフェースで表示してみます。 [Folder-A] CaptionA1=DataA11,DataA12,・・・DataA1n CaptionA2=DataA21,DataA22,・・・DataA2n  ・・・・・・・・・・ CaptionAn=DataAn1,DataAn2,・・・DataAnn [Folder-B] CaptionB1=DataB11,DataB12,・・・DataB1n  ・・・・・・・・・・ 以下のコードを実行するには、uses節に IniFilesを追加して下さい。 // フォルダーツリーノードを作成する procedure TForm1.FormCreate(Sender: TObject); var Ini: TMemInifile; Folders: TStrings; i: Integer; begin ListView1.ViewStyle:= vsReport; TreeView1.Items.Add(nil, 'Root Node'); Ini:= TMemInifile.Create('ファイル名'); Folders:= TStringList.Create; try Ini.ReadSections(Folders); with TreeView1.Items do for i:= 0 to Folders.Count - 1 do AddChild(GetFirstNode, Folders[i]); finally Folders.Free; Ini.Free; end; end; // フォルダーを選択するとデータを読み出してTListViewに表示する procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); var i: Integer; Ini: TMemInifile; Folder: string; Captions: TStrings; nItem: TListItem; begin if TreeView1.Selected.Level <> 1 then Exit; ListView1.Items.Clear; ListView1.Items.BeginUpdate; // リスト項目の作成 Ini:= TMemInifile.Create('ファイル名'); Captions:= TStringList.Create; try Folder:= TreeView1.Selected.Text; Ini.ReadSection(Folder, Captions); with ListView1 do for i:= 0 to Captions.Count - 1 do begin nItem:= Items.Add; nItem.Caption:= Captions[i]; nItem.SubItems.CommaText:= Ini.ReadString(Folder, Captions[i], ''); end; finally Captions.Free; Ini.Free; ListView1.Items.EndUpdate; end; // リストコラムの作成 with ListView1 do if Items.Count > 0 then for i:= 0 to Items.item[0].SubItems.Count do Columns.Add; end;   ○ 心を打つ美しい文書作りは「えるの〜と」 ○ http://member.nifty.ne.jp/h-triton/ Avalon's Friendly Crew #80008 H-Triton (^^) since 1996  - FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 00/07/06 - Original document by H-Triton 氏 ID:(QZV11422)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum