Fragen zur Programmierung mit Lazarus

Für Fragen von Einsteigern und Programmieranfängern...
BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

Hallo zusammen.

Als Neuling hier möchte ich ein paar Fragen loswerden.
Zu meiner Person ganz kurz - ich habe vor 30 Jahren unter Turbo Pascal programmiert und vor 10 Jahren mal in Delphi reingeschaut.
Nun möchte ich mit Lazarus ein kleines Programm schreiben, welches mir bei meiner Arbeit als Kraftfahrer hilfreich sein soll.

Aber schon beim Arbeiten mit dem Designer stoße ich an meine Grenzen, zumal ich nicht so gut englisch kann, um die Hinweise richtig deuten zu können. :(
Daher meine Frage, ob es im Handel ein Buch in deutsch gibt, dass als Nachschlagewerk oder Lehrbuch zu Lazarus genutzt werden kann. :shock:

Einige Sachen habe ich schon fertig. So soll ein Formular (TForm) als Statusleiste am oberen Bildschirmrand zentriert erscheinen, die bezüglich Größe und Position nicht verändert werden darf. Lediglich ein Minimieren in die Taskleiste soll erlaubt sein. Alls gut, bis auf das Verschieben und die Position bei Programmstart. Ganz gleich, was ich in den Eigenschaften des Objektinspektors einstelle, das Formular erscheint immer irgendwo, aber nie oben und auch nicht zentriert. :?:

Was mir auch aufgefallen ist, die einzelnen Ausgabefelder ((TLabeledEdit und TLabel) verändern ihre Größe und Position beim vergrößern oder verkleinern des Formular, sodass die angezeigten Daten nicht mehr lesbar sind. :cry:

Wenn es gewünscht wird poste ich gerne den Quelltext.

Es wäre nett, wenn ich von Euch Hilfe bekommen würde, auch wenn meine Fragen Euch ein mitleidiges Lächeln ins Gesicht zaubert :D

Gruß von Bernhard

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

Re: Fragen zur Programmierung mit Lazarus

Beitrag von Mathias »

Aber schon beim Arbeiten mit dem Designer stoße ich an meine Grenzen, zumal ich nicht so gut englisch kann,

Dies kann man auf deutsch umstellen Tools/Options/General/Language . Die IDE muss dazu neu gestartet werden.

Daher meine Frage, ob es im Handel ein Buch in deutsch gibt, dass als Nachschlagewerk oder Lehrbuch zu Lazarus genutzt werden kann.

Deine Delphi-Kenntnisse sollte für den Anfang reichen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

Danke Mathias,

die Einstellung wurde schon vorgenommen. Leider erscheint aber der Erklärungstext unter dem Objektinspektor nach wie vor in englisch. Das betrifft auch die Nachrichten beim Compilieren.

Für Delphi 5 habe ich ein Buch von Elmar Warken (Addison-Wesley). Auch die Software hatte ich mal, weis Gott wo die abgeblieben ist.

Was ich auch noch nicht verstanden habe - wie bekomme ich zur Laufzeit ein neues Child-Formular in ein Parent-Formular ? Kann ich es im Vorfeld entwerfen und mit Form.create ansprechen ?

Sorry, wenn sich das ein wenig dümmlich anhört.

Bernhard

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Fragen zur Programmierung mit Lazarus

Beitrag von theo »

BernhardDEL hat geschrieben:Das betrifft auch die Nachrichten beim Compilieren.


Die Compilermeldungen kann man auf deutsch haben, indem man bei
Werkzeuge . Einstellungen - Umgebung - Dateien bei "Compilermeldungen Sprachdatei" die Datei "errordu.msg" auswählt.
Diese ist unter dem FPC Ordner, je nach System/Version z.B. bei ...../lib/fpc/3.1.1/msg/errordu.msg

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: Fragen zur Programmierung mit Lazarus

Beitrag von af0815 »

Bücher: Siehe hier http://lazarus.intern.es/lazarus_literatur.html da sind einige Aufgeführt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

tightTannic
Beiträge: 20
Registriert: Di 31. Jan 2017, 19:46
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Berlin

Re: Fragen zur Programmierung mit Lazarus

Beitrag von tightTannic »

n'Abend

[...] das Formular erscheint immer irgendwo, aber nie oben und auch nicht zentriert.

Wenn das Formular beim Programmstart auf eine bestimmte Position geschoben werden soll, mach ich das immer in TForm1.FormCreate(Sender:TObject)...
in etwa so :

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Left:=trunc((Screen.Width*0.5)-(Form1.Width*0.5)); // Zentriert das Formular horizontal, wenn man von der Bildschirmbreite Screen.Width ausgeht
  Form1.Top:=0; // Sollte eig. das Formular an den oberen Bildschirmrand verschieben
end;


[...] Statusleiste [...], die bezüglich Größe nicht verändert werden darf.

Das könnte man im Objektinspektor einstellen unter
Form1 > BorderStyle (standardmäßig auf "bsSizeable")
... eingestellt auf "bsDialog" sollte das Formular manuell weder größer noch kleiner gezogen werden können.


Einstellungen mit denen sich das Formular nicht verschieben lässt weiß ich nicht,
allerdings würde ich "prüfen ob sich Form1 verschoben hat, wenn ja es wieder zurückschieben"...
also den Code aus dem FormCreate wieder ausführen... was im Endeffekt auf das selbe hinausläuft.


mfG
Zuletzt geändert von tightTannic am Di 31. Jan 2017, 20:53, insgesamt 3-mal geändert.

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Fragen zur Programmierung mit Lazarus

Beitrag von mischi »

theo hat geschrieben:Die Compilermeldungen kann man auf deutsch haben, indem man bei
Werkzeuge . Einstellungen - Umgebung - Dateien bei "Compilermeldungen Sprachdatei" die Datei "errordu.msg" auswählt.
Diese ist unter dem FPC Ordner, je nach System/Version z.B. bei ...../lib/fpc/3.1.1/msg/errordu.msg

Apropos deutsche Fehlermeldungen:
1) Da ich mich um die Übersetzung der Fehlermeldungen kümmere, freut es mich besonders, dass sie auch tatsächlich genutzt wird.
2) Wer Fehler oder Unstimmigkeiten findet oder eine Idee für Verbesserungen hat, ruhig einen Bugreport im bugtracker für FreePascal aufmachen. Ich werde mir das anschauen und sehen, was sich machen lässt. Ziemlich sicher nicht am gleichen Tag, aber im Bugtracker geht nichts verloren und irgendwann sind wieder so viele neue Meldungen zusammen gekommen, dass es sich lohnt.

Grüße - MiSchi.
MiSchi macht die fink-Pakete

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

Re: Fragen zur Programmierung mit Lazarus

Beitrag von Mathias »

Code: Alles auswählen

Form1.Left:=trunc((Screen.Width*0.5)-(Form1.Width*0.5));

Wieso so kompliziert ?

Code: Alles auswählen

Form1.Left:=(Screen.Width - Form1.Width) div 2;

Wen man es auch vertikal zentriert habe will, noch einfacher

Code: Alles auswählen

Position := poScreenCenter;   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

theo hat geschrieben:
BernhardDEL hat geschrieben:Das betrifft auch die Nachrichten beim Compilieren.


Die Compilermeldungen kann man auf deutsch haben, indem man bei
Werkzeuge . Einstellungen - Umgebung - Dateien bei "Compilermeldungen Sprachdatei" die Datei "errordu.msg" auswählt.
Diese ist unter dem FPC Ordner, je nach System/Version z.B. bei ...../lib/fpc/3.1.1/msg/errordu.msg


Hab ich eingestellt, aber die Compilermeldungen kommen nach wie vor nur auf englisch :(

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

af0815 hat geschrieben:Bücher: Siehe hier http://lazarus.intern.es/lazarus_literatur.html da sind einige Aufgeführt.



Danke. Habe mir gleich ein Buch bestellt, damit ich Euch nicht all zu sehr nerven muss :wink:

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

Mathias hat geschrieben:

Code: Alles auswählen

Form1.Left:=trunc((Screen.Width*0.5)-(Form1.Width*0.5));

Wieso so kompliziert ?

Code: Alles auswählen

Form1.Left:=(Screen.Width - Form1.Width) div 2;

Wen man es auch vertikal zentriert habe will, noch einfacher

Code: Alles auswählen

Position := poScreenCenter;   


Auch hier vielen Dank.
Habe mir in die Form einen zweiten Timer gesetzt und diesen auf 250 ms gestellt. Der überprüft nun die Position und sollte sie sich verändert haben, dann wird das Formular wieder an die ursprüngliche Position gesetzt. Fühlt sich zwar nach Holzhammermethode an, aber erfüllt seinen Zweck. :D

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: Fragen zur Programmierung mit Lazarus

Beitrag von af0815 »

Vielleicht noch ein Hinweis, bei Lazarus sind sehr viele Beispiele dabei. Man findet sie in der Lazarus IDE unter Werkzeuge -> Beispielprojekte. Ausserdem kann man viele Anfängersachen von Delphi verwenden, auch die Grundlagen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

af0815 hat geschrieben:Vielleicht noch ein Hinweis, bei Lazarus sind sehr viele Beispiele dabei. Man findet sie in der Lazarus IDE unter Werkzeuge -> Beispielprojekte. Ausserdem kann man viele Anfängersachen von Delphi verwenden, auch die Grundlagen.

Danke für den Hinweis. Werde es mir mal anschauen.
Ja, das Delphi-Buch, was ich habe, hilft mir schon, jedoch ist das Delphi 5 und da habe ich schon einige Sachen gefunden, die anders sind.

Trotzdem - Ihr seid toll. Allen ein ernstgemeintes Dankeschön.

Bernhard

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
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: Fragen zur Programmierung mit Lazarus

Beitrag von af0815 »

Schau dir mal der Unterschied zwischen Mode Delphi {$mode delphi} und objfpc {$mode objfpc}. Ob da vielleicht deine beobachteten Unterschiede herkommen.

Siehe http://www.freepascal.org/docs-html/3.0.0/user/userse33.html
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

BernhardDEL
Beiträge: 36
Registriert: Di 31. Jan 2017, 17:18

Re: Fragen zur Programmierung mit Lazarus

Beitrag von BernhardDEL »

af0815 hat geschrieben:Schau dir mal der Unterschied zwischen Mode Delphi {$mode delphi} und objfpc {$mode objfpc}. Ob da vielleicht deine beobachteten Unterschiede herkommen.

Siehe http://www.freepascal.org/docs-html/3.0.0/user/userse33.html

Aaaahhhh - alles in englisch :cry: Ich sollte doch nochmal zur Schule gehen :shock:

Trotzdem Danke :wink: - und .... ich warte aufs Buch 8)

Bernhard

Antworten