AGB  ·  Datenschutz  ·  Impressum  







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

3 Edits, 3 Labels und 3 Listboxen

Ein Thema von Hansa · begonnen am 27. Okt 2004 · letzter Beitrag vom 28. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 21:12
Hi,

es ist zwar einfach, aber nicht so zu erklären. 8) Man stelle sich eine Form vor, die folgendes beinhaltet : 3 Editfelder für Zahlen, jeweils rechts daneben ein Label zur Anzeige. Im Onexit der Edits soll das Label jeweils an die Eingabe angepaßt werden. Die Herkunft der angezeigten Label-Werte kommt aus ein und derselben Quelle. Es ist eine verkettete Liste, aber das ist wohl egal. Im Prinzip unterscheiden sie sich nur außer der Bildschirmposition durch das OnExit.

Ich bräuchte also nur ein OnExit für die 3 Edits, welches aber wissen muß, welches Feld gerade verlassen wurde, um eben die Anzeige zu aktualisieren.

Das nächste ist eine Listbox, die ich wieder bei den 3 Edits optional einblende. Dort soll man dann auch aus der Box mit der Maus die gewünschten Werte auswählen können. Auch der aus der ListBox zu übernehmende Wert muß dann dem richtigen Edit/Label zugeordnet werden.

Klar könnte man das leicht mit 3 Edits/Labbels/Listboxen machen. Aber geht so was auch anders ? Der Source ist nämlich wirklich bis auf ein Wort im OnExit der Edits und im OnClick der Lsitboxen identisch. Also auf deutsch : unnötige Redundanzen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 21:24
Wenn du für alle Edits nur eine OnExit schreiben willst (so hab' ich's verstanden), die dann erkennt, welches Edit das war, dann setzte doch für jedes Feld den Tag auf einen Anderen Wert und überprüfe mit (Sender as TCoontrol).Tag, welches Feld das es war..
  Mit Zitat antworten Zitat
Benutzerbild von MisterNiceGuy
MisterNiceGuy

Registriert seit: 1. Jul 2003
Ort: Mannheim
919 Beiträge
 
Delphi 7 Personal
 
#3

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 21:29
So Hansa, hab jetzt den Text 2x gelesen und (hoffentlich) auch verstanden was du meinst Nur frage ich mich, ob du die Lösung schon hast oder ob du sie herausbekommen möchstest!

Also ich hab keinen Plan ehrlich gesagt
Jonas
Wenn mich jemand sucht, ich bin im Kühlschrank!

Informationen über das Duale Studium
www.jofre.de
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 21:42
DU kannst den edits ja auch einfach ein OnExit zuweisen:

Delphi-Quellcode:
    procedure EditExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.EditExit(Sender: TObject);
begin
  with Sender as TEdit do
    Label1.Caption := Text;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  //auch im OI einstellbar
  //Bei 3 Edits ist das kein problem, ansonsten nimm "FindComponent"
  Edit1.OnExit := EditExit;
  Edit2.OnExit := EditExit;
  Edit3.OnExit := EditExit;
end;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 23:31
Das war der Text vor 1 St. DP nicht erreichbar:

Zitat von MisterNiceGuy:
Also ich hab keinen Plan ehrlich gesagt
Schlaumeier ! Ich frage hier doch nicht, wenn ich wüßte wie das am besten geht. Das mit dem As und Is hört sich nach was an, aber mit dem Kram komme ich immer durcheinander.

Ich weiß wie es geht : siehe Titel. So geht das. Aber wenn ich auch nicht mit Bytes so knauserig bin wie die mit nonVCL. Dann bin ich es aber eher mit Sourcezeilen. Unnötig viele gehen zu Lasten der Übersichtlichkeit und führen zu Tippfehlern. Und das muß nicht sein ! Fast identischen Code mehrfach zu schreiben ist nicht so mein Ding.

Da Matze jetzt noch dazwischengefunkt hat :

Delphi-Quellcode:
procedure TForm1.EditExit(Sender: TObject);
begin
  with Sender as TEdit do
    Label1.Caption := Text;
end;
Hierbei wird das Label1 geändert, aber nur Labe11 und das ist der Punkt, wo ich nicht recht weiterkomme.
Gruß
Hansa
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 27. Okt 2004, 23:35
Ich gehe mal davon aus, dass Edit1.Tag 1 ist, Edit2.Tag ist 2 usw.
Delphi-Quellcode:
procedure TForm1.EditExit(Sender: TObject);
begin
  with Sender as TEdit do
    TLabel(FindComponent('Label' + IntToStr(Tag))).Caption := Text;
end;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 28. Okt 2004, 02:26
Die linke Seite müßte so gehen, aber rechts steht nut := Text; und da kommt es drauf an, wo ich gerade bin.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 28. Okt 2004, 05:24
deswegen hat dax ja auch
with Sender as TEdit do geschrieben, weil das eben bestimmt wo du grad bist

obwohl ich dazu bemerken muss das bei mir merkwürdigerweise jegliche varianten von with-anweisungen nicht funktionieren, nur die komplett ausgeschriebene anweisung
  TLabel(FindComponent('Label'+IntToStr(TEdit(Sender).Tag))).Caption := TEdit(Sender).Text; funktioniert bei mir, weiß der geier warum

[edit]ich bin der einfachheit halber auch davon ausgegangen das Edit1.Tag = 1, Edit2.Tag = 2 usw.[/edit]
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#9

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 28. Okt 2004, 06:33
oder

Delphi-Quellcode:
if TEdit(sender) <> nil
then
  Label1.caption := TEdit(Sender).Text;
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: 3 Edits, 3 Labels und 3 Listboxen

  Alt 28. Okt 2004, 07:25
Hi!

Zitat von Nicodius:
oder

Delphi-Quellcode:
if TEdit(sender) <> nil
then
  Label1.caption := TEdit(Sender).Text;
Eben das geht ja nicht, weil dann nur Label1 immer geändert würde, aber eine entsprechende Lösung steht ja schon da.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:58 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