![]() |
Re: dynamischen Array laden
siehe mein post oben!
|
Re: dynamischen Array laden
count zählt doch jede Zeile oder??
WEnn ja is das doch auch falsch weil der dann ja pro anzahl der zeilen eine neue Spalte in meinem Array einfügt!!! |
Re: dynamischen Array laden
ja, aber du schreibst doch auch je array-feld eine zeile!
hast du dir mal deine datei angesehen? |
Re: dynamischen Array laden
Wenn dein Array so aussieht
Delphi-Quellcode:
Dann könntest dus am einfachsten über einen FileStream machen, dann hast du auch gleich a bisserl a "Codierung" drinnen und nicht jeder kann die Daten einfach ändern oder lesen, indem er die Datei mitn Editor aufmacht.
type
TReihe = array[0..132] of Integer; TGrid = array of TReihe; So gehts mitn FileStream
Delphi-Quellcode:
Das sollte normalerweise funktionieren.
procedure Speichern;
var I,J : Integer FS : TFileStream; mInt : Integer; Ver : Integer; begin FS := TFileStream.Create('DATEINAME',fmCreate); try Ver := 1 FS.WriteBuffer(Ver,sizeof(Ver)); FS.WriteBuffer(Length(Oberarray),Sizeof(Length(Oberarray))); for I := Low(Oberarray) to High(Oberarray) do begin for J := 0 to 132 do begin mInt := Oberarray[I][J] FS.WriteBuffer(mInt,Sizeof(mInt)); //Bei einem String musst dus anders machen end; end; finally FS.Free; end; end; procedure Laden; var I,J : Integer FS : TFileStream; mInt : integer Ver : Integer begin FS := TFileStream.Create('DATEINAME',fmread); try FS.ReadBuffer(Ver,Siezof(Ver)); if Ver <> 1 then FEHLER!!!!! FS.ReadBuffer(I,Sizeof(I)); SetLength(Oberarray,I+1); for I := 0 to (I-1) do begin for J := 0 to 132 do begin FS.ReadBuffer(mInt,Sizeof(mInt)); oberarray[I][J] := mInt; //Bei einem String musst dus anders machen end; end; finally FS.Free; end; end; Einzige Ausnahme, bei einem String musst mehr in den Stream speichern, sonst funktiniert das mit jedem Datentyp. und du bist flexibler bei Erweiterungen, mit Versionsnummer! |
Re: dynamischen Array laden
sorry hattest recht, hatte was übersehen, so sollte es gehen...
Delphi-Quellcode:
[edit] arraygröße!
procedure TFStartseite.LadenClick(Sender: TObject);
var i, j, zeile: integer; slDaten: TStringList; begin slDaten := TStringList.Create; slDaten.LoadFromFile('termine'); zeile:=0; setlength(slDaten,slDaten.count); <--- nachtrag, arraygröße stzen! for i := 0 to slDaten.count-1 do <-- hier ist die lösung!!!! begin for j := 0 to 132 do begin Oberarray[zeile, j] :=slDaten[i]; end; inc(zeile); '<---------- end; slDaten.Free; end; |
Re: dynamischen Array laden
YUHU es funktioniert!
Hab noch nen bissl rumgebastelt und jetzt klappts endlich!! Danke für eure Hilfe! Echt super wie schnell man hier Antworten bekommt! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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-2025 by Thomas Breitkreuz