Sooo ich hab mich schon durch diverse Seiten gewühlt und Tutorials gelesen, dennoch habe ich ein paar Fragen, bei denen ich noch etwas Hänge. Ich wollte jetzt auch nicht 20 Threads aufmachen, deswegen fasse ich sie hier mal alle, thematisch geordnet zusammen. Ich entschuldige mich, falls falls manche Fragen zu trivial sind, aber manchmal steht einem ja doch das eigene Vorwissen im Weg und man ist sich nicht sicher, ob man etwas so machen kann, wie gewöhnt bzw. ob man was wirklich richtig Verstanden hat.
Lazarus IDE
1. Wenn ich bei manchen Komponenten im Formular die Caption ändere, verändert Lazarus manchmal auch den Namen der Komponente. Lässt sich das irgendwie verhindern?
Arrays
Wenn ich das richtig verstanden habe, ist das arbeiten mit Arrays nicht ganz so "einfach" wie ich es z.B. bei php gewohnt bin. Ich hab zwar schon gesehen, daß es dynamische Arrays gibt (wobei ich durch die Deklaration noch nicht so ganz durchgestiegen bin, besonders bei Mehrdimensionalen arrays) und habe auch schon Verstanden, das FPC keine gemischten Werte zulässt. Also wenn ich etwas vergleichbares haben wollte, käme dem ein Array of records am nähesten.. Geht das überhaupt? Macht das letztendlich Sinn?
Deklarationen & Vererbungen & Code Einbindung
In PHP habe ich mir angewöhnt, thematisch ähnliche Codeabschnitte zur Übersichtlichkeit in separate Dateien auszulagern. Dazu sind ja die Units da. Aber wo binde ich diese dann am besten ein? In der Hauptdatei (da scheint ja irgendwie nicht so viel zu passieren) oder in der Formular Unit, in der die Funktionen/Prozeduren aufgerufen werden? (gibt es da was zu beachten?) . Ebenso für globale Variabeln? Wo deklariere ich diese am besten?
Positionierung von Elementen
Werden Komponenten in einem Formular nur "absolut" positioniert, oder gibt es auch Möglichkeiten zur "relativen" Positionierung also sowas wie (10px neben dem vorherigen Element)?
Dateipfade
Wenn ich eine Datei ändern/laden möchte.. Also z.B. eine Ini-Datei laden möchte, wie müssen die Pfade geformt sein? Müssen das immer absolute Pfade sein (also z.B. "C:\meinprogram\konfiguration\meine.ini"), oder können die Pfade auch relativ vom Programm sein ("\konfiguration\meine.ini")
Ich glaube, daß war es fürs erste und schon mal ein großes Dankeschön für alle Mühen
Diverse Anfängerfragen (gemischte Themen)
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Diverse Anfängerfragen (gemischte Themen)
Herzlich Willkommen im Forum!
Verschiedene Datentypen als Array-Elemente ergeben nur in wenigen Fällen Sinn. Versuche sie zu vermeiden, soweit möglich. Wenn du diese Daten an eine Prozedur/Funktion/Methode übergeben musst, kannst du array of const verwenden. Einen solchen Array kannst du aber nicht in Variablen zwischenspeichern. Alternativ kannst du einen Record mit dem Datentyp Variant erstellen.
Eine Unit musst du in jeder anderen Unit einbinden, in der du diese verwendest. Jede Unit steht für sich, es sind keine Include-Dateien, die zu einem zusammenhängenden Text zusammengesetzt werden. Falls du tatsächlich globale Variablen brauchst, deklarierst du diese kontexbezogen in der dazugehörigen Unit.
Es gibt die Eigenschaften Caption und Name; änderst du Name und hast bisher noch nicht Caption verändert, wird auch Caption geändert. Andersherum passiert das nicht.Adromir hat geschrieben:Lazarus IDE
1. Wenn ich bei manchen Komponenten im Formular die Caption ändere, verändert Lazarus manchmal auch den Namen der Komponente. Lässt sich das irgendwie verhindern?
Meinst du verschiedene Datentypen als Index? Das funktioniert nicht; Pascal erlaubt hier ausschließlich ordinale Datentypen (div. Integer, Mengen, Char ...).Adromir hat geschrieben: Arrays
Wenn ich das richtig verstanden habe, ist das arbeiten mit Arrays nicht ganz so "einfach" wie ich es z.B. bei php gewohnt bin. Ich hab zwar schon gesehen, daß es dynamische Arrays gibt (wobei ich durch die Deklaration noch nicht so ganz durchgestiegen bin, besonders bei Mehrdimensionalen arrays) und habe auch schon Verstanden, das FPC keine gemischten Werte zulässt. Also wenn ich etwas vergleichbares haben wollte, käme dem ein Array of records am nähesten.. Geht das überhaupt? Macht das letztendlich Sinn?
Verschiedene Datentypen als Array-Elemente ergeben nur in wenigen Fällen Sinn. Versuche sie zu vermeiden, soweit möglich. Wenn du diese Daten an eine Prozedur/Funktion/Methode übergeben musst, kannst du array of const verwenden. Einen solchen Array kannst du aber nicht in Variablen zwischenspeichern. Alternativ kannst du einen Record mit dem Datentyp Variant erstellen.
Globale Variablen deklarierst du am besten gar nichtAdromir hat geschrieben: Deklarationen & Vererbungen & Code Einbindung
In PHP habe ich mir angewöhnt, thematisch ähnliche Codeabschnitte zur Übersichtlichkeit in separate Dateien auszulagern. Dazu sind ja die Units da. Aber wo binde ich diese dann am besten ein? In der Hauptdatei (da scheint ja irgendwie nicht so viel zu passieren) oder in der Formular Unit, in der die Funktionen/Prozeduren aufgerufen werden? (gibt es da was zu beachten?) . Ebenso für globale Variabeln? Wo deklariere ich diese am besten?

