Telefonbuch mit listbox
Hallo Leute, :o
ich hoffe ihr könnt mir helfen. Ich möchte ein Telefonbuch erstellen, welches die Listbox automatisch nach dem Alpfabeth sortiert und ich brauche eine lösung wie ich den / auf der 5. stelle einfügen kann bei der telefonnummer :wall: :gruebel: Danke schonmal für eure hilfe..... Das habe ich bisher:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s:integer; i:string; begin listbox1.Items.Add(('Name: ')+(edit1.text)+(' ')+(edit3.Text)); listbox1.Items.Add(('Tel.:')+(edit4.Text)); listbox1.Items.Add(('Adresse:')+(' ')+(edit5.text)); end; procedure TForm1.Button3Click(Sender: TObject); begin Listbox1.Items.SaveToFile(Edit2.text); end; procedure TForm1.Button2Click(Sender: TObject); begin Listbox1.Items.LoadFromFile(Edit2.text); end; procedure TForm1.Button4Click(Sender: TObject); begin Close; end; |
Re: Telefonbuch mit listbox
Guck dir mal die Funktion Insert an.
|
Re: Telefonbuch mit listbox
ja und wie mach ich das mit insert ich hab wirklich wenig erfahrung mit dem programmieren
bitte gib mir mal ein beispiel gruß simon |
Re: Telefonbuch mit listbox
ListBox.Items.Add fügt den Eintrag am Ende ein, ListBox.Items.Insert(String,Index) fügt den String an Position Index (Index beginnt bei 0) ein.
|
Re: Telefonbuch mit listbox
Zitat:
meinst ungefähr sowas:
Delphi-Quellcode:
listbox1.sorted := true;
mfg |
Re: Telefonbuch mit listbox
Das wird nicht funktionieren, da dann alle Namen, alle Vornamen etc. untereinander stehen.
|
Re: Telefonbuch mit listbox
Ich würde das aber auch net in ne Listbox packen, ein StrinGrid wäre doch viel besser. Oder eine ListBox welche dann die anderen Daten hinterher ausliest und in Edits darstellt.
Aber zurück zum thema: ich würde die Daten in eine reocrd packen, dann von der TList sortieren lassen. und nach dem Sortieren wieder in die ListBoX eintragen... Thorben |
Re: Telefonbuch mit listbox
Jo sowas meine ich aber so das vorname, nachname, telenr.,Adresse untereinander stehen bleiben
so das delpfi die namen sortiert und der rest bei den namen stehen bleibt thx |
Re: Telefonbuch mit listbox
Zitat:
|
Re: Telefonbuch mit listbox
Er will keinen Eintrag an eine vorgegebenen Stelle in der Listbox einfügen, sondern in der Zeichenkette mit der Telefonnummer an der fünften Stelle einen "/" einfügen. Und das tut die Funktion Insert. Hätte ich die Methode Insert von TItems gemeint, hätte ich das auch so geschrieben.
|
Re: Telefonbuch mit listbox
Zitat:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type PAdresse = ^TAdresse; TAdresse = record Name, Vorname, Telefon, Anschrift: String; end; TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; lblName: TLabel; edtName: TEdit; lblTelefon: TLabel; edtTelefon: TEdit; lblVorname: TLabel; edtVorname: TEdit; lblAdresse: TLabel; edtAnschrift: TEdit; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } AdressListe: TList; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function MySort(Item1,Item2: Pointer): integer; begin Result := AnsiStrIComp(PChar(PAdresse(Item1)^.Name),PChar(PAdresse(Item2)^.Name)); end; procedure TForm1.FormCreate(Sender: TObject); begin AdressListe := TList.Create; end; procedure TForm1.FormDestroy(Sender: TObject); begin AdressListe.Free; end; procedure TForm1.Button1Click(Sender: TObject); var Adresse: PAdresse; i: integer; begin ListBox1.Items.BeginUpdate; try Adresse := new(PAdresse); with Adresse^ do begin Name := edtName.Text; Vorname := edtVorname.Text; Telefon := edtTelefon.Text; Anschrift := edtAnschrift.Text; end; AdressListe.Add(Adresse); AdressListe.Sort(@MySort); ListBox1.Items.Clear; for i := 0 to AdressListe.Count - 1 do begin ListBox1.Items.Add(Format('Name: %s',[PAdresse(AdressListe[i])^.Name])); ListBox1.Items.Add(Format('Vorname: %s',[PAdresse(AdressListe[i])^.Vorname])); ListBox1.Items.Add(Format('Telefon: %s',[PAdresse(AdressListe[i])^.Telefon])); ListBox1.Items.Add(Format('Anschrift: %s',[PAdresse(AdressListe[i])^.Anschrift])); ListBox1.Items.Add(''); ListBox1.Items.Add('--------------------'); end; finally ListBox1.Items.EndUpdate; end; end; end. |
Re: Telefonbuch mit listbox
THX bin zutiefst beeindrucked von der community hier und von euren können
Ziehe meinen Hut THX :shock: :mrgreen: |
Re: Telefonbuch mit listbox
hat einen kleinen fehler den ich auch die ganze zeit über hatte
Zitat:
das problem daran ist .;,() ect funtz nich so hatte ich das schonmal ... |
Re: Telefonbuch mit listbox
OK, kleine Ergänzung:
Delphi-Quellcode:
Sry, falsch herum, es muss heißen
with Adresse^ do
begin Name := edtName.Text; Vorname := edtVorname.Text; Telefon := edtTelefon.Text; Insert(Telefon,'/',4); Anschrift := edtAnschrift.Text; end;
Delphi-Quellcode:
Insert('/',Telefon,4);
|
Re: Telefonbuch mit listbox
hallo deddyH ich hab das jetzt mal komplett so gemacht wie du es gesagt hast
aber er macht wenn ich button 1 clicke nixxxxxxx why ?? |
Re: Telefonbuch mit listbox
Moin, Moin Simon.
Hast du dem Button auch das Click-Event zugewiesen????????? Gruß Ralph |
Re: Telefonbuch mit listbox
Das reicht aber nicht ganz, er muss alle Methoden zuweisen, sonst knallt es gar furchtbar (Liste noch nicht instanziiert).
|
Re: Telefonbuch mit listbox
Hi,
an DeddyH's Code ist eigentlich alles ok. Zur Not mach am Schluß noch mal ein Invalidate auf die Listbox (nach EndUpdate). Sollte aber eigentlich nicht nötig sein. Ich bevorzuge an dieser Stelle aber auch eher ListView's. Gruß oki |
Re: Telefonbuch mit listbox
Zitat:
|
Re: Telefonbuch mit listbox
Vielen Dank Euch Beiden......
THX Funtz jetzt endlich.... Bin nämlich dabei ein paar tools für meine Mum auf arbeit zu erstellen..... THx melde mich später nochmal :witch: :dancer2: :dancer: :hi: :thumb: :thumb: :thumb: :thumb: :thumb: :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 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