AGB  ·  Datenschutz  ·  Impressum  







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

Daten in Arrays speichern?

Offene Frage von "Darko"
Ein Thema von Darko · begonnen am 11. Nov 2008 · letzter Beitrag vom 11. Nov 2008
Antwort Antwort
Darko

Registriert seit: 12. Mai 2008
39 Beiträge
 
Delphi 7 Enterprise
 
#1

Daten in Arrays speichern?

  Alt 11. Nov 2008, 19:27
Hallo Leute!
Ich denke, dass es nun Zeit ist für Arrays.
Ich will Daten bestimmte Daten später erneut abrufen können. Diese muss ich irgendwo zwischenspeichern. Da ich dafür schlecht jedes mal eine neue Variable auf machen kann, denke ich, dass hier Arrays wohl angebracht wären. Da ich aber noch nie damit gearbeitet habe, steh ich grad etwas aufm Schlauch.

Delphi-Quellcode:
 if (Pos('*',QuAbwesend.FieldByName('NAME').AsString)<>0) then begin
  SetLength(abteilung_abw,1);
  SetLength(stunden_abteilung_abw,1);
  SetLength(grund_abteilung_abw,1);

  abteilung_abw[iAbt_Abw] := QuAbwesend.FieldByName('NAME').AsString;
  stunden_abteilung_abw[iAbt_Abw] := QuAbwesend.FieldByName('STUNDEN').AsString;
  grund_abteilung_abw[iAbt_Abw] := QuAbwesend.FieldByName('GRUND').AsString;

  Inc(iAbt_Abw);
 end;

Bei diesem Code bekomme ich einen Zugriffsfehler, nur habe ich gerade keine Ahnung warum, da mir Arrays total fremd sind. Ich habe die 3 Arrays auch einfach auf gut Glück als Array of String deklariert, is das richtig?

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
Ralf-Michael
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Datan in Arrays speichern?

  Alt 11. Nov 2008, 19:32
was ist denn iAbt_Abw?
Du setzt die Länge jedesmal auf 1, willst es aber vermutlich um 1 erhöhen. Dan müsstest du stattdessen length(MyArray)+1 verwenden.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Darko

Registriert seit: 12. Mai 2008
39 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Datan in Arrays speichern?

  Alt 11. Nov 2008, 20:07
Hallo,

iAbt_Abw sollte ein interner Zähler sein, wie lang dieser Array nun ist. Vor der Prozedur wird dieser Wert auf 0 gesetzt.
Ralf-Michael
  Mit Zitat antworten Zitat
Darko

Registriert seit: 12. Mai 2008
39 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Datan in Arrays speichern?

  Alt 11. Nov 2008, 20:13
Vielleicht liegt hier ja auch der Fehler (es steht noch irgendwas von Lesen in der Fehlermeldung und eine tolle Adresse ):

Delphi-Quellcode:
 if NOT (iAbt_Abw=0) then begin
  WriteLn(Datei,'<tr>');
  WriteLn(Datei,'<td width="33%">Abteilung</td>');
  WriteLn(Datei,'<td width="33%">Stunden</td>');
  WriteLn(Datei,'<td width="34%">Grund</td>');
  WriteLn(Datei,'</tr>');

  for iAbt_Abw_Druck:=0 to iAbt_Abw do begin
    WriteLn(Datei,'<tr>');
    WriteLn(Datei,'<td width="33%">'+abteilung_abw[iAbt_Abw_Druck]+'</td>');
    WriteLn(Datei,'<td width="33%">'+stunden_abt_abw[iAbt_Abw_Druck]+'</td>');
    WriteLn(Datei,'<td width="34%">'+grund_abt_abw[iAbt_Abw_Druck]+'</td>');
    WriteLn(Datei,'</tr>');
  end;
 end;
Ralf-Michael
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Datan in Arrays speichern?

  Alt 11. Nov 2008, 20:31
Vielleicht sollte es besser
  for iAbt_Abw_Druck:=0 to iAbt_Abw-1 do begin heissen€
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:52 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