レコード形データを読込、テキストデータとして新規ファイル作成したいのですが、うまくいきません。データ変換するコマンドがあれば教えてください。
type
SS = record
KIG: string[2];
KIB: Integer;
WO: string[12];
end;
procedure TForm1.Button4Click(Sender: TObject);
Var
FSP : File of SS;
FSPc : TextFile;
SData : SS;
begin
//省略
Reset(FSP);
Rewrite(FSPc);
Read(FSP, SData);
Writeln(FSPc, SData);
//省略
end;
Writeln(FSPc, SData.KIG + ',' + IntToStr(SData.KIB) + ',' + SData.WO);
でどうですか?
すみません。説明が足りませんでした。
レコード形のデータは三つしか書きませんでしたが、実は50個近くあるのです。この50個を並べて書くのは大変なので。。ということです。
よろしくお願いします。
そのレコード中には、テキストで表現できない値も含まれているので
随時、それらを変換するコードを書かなければならないでしょう。
Delphi の IDEを使っているなら、
1.SHIFT + CTRL + R でキーマクロ記録開始
2.変換用のコードをマクロで繰り返し可能なように書く
3.もう一度 SHIFT + CTRL + R でキーマクロ記録終了
4.SHIFT + CTRL + P でキーマクロの再生
をいくつか繰り返せば、なんとかなりませんか?
CTRL + → :単語単位でキャレットを移動
CTRL + SHIFT + → :直前のキャレットから次のキャレットまで単語単位で選択
なども利用します。
また、CTRL + →などで、選択できないような場合は、
「'」や「;」などを、検索ダイアログで、検索文字列として指定しておき
F3 キーとカーソルキーなどを駆使して、選択できます。
とりあえず、
type
a: integer;
b: string;
c: integer;
d: string;
end;
こういうのをCUT & PASTE で
a: integer;
b: string;
c: integer;
d: string;
という状態にします。
次に、キーマクロを使って
a{ integer};
b{ string};
c{ integer};
d{ string};
という状態にし、
次に、integerの部分をキーマクロ(と検索ダイアログ)を使って
IntToStrDef(a{ integer},0);
b{ string};
IntToStrDef(c{ integer},0);
d{ string};
のようにし、
最終的に
Writeln( txt,IntToStrDef(a{ integer},0));
Writeln( txt,b{ string});
Writeln( txt,IntToStrDef(c{ integer},0));
Writeln(d{ string});
とします。
いかがですか?
ツイート | ![]() |