お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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