Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#4

Re: Probleme beim Speichern/ Einlesen von 2 dynamischen Arra

  Alt 22. Mär 2004, 22:56
1. es macht sich besser, wenn die Schreib- und Lese-Prozeduren möglichst gleich aufgebaut sind.

2. Array's und insbesonders dynamische Array's beginnen mit der Zählung bei 0.

3. Dort wo eine Zählervariable benötigt wird, sollte auch eine vorhanden sein.
Code:
      for y:=i+1 to 2*i do begin
        vocab2[y+i] := StrList[color=red][2*i-1][/color]; // wo ist [color=red][b]Y[/b][/color]
...


Das Ergebnis sollte in etwa so aussehn (die größten Änderungen sind hervogehoben):
Code:
procedure TForm1.B_SaveClick(Sender: TObject);
  ...
      StrList := TStringList.Create;
      StrList.Add(inttostr(i));
      for y:= [color=red]0[/color] to i-1 do begin
        StrList.Add(vocab1[y]);
      end;
      for y:=[color=red]i[/color] to [color=red]2*i-1 [/color]do begin
        StrList.Add(vocab2[y[color=red]-i[/color]]);
      end;
      StrList.SaveToFile(SaveDialog1.FileName);


procedure TForm1.B_loadClick(Sender: TObject);
  ...
      StrList := TStringList.Create;
      StrList.LoadFromFile(OpenDialog1.FileName);
      i:=StrToInt(StrList[[color=red]0[/color]]);
      SetLength(Vocab1,i);
      SetLength(Vocab2,i);
      for y:=[color=red]0[/color] to i[color=red]-1[/color] do begin
        vocab1[y] := StrList[y[color=red]+1[/color]];
      end;
      for y:=[color=red]i[/color] to 2*i[color=red]-1[/color] do begin
        vocab2[[color=red]y-i[/color]] := StrList[[color=red]y+1[/color]];
      end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat