Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FreePascal Form umbenennen (https://www.delphipraxis.net/192469-form-umbenennen.html)

Maurooon 20. Apr 2017 19:10

Delphi-Version: 5

Form umbenennen
 
Hey,

ich habe mich bei der Benennung einer Form verschrieben. Um es einheitlich zu machen, würde ich sie gerne umbenennen. Wie kann ich die Form umbenennen, ohne etwas "kaputt zu machen" also damit das Programm noch funktioniert? Unser Lehrer hat uns nämlich beigebracht, von soetwas eigentlich besser die Finger wegzulassen, weil man schnell etwas ändern oder löchen kann, wodurch nichts mehr funktioniert.

Danke im Voraus und LG

a.def 20. Apr 2017 19:16

AW: Form umbenennen
 
Zitat:

Unser Lehrer hat uns nämlich beigebracht, von soetwas eigentlich besser die Finger wegzulassen
:shock: Was ist denn das bitte für eine Ausrede?
Der hatte einfach nur keine Lust euch alles zu erzählen.

Du kannst deine Form selbstverständlich umbenennen!
Wenn du sie in anderen Units in der uses-Klausel stehen hast, musst du sie da auch umbenennen.

Das war es eigentlich schon.

Und wenn dann doch noch irgendwo etwas fehlt, wird der Compiler dir das schon mitteilen ala "Unit nicht gefunden".

nahpets 20. Apr 2017 19:20

AW: Form umbenennen
 
Naja, ich ändere einfach den Namen der Form im Objektinspektor.

Den Namen kopiere ich mir dann in die Zwischenablage und kompiliere.

Wenn der Kompiler dann 'ne Stelle anmeckert, an der auf den alten Namen zugegriffen wird, ersetze ich den durch den Inhalt der Zwischenablage und lass den Kompiler wieder arbeiten.

Irgendwann wird der dann zufrieden sein und nix mehr zu meckern haben.

Oder:

Umbenennen im Objektinspektor.

Danach "suchen und ersetzen mit Bestätigung", da kann man dann jeweils entscheiden, ob ein Ersetzen ausreicht oder ob man noch was anderes machen muss.

Für Delphi soll es Werkzeuge geben, die einem die Arbeit abnehmen.

GExperts: Rename Component.
Hat CnPack auch sowas?

a.def 20. Apr 2017 19:24

AW: Form umbenennen
 
U.a., meiner Meinung nach sogar sehr effektiv, durch Herumprobieren, was euer Lehrer euch wohl ausreden will, lernt man am meisten.
Hier was verstellen, da was löschen, hier was hinzufügen ... try&error.

Aviator 20. Apr 2017 19:40

AW: Form umbenennen
 
Da eigentlich nie (oder nur in Ausnahmefällen) von einer anderen Unit auf eine Form zugegriffen werden soll, sollte da eigentlich gar nichts passieren. Okay. Der Klassenname ändert sich. Deshalb müssten die Klassenbezeichner beim Instanziieren angepasst werden.
Innerhalb der eigenen Form Unit greift man sowieso mit
Delphi-Quellcode:
Self
auf die Klasse bzw. die Form zu. Somit wird der Name nirgends verwendet und du kannst deine Form problemlos immer wieder umbenennen.

Die einzige Stelle an die der Form Name referenziert wird, ist die DPR Datei. Und das übernimmt Delphi i.d.R. selbst. Da brauchst du normalerweise gar nichts zu machen.

Aber im Worst Case mach es so wie Stephan es empfohlen hat. Einfach umbenennen und dann immer wieder kompilieren bis keine Fehler mehr auftreten. Tipp: Schau, dass sich dein Code vorher fehlerfrei kompilieren lässt. Sonst suchst du unter Umständen Fehler wo du denkst die hätten etwas mit dem Umbenennen zu tun. Dabei sind es ganz andere syntaktische Fehler.

Maurooon 23. Apr 2017 12:51

AW: Form umbenennen
 
Hey,

danke für die Antworten. Leider habe ich mich falsch ausgedruckt, sry. Ich wollte eigentlich wissen wie ich den Namen einer Unit ändern kann, nicht eines Formulares. Das weiß ich nämlich :D

Also nochmal: Wie kann ich den Namen einer Unit verändern ohne das Programm zu zerstören.

LG

Olli73 23. Apr 2017 13:03

AW: Form umbenennen
 
Speichere die Unit einfach unter anderem Namen ab. Wenn du diese Unit irgendwo in den Uses eingebunden hast, musst du dies dort ggf. ebenfalls ändern. Aber da macht dich auch schon der Compiler drauf aufmerksam.

HolgerX 23. Apr 2017 13:08

AW: Form umbenennen
 
Hmm..

Zitat:

Zitat von Olli73 (Beitrag 1368731)
Speichere die Unit einfach unter anderem Namen ab. Wenn du diese Unit irgendwo in den Uses eingebunden hast, musst du dies dort ggf. ebenfalls ändern. Aber da macht dich auch schon der Compiler drauf aufmerksam.

Nach dem Speichern unter neuem Namen nur die ALTE Unit-Datei löschen oder umbennenen, sonst würden an den Stellen mit dem alten Unit-Namen immer noch die alte Unit verwendet werden.

Dann Compilieren und überall dort, wo die fehlende (alte) Unit als Fehler kommt, den neuen Unit-Namen eintragen ;)