Wähle im Objektinspektor die Eigenschaft Anchors aus. Darüber kannst du den Editor starten und das alles einstellen.Adromir hat geschrieben: Positionierung von Elementen
Werden Komponenten in einem Formular nur "absolut" positioniert, oder gibt es auch Möglichkeiten zur "relativen" Positionierung also sowas wie (10px neben dem vorherigen Element)?
Siehe GetAppConfigDir und GetAppConfigFileAdromir hat geschrieben: Dateipfade
Wenn ich eine Datei ändern/laden möchte.. Also z.B. eine Ini-Datei laden möchte, wie müssen die Pfade geformt sein? Müssen das immer absolute Pfade sein (also z.B. "C:\meinprogram\konfiguration\meine.ini"), oder können die Pfade auch relativ vom Programm sein ("\konfiguration\meine.ini")
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Diverse Anfängerfragen (gemischte Themen)
Erstmal ein ganz großes Danke!! Da hast du mir echt schon weiter geholfen. Zu GetAppConfigDir und GetAppConfigFile hab ich noch ne Nachfrage.. Wie speichere ich da Konfigurationen? Das ist mir noch nicht ganz klar. Zudem.. Mein Programm sollte "portabel" sein, also nix in irgendwelche Systemordner schreiben. Das wäre mir schon wichtig, würde da eigentlich lieber mit INI Dateien arbeiten.
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Diverse Anfängerfragen (gemischte Themen)
Wie du schon schreibst, in eine INI-Datei. Man könnte auch XML nehmen, aber für den Anfang ist INI sicher die beste Wahl.Wie speichere ich da Konfigurationen?
Hier hat es ein kleines Beispiel wie dies geht. Wen etwas unklar ist, einfach fragen.
http://wiki.freepascal.org/Using_INI_Files/de
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 2122
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Diverse Anfängerfragen (gemischte Themen)
Ich hatte mal angefangen ein Pascal Tutorial zu schreiben, habe aber irgendwann keine Zeit mehr gefunden weiter zu machen. Aber alle grundlegenden imperativen Pascal features sind schon drin. Nur der komplette OOP Teil fehlt noch (was ja mit das wichtigste ist).
Trozdem kannst du mal reinschauen, denn grade wenn es um Sprachfeatures geht (die nichts mit OOP zu tun haben) sollte da einiges erklärt sein (und auch viele Antworten zu deinen Fragen enthalten):
Link
Trozdem kannst du mal reinschauen, denn grade wenn es um Sprachfeatures geht (die nichts mit OOP zu tun haben) sollte da einiges erklärt sein (und auch viele Antworten zu deinen Fragen enthalten):
Link
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Diverse Anfängerfragen (gemischte Themen)
Im Wiki ist auch ein deutsches Tutorial in Arbeit: http://wiki.freepascal.org/Object_Pascal_Tutorial/de
Die englische Version scheint fertig zu sein.
Die englische Version scheint fertig zu sein.
Ich kenne das Problem, ein Tutorial frisst sehr viel Zeit.habe aber irgendwann keine Zeit mehr gefunden weiter zu machen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot