Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Mehrere Elemente schnell und effizient umbenennen (https://www.delphipraxis.net/201534-mehrere-elemente-schnell-und-effizient-umbenennen.html)

Minz3 30. Jul 2019 09:32

Mehrere Elemente schnell und effizient umbenennen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu Gemeinde,

da ich zur Zeit immer noch fleißig dabei bin Aufgaben zu Delphi zu suchen und online Kurse bewältige, stoße ich ab und an auf Aufgaben zu denen ich noch keinen wirklichen Lösungsansatz finden kann.
Ich möchte gerne 100 Speedbuttons möglichst schnell bzw. automatisiert umbenennen, um sie später verständlich ansprechen zu können.

SpeedButton3 -> Aufgabe1
SpeedButton4 -> Aufgabe2
...
SpeedButton69 -> Aufgabe61

etc.

Gibt es da einen Weg, sowas zu bewerkstelligen?

Grüße!

taveuni 30. Jul 2019 10:06

AW: Mehrere Elemente schnell und effizient umbenennen
 
Die Speedbuttons dynamisch erzeugen und benennen.

Andreas13 30. Jul 2019 10:23

AW: Mehrere Elemente schnell und effizient umbenennen
 
Hallo Alex,
mit <ALT><F12> in den Quellcode der Properties gehen und Schen und Ersetzen verwenden: mittels <Srtrg><R> die vorhandnenen Einträge 'SpeedButton' gegen 'Aufgabe' tauschen.
Gruß, Andreas

Jasocul 30. Jul 2019 10:33

AW: Mehrere Elemente schnell und effizient umbenennen
 
Grundsätzlich von vornherein richtig benennen!
Bei Mini-Test-Programmen nicht ganz so wichtig, aber bei jedem Programm, das später produktiv genutzt werden soll, mache ich mir das von Anfang an zur Verpflichtung.

Wenn es dafür zu spät ist, kann man das Refactoring nutzen. Das nutze ich auch manchmal, wenn sich später herausstellt, dass der Bezeichner doch nicht so gut war.

Minz3 30. Jul 2019 12:01

AW: Mehrere Elemente schnell und effizient umbenennen
 
Zitat:

Zitat von Andreas13 (Beitrag 1438370)
Hallo Alex,
mit <ALT><F12> in den Quellcode der Properties gehen und Schen und Ersetzen verwenden: mittels <Srtrg><R> die vorhandnenen Einträge 'SpeedButton' gegen 'Aufgabe' tauschen.
Gruß, Andreas

Danke dir. Ging leider nicht ganz so einfach, da nach der Bezeichnung der Typ Folgt, welcher TSpeedButton heißt. Damit hätte ich dann AufgabeX : TAufgabeX
Hab es dann per Copy + Paste gelöst. Ging um einiges schneller, als über das Eigenschaftenfenster.

Zitat:

Zitat von Jasocul (Beitrag 1438372)
Grundsätzlich von vornherein richtig benennen!
Bei Mini-Test-Programmen nicht ganz so wichtig, aber bei jedem Programm, das später produktiv genutzt werden soll, mache ich mir das von Anfang an zur Verpflichtung.

Wenn es dafür zu spät ist, kann man das Refactoring nutzen. Das nutze ich auch manchmal, wenn sich später herausstellt, dass der Bezeichner doch nicht so gut war.

Da hast du natürlich Recht. Aber ich sehe auch keinen zeitlichen Vorteil, wenn ich nach dem Erstellen eines Elementes, gleich den Namen vergebe und diesen Vorgang 99x wiederhole, gegenüber alle Elemente zu duplizieren und dann umzubenennen. Oder ist mein Workflow etwas suboptimal?

Zitat:

Zitat von taveuni (Beitrag 1438363)
Die Speedbuttons dynamisch erzeugen und benennen.

Wie meinst du das mit der dynamischen Erzeugung? Per Code (Schleife)?

Uwe Raabe 30. Jul 2019 12:13

AW: Mehrere Elemente schnell und effizient umbenennen
 
Das Umbenennen von Komponenten hat natürlich noch mehr zu erledigen, als einfach nur den Komponentennamen zu ändern. Benutzt man dazu den Objekt-Inspektor wird nicht nur auch noch das Instanzfeld in der Klasse umbenannt, sondern auch alle zu der Komponente gehörenden Events (z.B. SpeedButton1Click). Was dann noch bleibt sind die Referenzen im Sourcecode und den Kommentaren, die ja weiterhin auf SpeedButton1 verweisen und ebenfalls angepasst werden müssen.

Jasocul 30. Jul 2019 12:17

AW: Mehrere Elemente schnell und effizient umbenennen
 
Zitat:

Zitat von Minz3 (Beitrag 1438382)
Aber ich sehe auch keinen zeitlichen Vorteil, wenn ich nach dem Erstellen eines Elementes, gleich den Namen vergebe und diesen Vorgang 99x wiederhole, gegenüber alle Elemente zu duplizieren und dann umzubenennen. Oder ist mein Workflow etwas suboptimal?

Achso, du duplizierst gleich am Anfang alle Elemente, die du brauchst und willst dann systematisch umbenennen. Dabei ist dir der manuelle Aufwand im Anschluss zu groß. Ich hatte das etwas anders verstanden und dachte, dass du erst nach ein paar Tagen programmieren feststellst, dass du die mal langsam umbenennen musst.

Mir fällt kaum ein Fall ein, wo das für mich sinnvoll wäre, da die Bezeichner sprechend sein sollen. Aber ich glaube, ich würde in so einem Fall tatsächlich ein Miniprogramm schreiben, dass die Bezeichner in der DFM- und PAS-Datei nach meinen Vorstellungen umbenennt.

Rainer Wolff 30. Jul 2019 12:38

AW: Mehrere Elemente schnell und effizient umbenennen
 
Zitat:

Zitat von Minz3 (Beitrag 1438382)
Zitat:

Zitat von Andreas13 (Beitrag 1438370)
Hallo Alex,
mit <ALT><F12> in den Quellcode der Properties gehen und Schen und Ersetzen verwenden: mittels <Srtrg><R> die vorhandnenen Einträge 'SpeedButton' gegen 'Aufgabe' tauschen.
Gruß, Andreas

Danke dir. Ging leider nicht ganz so einfach, da nach der Bezeichnung der Typ Folgt, welcher TSpeedButton heißt. Damit hätte ich dann AufgabeX : TAufgabeX
Hab es dann per Copy + Paste gelöst. Ging um einiges schneller, als über das Eigenschaftenfenster.

Zum einen gibt es noch die Option, die bei der Ersetzung jedesmal nachfragen zu lassen, dann kommt man evtl. mit den Tasten J/N im Wechseltakt schneller zum Ziel als mit Copy/Paste.
Zum anderen kann man sich hier auch noch mit RegEx weiterhelfen und nur ersetzten, wenn hinter dem zu ersetzenden Wort min. 1 Ziffer folgt.
Eventuell geht es in dem Fall auch, wenn man mit Alt-Mausbereichmarkieren nur eine Spaltenauswahl selektiert und darauf Suchen/Ersetzen loslässt.

taveuni 30. Jul 2019 13:06

AW: Mehrere Elemente schnell und effizient umbenennen
 
Zitat:

Zitat von Minz3 (Beitrag 1438382)
Wie meinst du das mit der dynamischen Erzeugung? Per Code (Schleife)?

Genau. Dann kannst Du mit Konstanten die X,Y Koordinaten, die Grösse der Buttons usw. bestimmen. Ausserdem Anzahl Cols und Rows usw. Später ist dann auch eine Änderung mit wenig Aufwand möglich anstelle des Gefrickels mit Maus-Pfeiltasten.

Andreas13 30. Jul 2019 13:07

AW: Mehrere Elemente schnell und effizient umbenennen
 
Zitat:

Zitat von Minz3 (Beitrag 1438382)
Zitat:

Zitat von Andreas13 (Beitrag 1438370)
Hallo Alex,
mit <ALT><F12> in den Quellcode der Properties gehen und Schen und Ersetzen verwenden: mittels <Srtrg><R> die vorhandnenen Einträge 'SpeedButton' gegen 'Aufgabe' tauschen.
Gruß, Andreas

Danke dir. Ging leider nicht ganz so einfach, da nach der Bezeichnung der Typ Folgt, welcher TSpeedButton heißt. Damit hätte ich dann AufgabeX : TAufgabeX
Hab es dann per Copy + Paste gelöst. Ging um einiges schneller, als über das Eigenschaftenfenster.
...

Sorry, ich hätte für Dich noch hinschreiben müssen, daß Du das Ersetzen selbstverständlich mit Einzelbestätigung machen sollst, schließlich war mein Vorschlag eine "Operation am offenen Herzen" des Objekts...
Natürlich sind die obigen Vorschläge der Kollegen professioneller und vor allem ohne Gefahr. Aber diese Erfahrung mit dem Suchen und Ersetzen alles auf "einen Schlag" wird Dir für die Zukunft eine nützliche Lehre darstellen, wovon Du an anderer Stelle bestimmt profitieren wirst.
Gruß, Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 Uhr.
Seite 1 von 2  1 2      

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