AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Liste

Ein Thema von Poring · begonnen am 9. Nov 2007 · letzter Beitrag vom 9. Nov 2007
Antwort Antwort
Seite 3 von 5     123 45      
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#21

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:34
Oki danke, nur wie mache ich eine TStringList? Find ich einfach nicht. Das einzigste was ich habe ist eine TStringGrid

EDIT:
In TList geht add auch irgendwie nicht
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  List: TListBox;
begin
  List:=TListBox.Create;
  try
    List.Add(Edit1.Text);
  finally
    List.Free;
  end;
end;
[Fehler] Unit1.pas(32): E2035 Nicht genügend wirkliche Parameter
[Fehler] Unit1.pas(34): E2003 Undefinierter Bezeichner: 'Add'
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#22

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:39
TStringList ist nicht visuell. Entweder gleich 'ne TListBox oder (was besser ist) Code und Ausgabe trennen.
Delphi-Quellcode:
uses Classes;

var
  mySL: TStringList;

begin
  mySL := TStringList.Create;
  mySL.AddObject ('Test', TObject (5));
  mySL.AddObject ('Test1', TObject (10));
  mySL.AddObject ('Test2', TObject (7));

  ListBox1.Assign (mySL);

  FreeAndNil(mySL);


  showmessage (inttostr (Integer (ListBox1.Objects[0]))); // 5
  showmessage (inttostr (Integer (ListBox1.Objects[1]))); // 10
  showmessage (inttostr (Integer (ListBox1.Objects[2]))); // 7
end;
// ungetestet
Edit:
TList ist keine TListBox.
Die ListBox musste aus dem Komponenten-Reiter "Standard" auf deine Form ziehen.
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#23

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:45
[Fehler] Unit1.pas(7): E2004 Bezeichner redefiniert: 'Classes'


Ich hab bei Standard nur eine TListBox drin
Ehm ja, verlesen. Hab ne TListBox drin aber wie gesagt dort kommt der Fehler
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#24

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:47
Bitte nicht ganz so hilflos.

Entferne halt das "uses Classes" wieder, scheinbar wird die Unit oben schon eingebunden.

Edit:
Ja, TList wäre auch nicht visuell. TListBox - kann man mal so grob sagen - ist die visuelle Implementierung von TList/TStringList.
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#25

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:51
Argh sry, steht ja schon drin (Classes).
Nun bekomme ich trozdem ein Fehler ab:
ListBox1.Assign (mySL);

[Fehler] Unit1.pas(31): E2003 Undefinierter Bezeichner: 'ListBox1'
[Fehler] Unit1.pas(31): E2008 Inkompatible Typen
[Fehler] Unit1.pas(36): E2029 ')' erwartet, aber Bezeichner 'Objects' gefunden
[Fehler] Unit1.pas(39): E2029 '.' erwartet, aber ';' gefunden
[Fataler Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

Ich hab doch ne ListBox1
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#26

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:53
Du wirst wahrsch. versuchen, den Code nicht als Methode deiner Form1 auszuführen? Also du hast ihn wahrsch. kopiert und unten vor das end. oder so gesetzt. Das geht net ...

Der Code muss in deiner Klasse sein. Also am besten 'n Button auf die Form machen, Doppelklick und dort den Code dann (inkl. var) rein.
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#27

Re: Problem mit Liste

  Alt 9. Nov 2007, 14:58
Hab mir doch gedacht das dort was nicht stimmt xD
Gut nu hab ich es in: procedure TForm1.Button1Click(Sender: TObject); rein
Nu bekomme ich jedoch nen Fehler bei:

showmessage (inttostr (Integer (ListBox1.Objects[0]))); // 5
showmessage (inttostr (Integer (ListBox1.Objects[1]))); // 10
showmessage (inttostr (Integer (ListBox1.Objects[2]))); // 7

[Fehler] Unit1.pas(42): E2003 Undefinierter Bezeichner: 'Objects'

entferne ich diese paar Zeilen, starte und drücke den button:
*Im Projekt Project1.exe ist eine Exception der Klasse EConvertError mit der Meldung 'TStringList kann nicht zu TListBox zugewiesen werden' aufegtreten.*

*seufz*

Och Manno

edit: mit diesem mysl kenne ich mich gar nich aus
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#28

Re: Problem mit Liste

  Alt 9. Nov 2007, 15:36
1.) Statt ListBox1.Objects ListBox1.Items.Objects
2.) Statt ListBox1.Assign (mySL) ListBox1.Items.Assign (mySL)

Wenn du dich womit nicht ausgekennst, mit Cursor rein und F1 drücken.
  Mit Zitat antworten Zitat
Poring

Registriert seit: 7. Nov 2007
104 Beiträge
 
#29

Re: Problem mit Liste

  Alt 9. Nov 2007, 15:47
Wenn ich in der Hilfe mySL eingebe zeigt er mir gar nix an

Nun gehts ^^
Nur sind die nicht nach dem Wert sortiert
Habs damit auch getestet:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  mySL := TStringList.Create;
  ListBox1.Sorted:=True;
  mySL.AddObject ('Test', TObject (5));
  mySL.AddObject ('Test1', TObject (10));
  mySL.AddObject ('Test2', TObject (7));
  ListBox1.Items.Assign(mySL);
Sortiert nur nichts
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#30

Re: Problem mit Liste

  Alt 9. Nov 2007, 16:06
"mySL" ist auch kein Delphi-Element sondern eine Variable vom Typ TStringList. Dazu findest du was in der Hilfe. Ich hätte sie statt "mySL" auch "foobar" nennen können.

Sortiert wird die Liste. Nur halt nach dem Text. Wenn du die Liste nach den Werten sortieren willst, musst du auch wieder per Hand ran. Element nach Element auslesen, vergleichen, ggf. tauschen. Stichworte: Bubblesort, Quicksort, ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 17:15 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