Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Mehreren Buttons einen Code zuweisen (https://www.delphipraxis.net/206616-mehreren-buttons-einen-code-zuweisen.html)

julchen 12. Jan 2021 14:03

Mehreren Buttons einen Code zuweisen
 
Hallo,

Ich muss eine Liste bearbeiten.
Aus der einen Liste sollen mehrere Listen werden, die sich in bestimmten Details unterscheiden.

Ich habe also ein PageControl erstellt mit mehreren Tabs die jeweils ein Memo enthalten.
Jenachdem, was ich gerade für eine Liste brauche, kopiere ich meinen Originaltext in das jeweilige Memo.

In der Ursprungsliste sind aber Fehler enthalten, die ich für jede meiner Listen korrieren muss.
Ich habe also drei Buttons Fehlerkorrektur, wo ich zum Beispiel mit Stringreplace Vorname und Nachname tauschen muss.

Also muss ich auch den Code von drei Buttons pflegen, wo jedesmal das gleiche drin steht.
Ist nicht die Welt, aber könnte ich nicht mit jedem Klick immer wieder auf den gleichen Code zeigen,
der meine Korrektur macht?
VG, Julia

DeddyH 12. Jan 2021 14:05

AW: Mehreren Buttons einen Code zuweisen
 
Einfachste Lösung: Routine für einen einzelnen Button schreiben und diesen ClickHandler im Objektinspektor einfach allen anderen Buttons zuweisen.

dummzeuch 12. Jan 2021 14:07

AW: Mehreren Buttons einen Code zuweisen
 
Zitat:

Zitat von julchen (Beitrag 1480850)
Also muss ich auch den Code von drei Buttons pflegen, wo jedesmal das gleiche drin steht.
Ist nicht die Welt, aber könnte ich nicht mit jedem Klick immer wieder auf den gleichen Code zeigen,
der meine Korrektur macht?

Zwei Möglichkeiten:
  1. Code in eine Methode verschieben und diese aus den jeweiligen Event-Handlern aufrufen
  2. Denselben Eventhandler allen Buttons zuweisen (Dropdown im Objektinspektor)

Moombas 12. Jan 2021 14:08

AW: Mehreren Buttons einen Code zuweisen
 
Wenn ich das richtig verstehe, müssen deine Buttons aber dennoch jedesmal auf das richtige (andere) Memo zeigen. Richtig?

himitsu 12. Jan 2021 14:13

AW: Mehreren Buttons einen Code zuweisen
 
Joar, entweder Manuell über PageControl.ActivePage-Name eine Übersetzung zu Memo-Name,

oder über PageControl.ActivePage.Controls das jeweilige Memo auf der aktuellen Seite suchen.



PS: Da alle Seiten "identisch" aufgebaut sind, warum dann nicht einfach nur ein Memo verwenden?
Also ein TTabControl (kein TPageControl/TTabSheet), darauf ein Memo und über TabControl.ActivePageIndex entscheiden was jeweils ins Memo gehört. (OnChange des TabControl nicht vergessen)

generic 12. Jan 2021 14:17

AW: Mehreren Buttons einen Code zuweisen
 
Moin, das ist ganz einfach.
Der Code im Button wird ja über das onClick-Event ausführt.
Du kannst in der IDE bei den anderen Knöpfen die gleiche Methode zuweisen.
Du musst die Methode auch nicht Button1Click nennen. Das kannst den Namen in der IDE im Objektinspektor anpassen. Dann ist es auch schöner, wenn die Methode mehrfach verwendet wird.

Die Zuweisung geht auch per Quelltext, wenn du willst.

Es erkläre Hintergründe was da passiert in diesem Video:
https://www.youtube.com/watch?v=7PL_H2aBUOI

julchen 12. Jan 2021 14:18

AW: Mehreren Buttons einen Code zuweisen
 
Vielen Dank,

OnClick Ereignisse funktioniert.

Ich hätte auch selber drauf kommen können. :wall:


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