Lazarus IDE und Datenbanken
-
- Beiträge: 4
- Registriert: Mo 28. Jun 2021, 20:05
- OS, Lazarus, FPC: Windows 10, Lazarus 2.0.12
- CPU-Target: 64 Bit
Lazarus IDE und Datenbanken
Hallo zusammen,
ich fange gerade an mich mit Lazarus (2.0.12) zu beschäftigen.
Programmiersprachen und Datenbanken sind für mich nichts Neues.
Zum Lernen habe ich fleißig Google befragt und bin auf ein PDF Dokument (LazInfosDas Lazarus Beispielbuch, https://docplayer.org/docview/26/704347 ... 043474.pdf) gestoßen
das sehr vielversprechend aussah.
Ich habe begonnen das Beispiel umzusetzen und bin recht früh auf Probleme gestoßen.
Wie im Beispiel vorgegeben habe ich im Formular auch eine ActionList eingefügt.
https://www.amazon.de/clouddrive/share/ ... xdv8lSDkxG
Leider kann ich die im Beispiel genannten Aktionen zur ActionList nicht nachvollziehen, da mir die vorgeschlagenen Aktion im Aktionslisteneditor nicht angeboten werden.
Jetzt bin ich (ohne Google, da habe ich nichts gefunden habe) auf der Suche nach Hilfe.
Ich erwarte nicht, dass mir jemand bei dem Beispiel hilft.
Vielmehr bin ich auf der Suche nach eine brauchbaren Dokumentation oder guten Beispielen, die mir den Einstieg erleichtern.
Hat jemand eine Idee?
ich fange gerade an mich mit Lazarus (2.0.12) zu beschäftigen.
Programmiersprachen und Datenbanken sind für mich nichts Neues.
Zum Lernen habe ich fleißig Google befragt und bin auf ein PDF Dokument (LazInfosDas Lazarus Beispielbuch, https://docplayer.org/docview/26/704347 ... 043474.pdf) gestoßen
das sehr vielversprechend aussah.
Ich habe begonnen das Beispiel umzusetzen und bin recht früh auf Probleme gestoßen.
Wie im Beispiel vorgegeben habe ich im Formular auch eine ActionList eingefügt.
https://www.amazon.de/clouddrive/share/ ... xdv8lSDkxG
Leider kann ich die im Beispiel genannten Aktionen zur ActionList nicht nachvollziehen, da mir die vorgeschlagenen Aktion im Aktionslisteneditor nicht angeboten werden.
Jetzt bin ich (ohne Google, da habe ich nichts gefunden habe) auf der Suche nach Hilfe.
Ich erwarte nicht, dass mir jemand bei dem Beispiel hilft.
Vielmehr bin ich auf der Suche nach eine brauchbaren Dokumentation oder guten Beispielen, die mir den Einstieg erleichtern.
Hat jemand eine Idee?
Mein Motto: "Geht nicht, gibt's nicht"
Frank
Frank
Re: Lazarus IDE und Datenbanken
Bin selbst nicht so buchaffin was coden angeht und kann dir dahingehend keinen Ratschlag über gute Literatur geben. Ich nutze gern Beispielprojekte und lese mich in den Code ein. Wenn da was hilfreich wäre, könnte ich da gern aushelfen.
Ansonsten ist für Lazarus mMn das Wiki eine gute Anlaufstelle, wobei man dabei durchaus neben der deutschen auch die englische Seite mal anschauen sollte. Habs nicht ausprobirt, doch auf den ersten Blick würde ich mich an dem Tutorial orientieren: https://wiki.freepascal.org/SQLdb_Tutorial0
Ansonsten ist für Lazarus mMn das Wiki eine gute Anlaufstelle, wobei man dabei durchaus neben der deutschen auch die englische Seite mal anschauen sollte. Habs nicht ausprobirt, doch auf den ersten Blick würde ich mich an dem Tutorial orientieren: https://wiki.freepascal.org/SQLdb_Tutorial0
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- 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: Lazarus IDE und Datenbanken
Wenn du mir schreibst, welches Beispiel (Seite) genau, dann kann ich helfen. Nachdem ich das ganze geschrieben habe. Die dort verwendeten Sourcen sind fast 7 Jahre alt
Wenn sich wer findet, der auch etwas beisteuern will/kann, dann könnte ich mich wieder motivieren
Die Sourcen zum 'Buch' sind übrigends hier. https://github.com/afriess/LazInfos - war ursprünglich auf Sourceforge gehostet und hat sich dann verteilt. Das mit Sourcen meine ich wörtlich, es ist in Latex geschrieben
Zu deinem ActionList Problem:
Füge mit + einmal eine eigene Action hinzu. wenn du dann auf die neue Action einen doppelclick machst bekommst du einen Rumpf vorgeschlagen.


Die Sourcen zum 'Buch' sind übrigends hier. https://github.com/afriess/LazInfos - war ursprünglich auf Sourceforge gehostet und hat sich dann verteilt. Das mit Sourcen meine ich wörtlich, es ist in Latex geschrieben

Zu deinem ActionList Problem:
Füge mit + einmal eine eigene Action hinzu. wenn du dann auf die neue Action einen doppelclick machst bekommst du einen Rumpf vorgeschlagen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 4
- Registriert: Mo 28. Jun 2021, 20:05
- OS, Lazarus, FPC: Windows 10, Lazarus 2.0.12
- CPU-Target: 64 Bit
Re: Lazarus IDE und Datenbanken
Hallo af0815,af0815 hat geschrieben: Di 29. Jun 2021, 08:14 Wenn du mir schreibst, welches Beispiel (Seite) genau, dann kann ich helfen. Nachdem ich das ganze geschrieben habe. Die dort verwendeten Sourcen sind fast 7 Jahre altWenn sich wer findet, der auch etwas beisteuern will/kann, dann könnte ich mich wieder motivieren
![]()
Die Sourcen zum 'Buch' sind übrigends hier. https://github.com/afriess/LazInfos - war ursprünglich auf Sourceforge gehostet und hat sich dann verteilt. Das mit Sourcen meine ich wörtlich, es ist in Latex geschrieben
Zu deinem ActionList Problem:
Füge mit + einmal eine eigene Action hinzu. wenn du dann auf die neue Action einen doppelclick machst bekommst du einen Rumpf vorgeschlagen.
danke für die schnelle Antwort.
Ich hatte nicht gedacht direkt an den Autor des Dokumentes zu geraten.
Das mit dem Hinzufügen einer neuen Action habe ich mittlerweile (durch rumprobieren) gelöst.
Wenn ich zu diesem Beispiel noch weitere Fragen habe, komme ich gerne wieder auf dich zu.
Mein Motto: "Geht nicht, gibt's nicht"
Frank
Frank
-
- Beiträge: 1061
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: Lazarus IDE und Datenbanken
Hi - willkommen im Forum.Frankdarwin hat geschrieben: Mo 28. Jun 2021, 21:28 Wie im Beispiel vorgegeben habe ich im Formular auch eine ActionList eingefügt.
https://www.amazon.de/clouddrive/share/ ... xdv8lSDkxG
Leider kann ich die im Beispiel genannten Aktionen zur ActionList nicht nachvollziehen, da mir die vorgeschlagenen Aktion im Aktionslisteneditor nicht angeboten werden.
Möglicherweise liegt hier ein Verständnisproblem vor.
In einem ereignisorientieren Programm gibt es (nicht nur für den Benutzer) viele Möglichkeiten ein Ereignis auszulösen bzw seinen Willen kundzutun indem man ein Menü benutzt, einen Knopf drückt, einen Rechtsklick ausführt und vieles andere mehr.
Oft "führen viele Wege nach Rom" - es existieren also mehrere Möglichkeiten immer die gleiche Aktion (also immer das gleiche Stück Code) auszulösen.
Eine Actionlist ist (für mich) in erster Linie eine bequeme Sammlung von "Actions" die man sehr einfach an einen Knopf/Button oder ein anderes Control binden kann das diese Möglichkeit bietet (im Objekinspektor - Properties - Action).
Eine Action (TAction - eben in einer Actionlist bequem zusammengefasst) hat auch noch andere Vorteile. Zugeordnete Images werden ZB in Menüs und Buttons etc verwendet und die Sichtbarkeiten oder Enabled/Disabled wir an die zugeordneten Controls weitergegeben.
Actionlist disabled--> alle Controls mit dieser Actionlist disabled. (sonst mmüsste der Programmierer bei jeder einzelnen Verwendung aktiv werden.
Neue Action erstellen: Actionlist mit Doppelklick öffnen. mit + eine neue hinzufügen -- guten Namen vergeben -- und ein Doppelklick rechts auf den Listeneintraf bringt dich automatisch zu einem bereits vordefinierten Eventrumpf im Code.
Um ehrlich zu sein habe ich immer nur "Neue Aktion" und nie eine Standardaktion benutzt. Daher kenne ich mich damit auch nicht aus und es wäre für mich neu. Ist mir nie in den Sinn gekommen da auf das Dropdown zu klicken. Wahrnehmung ist schon ein komplexer Vorgang

- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- 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: Lazarus IDE und Datenbanken
Wenn man eine Standardaction nimmt, darf man keine Ereignisprozedure daran binden. Soweit habe ich es verstanden.
charlytango hat recht, mit der Beschreibung das mit TAction und TActionList sehr viel zusammenbinden kann. Auch die Menüeinträge, Speedbuttons etc. steuern sich automatisch und zentral. Das ist praktisch, weil es damit kann man zum Beispiel Knöpfe anpassen, der zuerst eine Funktion hat, und per Programm eine andere. Das ganze Zentral, damit muss man den Code nicht an mehreren Stellen warten.
charlytango hat recht, mit der Beschreibung das mit TAction und TActionList sehr viel zusammenbinden kann. Auch die Menüeinträge, Speedbuttons etc. steuern sich automatisch und zentral. Das ist praktisch, weil es damit kann man zum Beispiel Knöpfe anpassen, der zuerst eine Funktion hat, und per Programm eine andere. Das ganze Zentral, damit muss man den Code nicht an mehreren Stellen warten.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Lazarus IDE und Datenbanken
Actions sind "Abkürzungen", dass mehrere Controls z.B. ein Menüeintrag und ein Toolbutton und ein Eintrag im Kontextmenü dasselbe erledigen, ohne dass man den Code mehrmals schreiben muss. Man ordnet die Action der "Action"-Property des MenuItem des Hauptmenüs, des ToolButton und des MenuItem des Kontextmenü zu - und ein Klick auf jeder dieser Komponenten führt den der Action zugeordneten Code aus.
Es gibt zwei Arten von Actions: "normale" Actions und Standardactions. Normalerweise nimmt man die "normalen" Actions ("neue Action" im Action-Editor). Damit diese Action etwas tut, muss man einen Handler für das OnExecute-Ereignis schreiben. Das ist das, was bei dem Menü/Button/Kontextmenü-Click ausgeführt werden soll.
Standardactions (die sind auf deinem Screenshot zu sehen) erledigen eine festvorgegebene Standard-Aufgabe. TFileExit z.B. beendet das Programm, ohne dass du eine Zeile Code schreiben musst (du musst natürlich diese Action einem entsprechenden Button/Menüeintrag zuweisen). Gerade Datenbank-Anwendungen kann man sich mit Hilfe von Standardactions und den Standard-Komponenten zu zusammenklicken, so dass man Datensätze ansehen, bearbeiten einfügen und löschen kann - ohne eine Zeile Code (Warnung aber: Das würde ich im allgemeinen so aber nicht empfehlen...).
Es gibt zwei Arten von Actions: "normale" Actions und Standardactions. Normalerweise nimmt man die "normalen" Actions ("neue Action" im Action-Editor). Damit diese Action etwas tut, muss man einen Handler für das OnExecute-Ereignis schreiben. Das ist das, was bei dem Menü/Button/Kontextmenü-Click ausgeführt werden soll.
Standardactions (die sind auf deinem Screenshot zu sehen) erledigen eine festvorgegebene Standard-Aufgabe. TFileExit z.B. beendet das Programm, ohne dass du eine Zeile Code schreiben musst (du musst natürlich diese Action einem entsprechenden Button/Menüeintrag zuweisen). Gerade Datenbank-Anwendungen kann man sich mit Hilfe von Standardactions und den Standard-Komponenten zu zusammenklicken, so dass man Datensätze ansehen, bearbeiten einfügen und löschen kann - ohne eine Zeile Code (Warnung aber: Das würde ich im allgemeinen so aber nicht empfehlen...).
Re: Lazarus IDE und Datenbanken
Ich verwende Actionlist in erster Linie, um Shortcuts auf der Form abzufangen und darauf zu reagieren, weil das mit KeyPeview und onKeyDown nicht richtig funktioniert.
Mit der Actionlist definierte Shortcuts funktionieren einwandfrei.
Mit der Actionlist definierte Shortcuts funktionieren einwandfrei.
Gruß, Michael
-
- Beiträge: 4
- Registriert: Mo 28. Jun 2021, 20:05
- OS, Lazarus, FPC: Windows 10, Lazarus 2.0.12
- CPU-Target: 64 Bit
Re: Lazarus IDE und Datenbanken
Vielen Dank für eure hilfreichen Erklärungen!
Mein Motto: "Geht nicht, gibt's nicht"
Frank
Frank