Kopieren eines Lazarus Programms

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
GeRe
Beiträge: 7
Registriert: Fr 21. Jun 2024, 22:04

Kopieren eines Lazarus Programms

Beitrag von GeRe »

Hallo,
ich bin wirkklich ganz neu in Sachen Lazarus.
Folgende Frage:
- Ich habe ein "Hello World" Programm erstellt.
- Das habe ich in einem Ordner, nennen wir diesen V1 gespeichert.

Jetzt um diese Programm zu erhalten dachte ich, ich kopiere es einfach in einen Order mit dem Namen V2.
Was passiert ist, dass ich dann Fehlermeldungen bekomme, obwohl alle Dateien, so wie in Ordner V1 da sind.

Wenn ich mit "Projekt speichern unter" das Programm aus V1 in den Ordner V2 abspeichere, fehlt z.B. die Unit1 Datei.

Wie gehe ich am besten vor um ein Programm zu erhalten,, falls ich mit den weiteren Programieraktionen Unsinn machen und die "alte" Version noch in der Hinterhand behalten möchte?!

Viele Grüße
Gerd

MartinE
Beiträge: 1
Registriert: Mi 9. Nov 2022, 21:19

Re: Kopieren eines Lazarus Programms

Beitrag von MartinE »

Diese Aufgabe lässt du am besten eine Sourcecodeverwaltung erledigen, genau dafür sind diese gedacht. Schaue dir dazu ein Tutorial an, z.B. zu GIT.

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: Kopieren eines Lazarus Programms

Beitrag von Stevie »

Hallo Gerd,

Du hast im Prinzip zwei Möglichkeiten: entweder du exportierst das Projekt (Project -> Publish Project...) in einem Verzeichnis Deiner Wahl. Dann behalten die Dateien und das Projekt selbst den ursprünglichen Namen, aber Du bekommst eine 1:1 Kopie in einem neuen Verzeichnis, die Du später getrennt öffnen und bearbeiten kannst.

Alternativ kannst Du auch das Projekt unter Git-Kontrolle nehmen, indem Du aus dem Projektverzeichnis per 'git init' ein Git-Projekt machst und dann alle relevanten Datein (.pas , .lpr, .lfm, .lpi und alles andere, was Du selbst erstellt hast) per 'git add' hinzufügst und per 'git commit' eincheckst. Dann kannst Du nach Herzenslust Branches oder Tags nutzen, um dich langsam voran tasten und jederzeit wieder zu einem vorherigen Stand zurückkehren zu können.

Mathias
Beiträge: 6956
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Kopieren eines Lazarus Programms

Beitrag von Mathias »

Jetzt um diese Programm zu erhalten dachte ich, ich kopiere es einfach in einen Order mit dem Namen V2.
Was passiert ist, dass ich dann Fehlermeldungen bekomme, obwohl alle Dateien, so wie in Ordner V1 da sind.
Ich vermute das es um ein ganz banales Problem handelt. GIT und co. braucht man sicher nicht dazu.

Hast du mal geguckt, was unter "Project -> Projekteinstellungen -> Pfade" steht ?
Das passiert gerne an Anfängern, wen da globale Pfade drinnen stehen.

Normalerweise kann man ein Programm einfach im Dateimanger kopieren. Dies mache ich auch immer so, wen ich ein Programm ändern will, ohne das alte zu zerstören.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Kopieren eines Lazarus Programms

Beitrag von Niesi »

Mathias hat geschrieben: Sa 22. Jun 2024, 09:17
Jetzt um diese Programm zu erhalten dachte ich, ich kopiere es einfach in einen Order mit dem Namen V2.
Was passiert ist, dass ich dann Fehlermeldungen bekomme, obwohl alle Dateien, so wie in Ordner V1 da sind.
Ich vermute das es um ein ganz banales Problem handelt. GIT und co. braucht man sicher nicht dazu.

Hast du mal geguckt, was unter "Project -> Projekteinstellungen -> Pfade" steht ?
Das passiert gerne an Anfängern, wen da globale Pfade drinnen stehen.

Normalerweise kann man ein Programm einfach im Dateimanger kopieren. Dies mache ich auch immer so, wen ich ein Programm ändern will, ohne das alte zu zerstören.
Exakt so mache ich das auch - wenn ich ein Projekt weiter entwickeln will, dann kopier ich es mit dem Dateimanager und gebe der Kopie einen anderen Namen - meist eine fortlaufende Nummer hintendran.

