Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Text in Listbox an eine bestimmte Stelle setzen (https://www.delphipraxis.net/33698-text-listbox-eine-bestimmte-stelle-setzen.html)

Superior 11. Nov 2004 12:45


Text in Listbox an eine bestimmte Stelle setzen
 
Hallo,

ich habe folgendes Problem beim Schreiben eines Delphi-Programms:

Ich will eine Art Telefonliste programmieren. Auf der Oberfläche befinden sich 2 Edits und 1 Listbox.
In das 1. Edit gibt man den Namen der Person ein und in das 2. Edit die Telefonnummer. Bei Klick auf einen Button soll in der Listbox erst der Name und dann die Telefonnummer stehen (also in der gleichen Zeile).
Damit das Ganze übersichtlicher wirkt, sollen nachher aber sowohl die Namen sowie auch die Telefonnummern genau untereinander stehen. Bei Word wäre es also so als ob man immer die 'Tab-Taste' drücken würde.
Das Ganze aus dem Grund damit es optisch besser aussieht und übersichtlicher ist.

Ich hoffe ich konnte einigermaßen verständlich machen was ich will.

Ich habe wirklich keine Ahnung wie ich so etwas programmieren soll. Gibt es bei Delphi vielleicht auch so etwas wie eine Art 'Tab-Funktion'?

Ich würde mich sehr über eure Hilfe freuen. Und wenn es geht immer den Quelltext dabei angeben.

Vielen Dank schon einmal im Vorraus

mfg
Superior

jim_raynor 11. Nov 2004 13:00

Re: Text in Listbox an eine bestimmte Stelle setzen
 
Für sowas würde ich dir eine TListView empfehlen. Ist zwar schwieriger zu benutzen kannst aber dann auch noch einzelnen Spalten sortieren und Grafiken anzeigen lassen. Sowie noch einiges mehr.

Sprint 11. Nov 2004 13:03

Re: Text in Listbox an eine bestimmte Stelle setzen
 
Ich würde auch sagen, das da ein TListView angebrachter ist. Und so schwer ist es auch nicht zu bedienen. Hier maö ein kleines Beispiel wie das aussehen könnte.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin

    ListView1.ViewStyle := vsReport;

    with ListView1.Columns.Add do
    begin
      Caption := 'Name';
      Width := 150;
    end;

    with ListView1.Columns.Add do
    begin
      Caption := 'Telefon';
      Width := 100;
    end;

end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin

  with ListView1.Items.Add do
  begin
    Caption := Edit1.Text;
    SubItems.Add(Edit2.Text);
  end;

end;
Zwei TEdit (Edit1, Edit2), ein TButton (Button1) und ein TListView (ListView1).

Superior 11. Nov 2004 13:35

Re: Text in Listbox an eine bestimmte Stelle setzen
 
Ja super. Das klappt schonmal.

Jetzt brauche ich noch 2 Sachen:

1. Wie ordne ich die Namen alphabetisch. Die Telefonnummern sollen sich dann natürlich auch verschieben und beim entsprechenden Namen bleiben.

2. Wie speicher ich die Liste ab und wie kann ich die Liste bei erneutem starten des PRogramms wieder anzeigen lassen?


Vielen Dank schon einmal.

mfg
Superior

Sprint 12. Nov 2004 00:45

Re: Text in Listbox an eine bestimmte Stelle setzen
 
Zitat:

Zitat von Superior
1. Wie ordne ich die Namen alphabetisch. Die Telefonnummern sollen sich dann natürlich auch verschieben und beim entsprechenden Namen bleiben.

Wenn die Liste immer alphabetisch nach Namen sortiert werden soll, dann kannst du im Create Ergeignis der Form dieses hier schreiben...
Delphi-Quellcode:
ListView1.SortType := stText;
Wenn deine Sortierung komplexer werden soll, dann schaue dir mal die Ereignisse ColumnClick, Compare und die Funktion CompareText an.

Zitat:

2. Wie speicher ich die Liste ab und wie kann ich die Liste bei erneutem starten des PRogramms wieder anzeigen lassen?
Klick hier!


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