お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"RE:汎用セパレータを扱うStringList"

この発言は
#01109 雪見酒 さんの汎用セパレータを扱うStringList
に対するコメントです

#1109 雪見酒 さん こんにちは。 TYzStringList の使い方の例です。 Form1にボタン4個とリストボックス、エディット、ラベルを貼りつけて、 実行してみてください。プロパティを変えるといろいろ面白いことができ ます。(^^) unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,YzStrList; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; ListBox1: TListBox; Edit1: TEdit; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; List: TYzStrList; implementation {$R *.DFM} procedure TFOrm1.Button1Click(Sender: TObject); var I: Integer; FileName: String; F: TextFile; begin FileName := ExtractFilePath(Application.ExeName) + 'temp.txt'; AssignFile(F, FileName); Rewrite(F); try for I := 1 to 1000 do Writeln(F, Chr(Random(3)+$41)+Chr(Random(3)+$41)+Chr(Random(3)+$41)+ '-' + Chr(Random(3)+$61)+Chr(Random(3)+$61)+Chr(Random(3)+$61)); finally CloseFile(F); end; ShowMessage('complete.'); end; procedure TForm1.Button2Click(Sender: TObject); var T: Integer; S, Source: String; F: TextFile; begin T := GetTickCount; Source := ExtractFilePath(Application.ExeName) + 'temp.txt'; List := TYzStrList.Create; List.Sorted := true; List.Duplicates := dupIgnore; List.Delimiter:= ['-']; List.Separator:= [',']; List.OutSparator:=','; List.ChildSorted:=true; List.ChildDuplicates:=dupIgnore; AssignFile(F, Source); Reset(F); try while not Eof(F) do begin Readln(F, S); List.Add(S); end; finally CloseFile(F); end; ListBox1.Items.Assign(List); ShowMessage('complete. time '+IntToStr(integer(GetTickCount)-T)); end; procedure TForm1.Button3Click(Sender: TObject); var I: Integer; Dest: String; F: TextFile; begin // データ書き出し Dest := ExtractFilePath(Application.ExeName) + 'tempout.txt'; AssignFile(F, Dest); Rewrite(F); try for I := 0 to List.Count - 1 do Writeln(F, List[I] + '---' + List.SeparatedText[I]); finally CloseFile(F); end; end; procedure TForm1.Button4Click(Sender: TObject); var T:string; begin T:=ListBox1.Items[ListBox1.ItemIndex]; List.ChildList[T].CommaText:=edit1.Text; Label1.Caption:=List.ChildList[T].CommaText; end; procedure TForm1.ListBox1Click(Sender: TObject); var T:string; begin //getList T:=ListBox1.items[ListBox1.ItemIndex]; Label1.Caption:=List.ChildList[T].CommaText; end; procedure TForm1.FormDestroy(Sender: TObject); begin List.Free; end; end. Yukimi Sake GHE01746@nifty.ne.jp Original document by 雪見酒 氏 ID:(GHE01746)



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

Copyright 1996-2002 Delphi Users' Forum