AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Probleme mit dem Laden/ Speichern von Arrays
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit dem Laden/ Speichern von Arrays

Ein Thema von TheBluescreen · begonnen am 22. Mär 2004 · letzter Beitrag vom 25. Mär 2004
 
TheBluescreen

Registriert seit: 7. Okt 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#1

Probleme mit dem Laden/ Speichern von Arrays

  Alt 22. Mär 2004, 21:16
Hi!

Ich bins nochmal... Ich habe ein Problem beim Speichern und Auslesen von 2 dynamischen Arrays(beide sollen in eine Datei gespeichert werden). Beim Laden einer Datei kommt die Fehlermeldung "Project Project1.exe raised exception class EStringListError with message 'List index out of bounds(9)'. Process stopped....." . Was mache ich falsch? Ich hoffe mir kann geholfen werden...

Schonmal vielen Dank im Vorraus!

Bluescreen

Hier der Quellcode:

Delphi-Quellcode:
type
  TWord1 = array of string;
  TWord2 = array of string;
//-------------

var
  Vocab1: TWord1;
  Vocab2: TWord2;
  i: integer; //Gibt die Länge der dynamischen Arrays an
//-------------

procedure TForm1.B_SaveClick(Sender: TObject); //Speichern
var StrList: TStrings;
    y: integer;
begin
  if SaveDialog1.Execute then begin
    StrList := NIL;
    try
      StrList := TStringList.Create;
      StrList.Add(inttostr(i)); //Es wird die Länge der Arrays gespeichert
      for y:=1 to i-1 do begin
        StrList.Add(vocab1[y]); //Array1 wird gespeichert
      end;
      for y:=1 to i-1 do begin
        StrList.Add(vocab2[y]); //Array2 wird gespeichert
      end;
      StrList.SaveToFile(SaveDialog1.FileName);
    finally
      StrList.Free;
    end;
  end;
end;

procedure TForm1.B_loadClick(Sender: TObject); //Laden
var StrList: TStrings;
    y: integer;
begin
  if OpenDialog1.Execute then begin
    StrList := NIL;
    try
      StrList := TStringList.Create;
      StrList.LoadFromFile(OpenDialog1.FileName);
      i:=StrToInt(StrList[1]); //Länge der dyn. Arrays ablesen
      SetLength(Vocab1,i); //Setzen der Länge
      SetLength(Vocab2,i);
      for y:=1 to i do begin
        vocab1[y] := StrList[y]; //hier weiss ich nich so genau wie ich das lösen soll *g
      end;
      for y:=i+1 to 2*i do begin
        vocab2[y+i] := StrList[2*i-1];
      end;
    finally
      StrList.Free;
    end;
  end;

end;
Das Ergebnis in der Textdatei wäre z.B.
Code:
5                  //Länge der Arrays
12
123
1234
12345
12
123
1234
12345
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz