Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Array vom Inhalt einer Listbox (https://www.delphipraxis.net/95751-array-vom-inhalt-einer-listbox.html)

Testy 12. Jul 2007 14:59


Array vom Inhalt einer Listbox
 
Hallo an Alle!

Ich habe eine gefüllte Listbox (im Zahlenformat TDateTime z.B. "00:13:34").
Nun möchte ich den Inhalt der Listbox in ein Array einlesen lassen. Aber ich habe keine Ahnung welchen Datentyp ich dafür nehmen soll?!
Delphi-Quellcode:
time:array[1..100] of TDateTime;
So geht's wohl anscheinend nicht!

Und meine zweite Frage ist, wenn ich das Array mit den Daten habe, dann soll er mir in einer Schleife z.B. die ersten 30 Einträge zusammen addieren!

Danke im voraus!

Gruß!

mkinzler 12. Jul 2007 15:04

Re: Array vom Inhalt einer Listbox
 
Grundsätzlich schon, man darf halt nur keine reservierten Wörter (time) verwenden:
Delphi-Quellcode:
zeiten:array[1..100] of TDateTime;

Testy 12. Jul 2007 15:10

Re: Array vom Inhalt einer Listbox
 
Wenn ich dann aber das Array füllen möchte mit:
Delphi-Quellcode:
for i:=1 to listbox1.Count-1 do
begin
zeiten[i]:=memo1.Lines[i];
end;
Dann kommt immer der Fehler: Inkompatible Typen: 'TDateTime' und 'String'


Gruß!

Tormentor32 12. Jul 2007 15:13

Re: Array vom Inhalt einer Listbox
 
Hier im Forum suchenStrToDateTime

Testy 12. Jul 2007 15:23

Re: Array vom Inhalt einer Listbox
 
Sorry, hatte einen Fehler. Ich meinte natürlich nicht das Memo sondern:
Delphi-Quellcode:
for i:=1 to listbox1.Count-1 do
begin
zeiten[i]:=strtoTime(listbox2.Items[i]);
end;
Jetzt gehts erst einmal von der Syntax. Aber nun schreibt er: Listenindex überschreitet das Maximum (59)!

"zeiten" ist meine globale Variable

Delphi-Quellcode:
 zeiten:array[1..200] of TDateTime;

Gruß!

Testy 12. Jul 2007 15:25

Re: Array vom Inhalt einer Listbox
 
Hat sich erledigt. Habe den Fehler selber gefunden!
Habe jetzt nur noch die Frage, wie kann ich z.B. die ersten 30 Einträge in dem Array zusammen addieren kann!
Möglichst mit einer Schleife!

Tormentor32 12. Jul 2007 15:27

Re: Array vom Inhalt einer Listbox
 
Anmerkung: Das erste Item der Listbox hat den Index 0, so übergehst du immer das erste Item!

Zu deinem Fehler:
Delphi-Quellcode:
for i:=1 to listbox1.Count-1 do //Listbox 1
begin
zeiten[i]:=strtoTime(listbox2.Items[i]); //Listbox 2
end;
Edit: Habs abgesendet wegen dem Tipp
Delphi-Quellcode:
for i := 1 to 30 do
  myDoubleVariable := myDoubleVariable+Zeiten[i]

Testy 12. Jul 2007 15:35

Re: Array vom Inhalt einer Listbox
 
Irgendwie funtkioniert es noch nicht so!
Ich habe jetzt:
Delphi-Quellcode:
for i:=0 to listbox2.Count-1 do
begin
zeiten[i]:=strtoTime(listbox2.Items[i]);
end;
Wenn ich das Array auslese kommt nur unsinniges bei raus!

Gruß!

xZise 12. Jul 2007 16:23

Re: Array vom Inhalt einer Listbox
 
1. Wenn du Zeiten
Delphi-Quellcode:
[1..100]
deklarierst dann solltest du auch auf 1+ zugreifen. Du greifst aber ab 0 drauf zu
2. Hat die Listbox auch 100 einträge?

Chemiker 12. Jul 2007 16:45

Re: Array vom Inhalt einer Listbox
 
Hallo Testy,

Du muss die Deklaration vom Array ändern, oder die For-Schleife :

Delphi-Quellcode:
time:array[0..99] of TDateTime;    // nicht [1..100]
oder das einlesen ändern:

Delphi-Quellcode:
for i:=0 to listbox2.Count-1 do  
begin
  zeiten[i+1]:=strtoTime(listbox2.Items[i]);  // nicht zeiten[i] = 0 
end;
Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 Uhr.
Seite 1 von 4  1 23     Letzte »    

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