|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"StringGridをテキストに変換"
StringGridのデータをコンマテキストではなく、StringGridのイメージ
のまま列がそろったテキストに変換してファイルに出力するサンプル。
Delphi3以前のバージョンでは動的配列が使えないので、適当な長さを
指定して配列StrLenを宣言し、SetLength手続を呼出している行(*)を削
除して下さい。
procedure TForm1.Button1Click(Sender: TObject);
var
StrLen: array of Integer; // Delphi3では長さを指定して宣言する
Tmp: TStrings;
C, R: Integer;
S: string;
begin
// 各列の文字列の長さの最大値を配列に保持する
with StringGrid1 do
begin
SetLength(StrLen, ColCount); // * Delphi3ではこの行削除
for C:= 0 to ColCount - 1 do for R:= 0 to RowCount - 1 do
if StrLen[C] < Length(Cells[C, R]) then
StrLen[C]:= Length(Cells[C, R]);
end;
// 各セルの文字列長を指定値に調整してから1行単位で文字列リスト
// に追加し、一括してテキストファイルに保存する
Tmp:= TStringList.Create;
with StringGrid1 do
try
for R:= 0 to RowCount - 1 do
begin
S:= '';
for C:= 0 to ColCount - 1 do
S:=S+Format('%-'+IntToStr(StrLen[C]+2)+'s', [Cells[C,R]]);
Tmp.Add(S);
end;
Tmp.SaveToFile('Test.txt');
finally
Tmp.Free;
end;
end;
http://member.nifty.ne.jp/h-triton/
○ 快速・大容量テキストエディタ「えるの〜と」公開中 ○
Avalon's Friendly Crew #80008 H-Triton (^^) since 1996
- FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 00/10/29 -
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|