固定長テキストファイルの項目定義としてレコード型を使用したいのですが、
レコード型変数へ項目ごとにではなく
レコード丸ごとの文字列変数の内容を代入するにはどのような方法があるでしょうか?
(例)
レコード型は以下のようにChar配列を使用します。
MyRecord = Record
ID : Char[0..4]; // 数字5桁
Name : Char[0..9]; // 文字10桁
end;
これに"00001ABCDEFG "というString型変数の値を一括で代入したいのです。
よろしくお願いします。
すみません、Char配列の記述に誤りがありました。
Array[0..4] of Char とすべきですね。
こんな感じ
type
MyRecord = record
ID : array[0..4] of Char; // 数字5桁
Name : array[0..9] of Char; // 文字10桁
end;
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
r:MyRecord;
begin
s := '00001ABCDEFG ';
Move(PChar(s)^,r,15);
Label1.Caption := r.ID;
Label2.Caption := r.Name;
end;
jokさん、ありがとうございます。
うまく渡せました(感激)。
ポインタを使わなければいけないのだろうとは思っていたのですが、
勉強不足でして、PCharの逆参照を使うという知恵はありませんでした。
勉強して理屈を理解したいと思います。
ツイート | ![]() |