AGB  ·  Datenschutz  ·  Impressum  







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

aus listbox in edit einschreiben

Ein Thema von Bruce86 · begonnen am 14. Mär 2007 · letzter Beitrag vom 15. Mär 2007
Antwort Antwort
Bruce86

Registriert seit: 14. Apr 2006
Ort: Magdeburg
51 Beiträge
 
#1

aus listbox in edit einschreiben

  Alt 14. Mär 2007, 20:59
hi leute also folgendes problem stellt sich mir gerade: ich schreibe von edits in eine listbox! Um z.b. einen wert zu ändern oder wenn was falsch geschrieben sein sollte, soll aus der listbox wieder in die edits zurückgelesen werden! funktioniert auch irgendwie, aber bei mir wird nur der Name zurückgegeben nicht der vorname mehr! hinterlege euch mal den quellcode und nen screenshot fällt euch vllt ein was da falsch ist?

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject); //Hinzufügen
begin
ListBox1.Items.Add( NameEdit.Text+', '+VornameEdit.Text);
NameEdit.Text := '' ;
VornameEdit.Text := '' ;
privatEdit.Text := '' ;
mobilEdit.Text := '' ;
NameEdit.SetFocus;
end;

procedure TForm1.Button2Click(Sender: TObject); //Ändern
begin
if ListBox1.ItemIndex <> -1
   then
      begin
        ListBox1.Items.Insert(ListBox1.ItemIndex, NameEdit.Text+', '+VornameEdit.Text);
        ListBox1.Items.Delete(ListBox1.ItemIndex);
      end
   else ShowMessage('Es wurde kein Eintrag zum Ändern markiert');
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var s: string;
    p: integer;
begin
  if ListBox1.ItemIndex >-1
     then
       begin
         s := ListBox1.Items[ListBox1.ItemIndex];
         p := Pos (',' , s);
         NameEdit.Text := Copy(s,1,p-1);
         Delete (s,1,p+1);
         p := Pos (',',s);
         VornameEdit.Text := Copy(s,1,p-1);
       end;
end;
Vielen dank für eure hilfe

Bruce86
Miniaturansicht angehängter Grafiken
screen_125.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: aus listbox in edit einschreiben

  Alt 14. Mär 2007, 21:17
Hi,

geht es so besser?

Delphi-Quellcode:
  s := ListBox1.Items[ListBox1.ItemIndex];
  p := Pos (',' , s);
  NameEdit.Text := Copy(s,1,p-1);
  VornameEdit.Text := Copy(s,p+ 1,length(s)- p);
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: aus listbox in edit einschreiben

  Alt 14. Mär 2007, 21:22
een machteburjer

was sagt denn der Debugger ?

der Fehler liegt hie rim Delete.
Delphi-Quellcode:
         s := ListBox1.Items[ListBox1.
         p := Pos (',' , s);
         NameEdit.Text := Copy(s,1,p-1);
         Delete (s,1,p+1);
         p := Pos (',',s);
         VornameEdit.Text := Copy(s,1,p-1);
Das Delete kann eh ganz raus.

Mit Pos ermittelst du die Positon des Kommas.
Das erste Copy (p-1) kopiert bis vor das Komma (also den Namen),
das zweite Copy änderst du in Copy(s, p+1, Length(s));


Delete nicht vergessen zu löschen.

Generell ist es keine gute Idee, aus dem Komma auf Name/Vorname
zu schliessen.
Was wenn einer im Editor selbst ein Komma eingibt ???

Ich würde die Daten in einer eigenen Klasse (TList) halten,
jede Person erhält eine eigenen Klasseneintrag (TPerson = class)
mit seinen Daten.
Die Objekte selber könnten in ListBiox.Objects hinterlegt werden
oder du nimmst nen TListView (dort gibt es ListIte,Data).


Heiko
Heiko
  Mit Zitat antworten Zitat
Bruce86

Registriert seit: 14. Apr 2006
Ort: Magdeburg
51 Beiträge
 
#4

Re: aus listbox in edit einschreiben

  Alt 14. Mär 2007, 21:37
Der debugger hat ja beben net gemeckert das war ja das problem!

Heiko du hast sicherlich recht dass es mit Klassen besser wäre würde ich ja sonst auch so machen aber wenn der lehrer das net will genauso wie das speichern nicht mit datenbanken geschehen soll was wesentlich einfacher wäre muss man es eben dem anpassen was der lehrer will aber danke für die info!

Funktioniert übrigens jetzt! vielen dank!!!!
  Mit Zitat antworten Zitat
15. Mär 2007, 10:55
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Es geht um Delphi.
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: aus listbox in edit einschreiben

  Alt 15. Mär 2007, 10:59
Hallo,

ein Debugger meckert ja auch nicht,
eher der Compiler.

Was ich meinte war das zeilenweise Debuggen +watch
(F5, Strg+F5, F7, F8).
Dann hättest du den Fehler gesehen,


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:18 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