Namen für neue Units vergeben

Für Fragen rund um die Ide und zum Debugger

Namen für neue Units vergeben

Beitragvon braunbär » 11. Sep 2018, 23:05 Namen für neue Units vergeben

Wie geht man eigentlich am besten vor, wenn man zu einem bestehenden Projekt eine neue Formular-Unit erstellt. So, wie ich es jetzt mache, bekommt die immer standardmäßig den Namen Unit1, und das Formular bekommt den Namen TForm1.
Das muss man erst im Quelltext ausbessern, und der neue Filename wird überhaupt erst nach dem Abspeichern sichtbar.
Gibt es irgend eine Möglichkeit, gleich beim Erstellen den Unit-Wunschnamen zu vergeben, sodass dann auch der Name der Form gleich passt, ohne dass man noch extra im OI an Namen und Caption frickeln muss?
braunbär
 
Beiträge: 195
Registriert: 8. Jun 2017, 17:21

Beitragvon Socke » 12. Sep 2018, 09:28 Re: Namen für neue Units vergeben

braunbär hat geschrieben:Das muss man erst im Quelltext ausbessern, und der neue Filename wird überhaupt erst nach dem Abspeichern sichtbar.
Gibt es irgend eine Möglichkeit, gleich beim Erstellen den Unit-Wunschnamen zu vergeben, sodass dann auch der Name der Form gleich passt, ohne dass man noch extra im OI an Namen und Caption frickeln muss?

Die IDE weiß nicht, wie du deine Formulare und Units nennen willst. Hier kannst du gerne ein Addon-On/Packge zu entwickeln, das theoretische Problem besteht aber immer noch darin, herauszufinden, wie das nächste Formular heißen soll.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
 
Beiträge: 2539
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 8.1/Debian GNU/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon wp_xyz » 12. Sep 2018, 09:45 Re: Namen für neue Units vergeben

braunbär hat geschrieben:Wie geht man eigentlich am besten vor, wenn man zu einem bestehenden Projekt eine neue Formular-Unit erstellt. So, wie ich es jetzt mache, bekommt die immer standardmäßig den Namen Unit1, und das Formular bekommt den Namen TForm1.
Das muss man erst im Quelltext ausbessern, und der neue Filename wird überhaupt erst nach dem Abspeichern sichtbar.

Um den Namen einer Unit zu vergeben, muss man sie unter dem entsprechenden Namen abspeichern, idealerweise gleich beim Anlegen der neuen Unit, geht aber auch später. Die IDE ändert dann automatisch die Kopfzeile "unit", sowie die entsprechenden Referenzen in anderen Units. Selber den Quelltext zu ändern, ist der falsche Weg, dadurch schafft man sich nur eine unnötige Beschäftigung für die nächste Stunde...

Der Formularname muss aber noch zusätzlich vergeben werden. Hier macht man die Änderung (so wie bei allen Umbenennungen von Komponenten) im Objekt-Inspektor, nie im Quelltext.

Umbenennungen von Variablennamen u.ä. macht man über die Funktion "Refactoring" > "Bezeichner umbenennen" im Kontextmenü der umzubenennenden Größe, was alle Vorkommnisse abdeckt, auch in Kommentaren.
wp_xyz
 
Beiträge: 2616
Registriert: 8. Apr 2011, 08:01

Beitragvon MacWomble » 12. Sep 2018, 09:55 Re: Namen für neue Units vergeben

Etwas vereinfachen kann man das schon, indem man die Einstellungen anpasst:
LazName1.png

Wenn nun neben dem Dateinamen auch noch der Name und die Caption abgefragt würden, wäre das ein deutliches Plus!

Für Komponenten kann man auch nach dem Namen fragen lassen (wobei hier die Frage nach der Caption auch nett wäre, falls vorhanden, z.B. Label, Button etc.):
LazName2.png


Noch ein Gedanke zum Thema:
Für die Komponenten wäre es auch sehr schön, wenn man für jede Komponente eine Namensvorgabe hinterlegen könnte (z.B. btn.., lbl.. etc).
Am besten wäre dies sogar als Prefix sinnvoll:
In einer Definitionsdatei werden die Prefixe nach Wunsch angelegt und können so z.B. firmenintern verteilt werden. (ini-file?)
Dies würde einen gewissen Standard und besser verständlichen Code 'erzwingen'. Für hier nicht definierte Komponenten fällt der Prefix weg.

Bsp. Ini:

Code: Alles auswählen
 
[FilePrefix]
TForm=frm
TDatamodule=dat
TFrame=fra
.
.
 
[CompPrefix]
TButton=btn
TLabel=lbl
TEdit=edt
TDBEdit=dbe
TDBLookupCombobox=dbl
TRXDBLookupCombo=rxdbl
.
.
.
 
 
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 577
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19 Cinnamon / CodeTyphon Generation V Plan 6.60 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

Beitragvon braunbär » 13. Sep 2018, 17:10 Re: Namen für neue Units vergeben

Das ist schon einmal etwas, danke.

MacWomble hat geschrieben:Wenn nun neben dem Dateinamen auch noch der Name und die Caption abgefragt würden, wäre das ein deutliches Plus!

Ja, das sehe ich auch so. Nachdemm man den vorgeschlagenen Komponentennamen (wie TForm1) und die caption praktisch immer ändern wird, wäre es sehr sinnvoll, die Fragen gleich beim Erstellen der Datei zu stellen.

Prefixe für die Komponententypen zu verwenden, ist m.E. auch durchaus sinnvol, und ich mache das in Regel. Aber die Vorgabe aufzwingen ist wohl nicht unbedingt nötig, und wirklich vereinfachen würde das m.E. eigentlich nichts - oder?
braunbär
 
Beiträge: 195
Registriert: 8. Jun 2017, 17:21

Beitragvon MacWomble » 13. Sep 2018, 19:08 Re: Namen für neue Units vergeben

Ich wollte diese ja nicht generell aufzwingen, somdern in einer Ini-Datei verwaltbar haben. So kann sich jeder selbst die Prefixe anpassen oder es eben auch bleiben lassen. Ich verwende immer die selben Prefixe und muss diese jedes mal eintippen und manchmal auch überlegen, was ich für welche Komponente habe. Ein Vordefinition würde das vereinfachen und sicherer machen. Z.B ist es mir schon passiert, dass ich dblrx statt rxdbl verwendet habe. Ok, Denkfehler - aber mit der INI wäre das einfach nicht passiert.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 577
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 19 Cinnamon / CodeTyphon Generation V Plan 6.60 | 
CPU-Target: Intel i7 64/32 Bit
Nach oben

• Themenende •

Zurück zu Benutzung der IDE



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

porpoises-institution
accuracy-worried