AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dynamischen Array laden

Offene Frage von "Larky"
Ein Thema von Larky · begonnen am 2. Nov 2006 · letzter Beitrag vom 2. Nov 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#11

Re: dynamischen Array laden

  Alt 2. Nov 2006, 11:38
siehe mein post oben!
  Mit Zitat antworten Zitat
Larky

Registriert seit: 9. Okt 2006
Ort: Leichlingen
13 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: dynamischen Array laden

  Alt 2. Nov 2006, 11:44
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!!!
Jasmin
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#13

Re: dynamischen Array laden

  Alt 2. Nov 2006, 11:46
ja, aber du schreibst doch auch je array-feld eine zeile!

hast du dir mal deine datei angesehen?
  Mit Zitat antworten Zitat
c64ranni

Registriert seit: 27. Okt 2006
Ort: Vomp
10 Beiträge
 
Delphi 5 Professional
 
#14

Re: dynamischen Array laden

  Alt 2. Nov 2006, 11:53
Wenn dein Array so aussieht
Delphi-Quellcode:
type
  TReihe = array[0..132] of Integer;
  TGrid = array of TReihe;
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.

So gehts mitn FileStream
Delphi-Quellcode:
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;
Das sollte normalerweise funktionieren.
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!
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#15

Re: dynamischen Array laden

  Alt 2. Nov 2006, 11:53
sorry hattest recht, hatte was übersehen, so sollte es gehen...

Delphi-Quellcode:
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;
[edit] arraygröße!
  Mit Zitat antworten Zitat
Larky

Registriert seit: 9. Okt 2006
Ort: Leichlingen
13 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: dynamischen Array laden

  Alt 2. Nov 2006, 12:56
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!
Jasmin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz