AGB  ·  Datenschutz  ·  Impressum  







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

Array vom Inhalt einer Listbox

Ein Thema von Testy · begonnen am 12. Jul 2007 · letzter Beitrag vom 12. Jul 2007
Antwort Antwort
Seite 2 von 4     12 34      
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:04
Hallo,

die Einträge einer ListBox sind zahlenmäßig nicht festgelegt. Wenn dann ein Array als Speicherstruktur herhalten soll, dann ist da ein dynamisches Array sehr vorteilhaft:

Delphi-Quellcode:
function StrToTimeArray(s: TStrings): TDoubleDynArray;
var
  index: Integer;
begin
  SetLength(Result, s.Count);
  for index := Low(Result) to High(Result) do
    Result[index] := StrToTime(s[index]);
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  dda: TDoubleDynArray;
  total: Double;
begin
  dda := StrToTimeArray(RichEdit.Lines);
  total := Math.Sum(Copy(dda, 0, 3));
  ShowMessage(TimeToStr(total));
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Testy
Testy

Registriert seit: 2. Mär 2007
56 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:06
Ich habe es jetzt so:

  zeiten:array[1..300] of TDateTime;
Delphi-Quellcode:
for i:=1 to listbox2.Count-1 do
begin
zeiten[i]:=strtotime(listbox2.Items[i-1]);
end;
Uns so geht es auch!

Zitat:
2. Hat die Listbox auch 100 einträge?
Das ist noch das Problem! Weil die Listbox immer eine andere Anzahl von Einträgen hat! Habe mal was von variablen Arrays gehört. Wie kann ich das machen, wenn ich dir Größe nicht vorher weiss.
Danke für die Mühe!!!!

Gruß!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:24
Siehe #11 (marabu war schneller)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Testy
Testy

Registriert seit: 2. Mär 2007
56 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:41
Wie funktioniert das von marabu!? Kann dort mit vielen Befehlen nicht viel anfangen!
Gibt es nichts einfacheres? Wo man z.B. die obere Grenze eines Arrays mit listbox1.count-1 festlegen kann.

Gruß!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:48
Die Größe legst Du mit SetLength() fest. Ansonsten sag doch mal, was Du nicht verstehst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Testy
Testy

Registriert seit: 2. Mär 2007
56 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:52
Ich verstehe nicht was die Function macht! Wo liest sie die Daten aus der Listbox ein?
Und in der Procedure:
Delphi-Quellcode:
  dda := StrToTimeArray(RichEdit.Lines);
  total := Math.Sum(Copy(dda, 0, 3));
Was wird da zusammen addiert?

Kann ich das nicht einfach dann so machen:
SetLength(listbox1.count-1) ????

Gruß!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 17:59
Ich habe Dir mal ein sinnfreies Beispiel erstellt:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  //Dynamisches Array als Datentyp definieren
  TDynArray = array of TDateTime;

  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    //Als Objektvariable definieren
    DynArray: TDynArray;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  //Benötigte Größe setzen
  SetLength(DynArray,ListBox1.Items.Count);
  //Array füllen
  for i := 0 to ListBox1.Items.Count - 1 do
    DynArray[i] := StrToTime(ListBox1.Items[i]);
end;

end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 18:02
Hallo,

RichEdit.Lines hat den gleichen Typ wie ListBox.Items - man kann die beiden also austauschen.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 18:06
Hi marabu,

falls Du mich damit meinst: das ist mir schon bekannt, aber ich wollte es für den Fragesteller etwas einfacher machen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Testy
Testy

Registriert seit: 2. Mär 2007
56 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: Array vom Inhalt einer Listbox

  Alt 12. Jul 2007, 18:09
Habe einen Fehler: "Im Projekt ist eine Exception der Klasse EAccesViolation aufgetreten. Meldung: Zugriffsverletzung bei Adresse...."
Und markiert wird dann anschließend diese Zeile hier:
DynArray[i] := StrToTime(ListBox2.Items[i]); Gruß!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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