Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ListBox Grundlagen (https://www.delphipraxis.net/41169-listbox-grundlagen.html)

C64-Flo 27. Feb 2005 11:45


ListBox Grundlagen
 
Verzweiflung.

:cry:


Ich möchte gerne eine ListBox in mein Proggy implementieren... allerdings fehlen mir einige Grundlagenkenntnisse hierzu.

Als autodidakt habe ich immer wieder mal das Problem, zu simple Fragen zu haben...
:cat:
Professionelle Programmierer (..und auch die ´Delphi-Hilfe´ :? ) verstehen daher meine Unklarheiten nicht so ganz..
("..den Wald vor Bäumen nicht sehen..?")


Daher meine Frage:

Kann mir jemand ein einfaches Tutorial zu Listboxes empfehlen?

Mir fehlen einfach die Grundmethoden/Anweisungen wie
- items einlesen
- ListBoxes auslesen
- items entfernen
- erkennen, welches item angewählt ist
usw usf

Ich wäre Euch echt dankbar dafür!
:dp:

Stanlay Hanks 27. Feb 2005 12:04

Re: ListBox Grundlagen
 
Hi.
  • items einlesen
    ListBox1.Items stellt dir eine Auflistung aller Einträge zur Verfügung. Du kann auf jedes Item mit einem Index zugreifen. Der Index beginnt bei 0, das heißt, der erste Eintrag hat den Index 0, der zweite 1, der zehnte den Index 9.
    Delphi-Quellcode:
    ListBox1.Items[1]; //Liefert den Eintrag Nummer 2.
  • ListBoxes auslesen
    Um alle Einträge durchzugehen, verwendet du am besten eine for Schleife. Der folgende Code geht alle Einträge einer listBox durch und überprüft (als Beispiel), ob der Eintrag "Test" heißt.
    Delphi-Quellcode:
    var i : Integer;
    begin
    for i := 0 to ListBox1.Items.Count -1 do //ListBox1.Items.Counr gibt dir an, wieviele Einträge eine ListBox hat. -1, weil der Index bei 0 beginnt.
      begin
      if ListBox1.Items[i] = 'Test'
        then
          begin
          .
          .
          .
          end;
      end;
    Willst du z.B. überprüfen, ob ein Eintrag ein bestimmter String ist und diesen dann löschen, ist eine while Schleife besser geeignet, da sich die Anzahl der Einträge ändert, wenn du etwas aus der Liste löschst:

    Delphi-Quellcode:
    var i : Integer;
    begin
      i := 0;
      while i <> ListBox1.Items.Count do
      begin
        if ListBox1.Items[i] = "Test"
          then
            ListBox1.Items.Delete(i)
          else
            i := i + 1;
      end;
    end;
    Zum Speichern der Einträge in einer simplen Text Datei gibt es die Methode "SaveToFile":

    Delphi-Quellcode:
    ListBox1.Items.SaveToFile('C:\Test.txt');
    Zum Laden verwendest du "LoadFromFile" statt SaveToFile.
  • items entfernen
    Dazu gibt es die Methode Delete.

    Delphi-Quellcode:
    ListBox1.Items.Delete(1)
    löscht Eintrag Nummer 2.
  • erkennen, welches item angewählt ist
    Dabei hilft dir ListBox1.ItemIndex. Wie bei Punkt 1 gilt: Ist der ItemIndex 1, ist der zweite Eintrag ausgewählt.

Man liest sich, Stanlay :hi:

C64-Flo 27. Feb 2005 12:06

Re: ListBox Grundlagen
 
:-D


Genau das, was ich gesucht habe!

Vielen Dank Stanlay! :cheers:

arbu man 27. Feb 2005 12:11

Re: ListBox Grundlagen
 
Noch ein paar ergenzungen
Delphi-Quellcode:
// items Hinzufügen
  listbox1.Items.Add('Eine Zeile');// eine Zeile einfügen
  listbox1.Items.LoadFromFile('Zeilen.txt');// Zeilen aus Datei Laden
  // items entfernen
  listbox1.DeleteSelected;//löscht das grade markierte item
  listbox1.Items.Delete(3{Irgent ein Zahl});// löscht ein item nach index nummer
  // item erkennen
  // für 'Was weiss ich' den text der zeile einsetzen von der du weissen möchtst ob sie makiert ist
  if listbox1.Items[listbox1.ItemIndex]='Was weiss ich' then //anweisung hier;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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