Ist am einfachsten - kompliziert geht natürlich auch. Ist Geschmackssache ... :lol:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Mathias
Beiträge: 6956
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Kopieren eines Lazarus Programms

Beitrag von Mathias »

Exakt so mache ich das auch - wenn ich ein Projekt weiter entwickeln will, dann kopier ich es mit dem Dateimanager und gebe der Kopie einen anderen Namen - meist eine fortlaufende Nummer hintendran.
Und wen man Angst hat, das im neuen Projekt etwas vom alten Projekt mitkommt, am besten das alte Projekt auch noch umbenennen.
Dann motzt der Compiler wen er etwas nicht findet.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Bemi
Beiträge: 14
Registriert: So 7. Jan 2024, 15:02
OS, Lazarus, FPC: XP, 7, 10, 11/ 3.8 /3.2.2
CPU-Target: X86-64
Wohnort: Eckental

Re: Kopieren eines Lazarus Programms

Beitrag von Bemi »

Mathias hat geschrieben: Sa 22. Jun 2024, 09:17 ,,, Hast du mal geguckt, was unter "Project -> Projekteinstellungen -> Pfade" steht ?
Das passiert gerne an Anfängern, wen da globale Pfade drinnen stehen...
Hallo, weil mir das auch immerzu passiert, habe ich gleich mal nachgeschaut. Den Pfad, wie von Dir beschrieben, finde ich nicht.
Bei mir gibt es ->Pfade nur unter Compilereinstellungen. Was jetzt?

Ich vergesse öfters einen eigenen Ordner für neue Projekte anzulegen.
Wenn ich dann nach ein paar Tagen etwas neues ausprobiere, zerschieße ich aus Versehen das alte Proj. und meinen aktuellen Versuch...

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 596
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 4.1 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: Kopieren eines Lazarus Programms

Beitrag von Niesi »

Bemi hat geschrieben: So 23. Jun 2024, 09:40
...

Ich vergesse öfters einen eigenen Ordner für neue Projekte anzulegen.
Wenn ich dann nach ein paar Tagen etwas neues ausprobiere, zerschieße ich aus Versehen das alte Proj. und meinen aktuellen Versuch...


Das ging mir auch so - bis ich mir angewöhnt habe, nach Auswahl der Projektart des neuen Projektes sofort auf "Save All" (Shift+Ctrl+S) zu klicken. Dann lege ich den neuen Ordner an und vergebe Projektnamen und Dateinamen.

Immer dran denken: Erstmal speichern!

Leider habe ich keine bessere Idee und keine bessere Lösung ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Epcop
Beiträge: 159
Registriert: Di 29. Mai 2012, 09:36

Re: Kopieren eines Lazarus Programms

Beitrag von Epcop »

- Ich habe ein "Hello World" Programm erstellt.
- Das habe ich in einem Ordner, nennen wir diesen V1 gespeichert.
Jetzt um diese Programm zu erhalten dachte ich, ich kopiere es einfach in einen Order mit dem Namen V2.
Was passiert ist, dass ich dann Fehlermeldungen bekomme, obwohl alle Dateien, so wie in Ordner V1 da sind.
Wenn ich mit "Projekt speichern unter" das Programm aus V1 in den Ordner V2 abspeichere, fehlt z.B. die Unit1 Datei.
Ich habe es gerade ausprobiert. Das funktioniert so nicht. Bei "Projekt speichern unter" speichert er nur die Programmdateien ohne Units. Deshalb bekommst du die Fehlermeldung "Unit1 nicht gefunden".

Stattdessen gehst du so vor:
Du machst dein Projekt fertig und speicherst es ab (einfach mit Speichern unter oder "Projekt speichern") z.B. in Ordner Version1.

Danach erstellst du im Dateimanager (z.B. den Explorer, nicht in Lazarus) einen weitere Ordner z.B. Version2. Nun kopierst du den Ordnerinhalt von Version1 in Ordner Version2.

Danach öffnest du Lazarus und kannst das Projekt mit "Projekt öffnen" im Ordner Version2 öffnen. Dann arbeitest du im Ordner Version2.

Version1 kann dann auch als Backup dienen. Evtl. ist es besser, diesen Ordner Version1 in Version1_backup o.ä. zu benennen, um sicher zu gehen, das Lazarus dort keine Bezüge mehr hat.