Hobbycoder 23. Apr 2017 13:11

AW: Form umbenennen
 
Man kann den Namen einer Unit auch in der IDE rechts in der Projektverwaltung ändern. Meines Wissens ändert die IDE auch den Dateiname im Filesystem mit. (Ich kannn mich irren, aber ich meine das wär so).
Unitnamen dann auch noch ändern und einfach alles speichern.
Bei ersten compilieren merkt man doch recht schnell wo dann der alte Unitname verwendet wurde.

Uwe Raabe 23. Apr 2017 13:21

AW: Form umbenennen
 
Zitat:

Zitat von Hobbycoder (Beitrag 1368735)
Man kann den Namen einer Unit auch in der IDE rechts in der Projektverwaltung ändern. Meines Wissens ändert die IDE auch den Dateiname im Filesystem mit.

Das wirkt sich übrigens auch auf alle Projekte der Projektgruppe aus.

dummzeuch 23. Apr 2017 14:21

AW: Form umbenennen
 
Wenn es eine "neuere" Delphi Version ist, die bereits das Rename-Refactoring (Ctrl+Shift+E) kennt (ab Delphi 2007?), so kannst Du auch das verwenden, um ein Form umzubenennen. Das funktioniert übrigens auch für Controls.

Maurooon 23. Apr 2017 16:33

AW: Form umbenennen
 
Hey,

ich kriegs nicht hin. Ich habe in dem Ordner meines Projektes die entsprechenden Units umbenannt. Aber wenn ich dann das Projekt geöffnet habe, kam ein Error und die Units wurden nicht angezeigt... Kann mir jemand eine Schritt für Schritt Anleitung schreiben wie ich die Units umbenennen kann?

Lg

a.def 23. Apr 2017 16:34

AW: Form umbenennen
 
Zitat:

Ich habe in dem Ordner meines Projektes die entsprechenden Units umbenannt.
Du musst die Units in der IDE selber, in der Spalte "Projektverwaltung" umbenennen. Nicht im Ordner deines Projektes.

Also:
alles wieder zurück-umbenennen in in der IDE umbenennen.

Maurooon 23. Apr 2017 16:58

AW: Form umbenennen
 
Zitat:

Zitat von a.def (Beitrag 1368753)
Zitat:

Ich habe in dem Ordner meines Projektes die entsprechenden Units umbenannt.
Du musst die Units in der IDE selber, in der Spalte "Projektverwaltung" umbenennen. Nicht im Ordner deines Projektes.

Also:
alles wieder zurück-umbenennen in in der IDE umbenennen.

Wo finde ich die Projektverwaltung (bei Lazarus)?

a.def 23. Apr 2017 17:06

AW: Form umbenennen
 
Weiß ich nicht aber das ist der Teil der IDE wo alle deine Formulare aufgelistet sind.

Maurooon 23. Apr 2017 17:07

AW: Form umbenennen
 
Zitat:

Zitat von a.def (Beitrag 1368755)
Weiß ich nicht aber das ist der Teil der IDE wo alle deine Formulare aufgelistet sind.

Hab sie gefunden aber ich finde nirgends eine Option eine Unit umzubenennen

a.def 23. Apr 2017 17:09

AW: Form umbenennen
 
Unter Windows klickt man rechts auf den Eintrag mit der Unit > umbenennen.

Internet sagte
Zitat:

The quick answer is:

- Go to the very top line of the unit and change the name;
unit X; --->>> change to unit newname; (unit name MUST match file name)

- Next go to the File menu, click Save As; when the dialog pops up, the name should reflect the change, if not change it

- When you save it, a dialog will ask if you want to delete the old file (unitX.pas)

good luck
geno

=> http://forum.lazarus.freepascal.org/....html#msg73708
Adners ausgedrückt: irgendwie super kompliziert.

mjustin 23. Apr 2017 17:20

AW: Form umbenennen
 
In Lazarus 1.6.4 kann man eine Unit unter einem neuen Namen speichern. Dann fragt Lazarus, ob man die alte Unit löschen will.
Wenn man im Projekt die alte Unit in einer anderen Datei in uses referenziert hat, wird dies von Lazarus erkannt und angeboten die Referenzen anzupassen.


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