初めてDelphiでプログラムを作っています。
下記のプログラム(一部)でエラーが出るのですがどうしてでしょうか?
代入できませんといったエラーです。
procedure TForm1.comb_data();
var Fname_out, Fname_backup: String;
ii, jj: Integer;
Fdata,Logdata: TStringList;
data_line, Logdata_line: String;
begin
data := nil;
Logdata := nil;
try
Fdata := TStringList.Create;
Logdata:= TStringList.Create;
Fdata.LoadFromFile('Fdata.csv');
Logdata.LoadFromFile('log-out.tmp');
while data.Text[ii] <> '' do
begin
data_line := Fdata.Text[ii];
while Logdata.Text[jj] <> '' do
begin
Logdata_line := Logdata.Text[jj];
if Logdata_line[5] = Fdata_line[5] then
Fdata.Text[ii] := Logdata.Text[jj]; //<-----ここでエラー
jj := jj +1;
end;
ii := ii + 1;
end;
finally
Fdata.Free;
Logdata.Free;
end;
end;
>Fdata.Text[ii] := Logdata.Text[jj]; //<-----ここでエラー
Fdata[ii] := Logdata[jj];
でしょうか?
回答ありがとうございます。
ご指摘のとおりに変更すると確かにエラーは出なくなったのですが、
いまひとつわかりません。
つまり、他の.Textという部分もいらないということでしょうか?
ヘルプを参照してください。
おそらく、Textプロパティと、Stringsプロパティを間違えているのかと思います。
Stringsプロパティは、default指定されているので、
Fdata[ii]
という記述は、
Fdata.Strings[ii]
と同等です。
HOtaさん、にしのさん
ご教示ありがとうございます。
ありがとうございます。
今やっと思うとおりの出力を得ることが出来ました。
>Textプロパティと、Stringsプロパティを間違えているのかと思います。
他に、エラーにならなくとも、勘違いしている部分もいくつかありました。
ツイート | ![]() |