Noch ein paar Hinweise:
- Lazarus öffnet standardmäßig das letzte Projekt. Achte darauf, dass du bewusst Projekt öffnen aus Version2 wählst, sonst arbeitest du versehentlich in Version1 weiter.
- Für ein Hello-World ist es nicht wichtig. Aber grundsätzlich gilt auch die Pfade zu beachten. Wenn du z.B. ein Projekt gemacht hast, dass Textdateien bearbeitet das im selben Ordner liegt; Dann achte darauf wie deine Pfadangaben sind. Hast du absolute Pfade angegeben, wird dein kopiertes Projekt Version2, die Textdateien von Version1 bearbeiten. Da brauchst du dann relative Pfadangaben. Dasselbe gilt dann auch bei anderen Sachen. Außer du möchtest irgendwo anders eine Textdatei bearbeiten, dann sind absolute Pfadangaben richtig. Wenn du also den Ordner kopierst, dann behalte das im Hinterkopf.

GeRe
Beiträge: 7
Registriert: Fr 21. Jun 2024, 22:04

Re: Kopieren eines Lazarus Programms

Beitrag von GeRe »

Guten Morgen allerseits,
vorab bedanke ich mich für die ganz vielen Hilfestellungen. Klasse und war schon verzweifelt alleine zu sein und niemand fragen zu können!
Nochmal vielen DANK!

Jetzt zu den Antworten
Matthias schrieb:
Ich vermute das es um ein ganz banales ...
Genau so ist es. Ich suche im ersten Schritt, mangels meiner Kenntnisse eine einfache Möglichkeit einen Stand "einzufrieren" und mit einer Kopie dann weiterzumachen.
Die anderen beschriebenen Optionen schaue ich mir an, wenn ich etwas sicherer im Umgang mit Lazarus bin.

Ich bin jetzt Matthias Vorschlag gefolgt und habe:
Ein neues "Hello World" Programm erstellt.
- Einfach mit Button, Label
- Wenn man auf den Butten klickt, erscheint der Text der Caption für Label1, den ich im onclick Event hinterlegt habe.

Danach habe ich den Order V1, wo der Programmcode liegt kopiert und den Ordner mit V2 benannt.
Lazarus habe ich danach gestartet und wie hier bemerkt wurde das V1 Programm gestartet.
Das habe ich beendet und das "Hello World" Programm aus dem Ordner V2 gestartet.

Sie da - es hat wunderbar, ohne Fehlermeldungen geklappt und hoffe jetzt nicht das blinde Huhn zu sein, was ein Korn gefunden hat :-)

Ich wünsche Euch einen entspannten Sonntag

Viele Grüße
Gerd

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kopieren eines Lazarus Programms

Beitrag von af0815 »

Damit es noch einfacher wird, einfach eine Sourcecode Verwaltung bemühen. Dann ist der ganze fehlerträchtige Aufwand mit dem kopieren einfach nicht nötig.

BTW. Beim Projekt SaveAs hat Lazarus seit ewigen Zeiten einen Bug, wenn man mehrere Konfigurationen hat, die in verschiedene Verzeichnisse schreiben. Da werden die Pfade der Executable auf den aktuell angewählten zurück gesetzt. Wir so keinem Auffallen, ich habe mich daran gewöhnt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

GeRe
Beiträge: 7
Registriert: Fr 21. Jun 2024, 22:04

Re: Kopieren eines Lazarus Programms

Beitrag von GeRe »

Hallo,

den Tip mit der Source Code Verwaltung zu nutzen, würde ich gerne ausprobieren. Ich habe mir dazu Lazarus Menü, aber keinen Eintrag gefunden der auf die Funktion verweist.
Könntest Du mir noch einen Hinweis geben, wo ich die Source Code Verwaltung finden kann.

Viele Grüße
Gerd

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Kopieren eines Lazarus Programms

Beitrag von af0815 »

Einfach im Internet nach GIT suchen ( und nicht bei der KI nachfragen SCNR)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: Kopieren eines Lazarus Programms

Beitrag von Stevie »

Hallo Gerd,

Lazarus hat keine direkte Git-Integration, wie man sie von anderen IDEs wie Netbeans, Eclipse oder Visual Studio kennt. Je nach Betriebssystem nutzt man dafür ein Tool wie Tortoise Git (Windows), SourceTree (Mac) oder GitKraken (Linux) oder eben die CLI-Tools aus dem Git Package. Lies Dir mal viewtopic.php?t=12559 durch, wo die Nutzung von Git im Umfeld von Lazarus ausführlich behandelt wird.

Antworten