どうしてエラーが出るのでしょうか?

解決


初心者2  2005-03-03 05:07:48  No: 13494

初めて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;


HOta  2005-03-03 05:33:52  No: 13495

>Fdata.Text[ii] := Logdata.Text[jj]; //<-----ここでエラー
Fdata[ii] := Logdata[jj];
でしょうか?


初心者2  2005-03-03 06:09:37  No: 13496

回答ありがとうございます。
ご指摘のとおりに変更すると確かにエラーは出なくなったのですが、
いまひとつわかりません。
つまり、他の.Textという部分もいらないということでしょうか?


にしの  2005-03-03 06:57:03  No: 13497

ヘルプを参照してください。
おそらく、Textプロパティと、Stringsプロパティを間違えているのかと思います。
Stringsプロパティは、default指定されているので、
Fdata[ii]
という記述は、
Fdata.Strings[ii]
と同等です。


初心者2  2005-03-03 17:58:57  No: 13498

HOtaさん、にしのさん
ご教示ありがとうございます。


初心者2  2005-03-06 20:30:11  No: 13499

ありがとうございます。
今やっと思うとおりの出力を得ることが出来ました。
>Textプロパティと、Stringsプロパティを間違えているのかと思います。
他に、エラーにならなくとも、勘違いしている部分もいくつかありました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加