Beispiel C/S Datenbank
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Beispiel C/S Datenbank
Ich sehe im Prinzip 3 grosse Baustellen für Andy
1) Die reine Daten-Struktur der Datenbank von 4D nach wasauchimmer schieben. Ich kann nur hoffen es gibt saubere Primär/Fremd-Schlüssel
2) Lazarus/FreePascal lernen
3) "Portieren" (ggfs. komplett neu schreiben) seines bisherigen Quellcodes
Ich denke es gibt genug Leute hier, die dir bei allen 3 Punkten helfen können
1) Die reine Daten-Struktur der Datenbank von 4D nach wasauchimmer schieben. Ich kann nur hoffen es gibt saubere Primär/Fremd-Schlüssel
2) Lazarus/FreePascal lernen
3) "Portieren" (ggfs. komplett neu schreiben) seines bisherigen Quellcodes
Ich denke es gibt genug Leute hier, die dir bei allen 3 Punkten helfen können
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Das beruhigt mich nun wirklich.....- Danke an alle hier für die super Unterstützung.Zvoni hat geschrieben: Mi 5. Feb 2025, 13:23 Ich sehe im Prinzip 3 grosse Baustellen für Andy
1) Die reine Daten-Struktur der Datenbank von 4D nach wasauchimmer schieben. Ich kann nur hoffen es gibt saubere Primär/Fremd-Schlüssel
2) Lazarus/FreePascal lernen
3) "Portieren" (ggfs. komplett neu schreiben) seines bisherigen Quellcodes
Ich denke es gibt genug Leute hier, die dir bei allen 3 Punkten helfen können

-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Was meinst du genau mit :...Ich habe gerne units verwendet und die Sachen wirklich gekapselt ? .- verstehe ich das richtig das du z.B eine Unit genommen hast für sagen wir die Terminplanung und eine andere für Artikelverwaltung und eine....usw. und am Ende alles zusammengeführt hast zu einem Programm? Grüßeaf0815 hat geschrieben: Di 4. Feb 2025, 18:05Nein, alles ist grundlegend machbar. Wenn du eine intensive Woche für eine definierte Problemstellung machst, Bsp. einfache GUI Eingabe, bringt dir einmal ein Gefühl und bessere Einschätzbarkeit.Andy Nightingale hat geschrieben: Di 4. Feb 2025, 17:32 Danke sehr. Höre ich da heraus das es garnicht machbar ist nach deinen Erfahrungen? Du klingst nicht so das es machbar wäre.
Man kann bei Lazarus mit geschickter Planung viel Zeit und Resourcen sparen durch Vererbung und damit verbundene Templates. Beispiel ist der Login und Rechte. Weil die hast du in jedem Clientteil. Das einmal erstellt, kann wir eine Blackbox überall verwendet werden. Die Arbeit dabei ist, es einmal sauber hinzubekommen, dann ist es an einer Stelle und auch nur an einer Stelle zu Warten. Ist das Design falsch und wird wild in jedes Projekt hineinkopiert, hast du einen Wartungsirrsinn, weil jeder Bugfix überall nachgeführt werden muss, wehe du vergisst eine Stelle.
Ich habe gerne units verwendet und die Sachen wirklich gekapselt. Bei GUI gehen auch Forms zu vererben, am liebsten aber über dynamische Frames. Gerade Frames sind geschaffen für Kapselung, wenn man eine gewisse Disziplin aufbringt.
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Beispiel C/S Datenbank
Ich glaube af0815 meint sowas wie im Anhang (Ist nur ein kleines Beispiel) Form2 "erbt" von Form1Andy Nightingale hat geschrieben: Mi 5. Feb 2025, 14:11 Was meinst du genau mit :...Ich habe gerne units verwendet und die Sachen wirklich gekapselt ? .- verstehe ich das richtig das du z.B eine Unit genommen hast für sagen wir die Terminplanung und eine andere für Artikelverwaltung und eine....usw. und am Ende alles zusammengeführt hast zu einem Programm? Grüße
Du siehst die Messagebox für Form2 ("Geerbte Form"), wenn du auf "Geerbten Button" clickst, obwohl nirgends in Form2 dafür Code steht
Im Prinzip: Wenn du verschiedene Formen hast (Formen sind auch Objekte/Klassen), kannst du den Teil, der überall gleich ist "auslagern"
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Ja praktisch kann ich etwas nutzen das woanders ist.....dann stimmt das was ich gesagt habe.- oder? Also das ich eine Unit habe mit Termindaten und eine mit Tagesdaten (blödes Beispiel aber was besseres fällt mir gerade nicht ein) aber auf die Termindaten zugreifen kann oder etwas anderes eben. Echt cool. Danke für das Beispiel das ich studieren werde....braucht eben eine Weile bis es klick macht.Zvoni hat geschrieben: Mi 5. Feb 2025, 14:56Ich glaube af0815 meint sowas wie im Anhang (Ist nur ein kleines Beispiel)Andy Nightingale hat geschrieben: Mi 5. Feb 2025, 14:11 Was meinst du genau mit :...Ich habe gerne units verwendet und die Sachen wirklich gekapselt ? .- verstehe ich das richtig das du z.B eine Unit genommen hast für sagen wir die Terminplanung und eine andere für Artikelverwaltung und eine....usw. und am Ende alles zusammengeführt hast zu einem Programm? Grüße
project1.zip
Form2 "erbt" von Form1
Du siehst die Messagebox für Form2 ("Geerbte Form"), wenn du auf "Geerbten Button" clickst, obwohl nirgends in Form2 dafür Code steht
Im Prinzip: Wenn du verschiedene Formen hast (Formen sind auch Objekte/Klassen), kannst du den Teil, der überall gleich ist "auslagern"

- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Beispiel C/S Datenbank
So was ähnliches.
Es lauft im Prinzip darauf hinaus, dass wenn sich Code wiederholt (und dabei egal, ob innerhalb derselben Unit oder über andere Units verteilt), kann (eigentlich "soll") dieser Code in eine eigene Unit ausgelagert werden. So hast du nur eine Stelle zu bearbeiten, sofern du was ändern/verbessern willst.
Wie in meinem Beispiel, wenn du die Nachricht für den Button-Click ändern willst: Es gibt nur eine Stelle.
Es lauft im Prinzip darauf hinaus, dass wenn sich Code wiederholt (und dabei egal, ob innerhalb derselben Unit oder über andere Units verteilt), kann (eigentlich "soll") dieser Code in eine eigene Unit ausgelagert werden. So hast du nur eine Stelle zu bearbeiten, sofern du was ändern/verbessern willst.
Wie in meinem Beispiel, wenn du die Nachricht für den Button-Click ändern willst: Es gibt nur eine Stelle.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Verstehe. Dann könnte ich ja sämtliche Programmierungen in eine Unit reinmachen....cool.
-
- Beiträge: 724
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Beispiel C/S Datenbank
Ich weißt nicht, vielleicht sie richtig benutzen. Ich glaube du bist neu in Lazarus- und Pascalwelt, deshalb wäre es vielleicht besser, dass ihr das jemanden mit Erfahrung machen lässt und du in Lazarus/Pascal einarbeitest und später an dem fertigen Programm-Quelltext, falls nötig, Anpassungen vornimmst.Andy Nightingale hat geschrieben: Di 4. Feb 2025, 11:34Hallo Soner,Soner hat geschrieben: Mo 3. Feb 2025, 23:55 Ich würde in deiner Stelle folgendes nehmen:
- Datenbank --> Firebird,
- Datenbank-Komponenten --> SQLDB oder ZEOS,
- Berichte --> LazReport + Grids + HTML + PascalScript,
- PDF --> Chromium,
- Scan --> Twain,
damit bist du sehr gut aufgehoben. Verwende kein Appserver, kommuniziere direkt mit Firebird-Server. AppServer machen Programme nur komplizierter.
Nach deiner Aufgabenstellung hier hier ist das nur ein paar Monate Arbeit, so schwer ist das nicht maximal 3-4 Monate.
das scheint genauso zu sein wie ich es mir vorstelle. Danke sehr. Was ich noch nicht verstehe ist auf was muß ich achten wenn ich code von außerhalb in meinen hinein bringen möchte? Da verhaut es mir immer und ich verstehe es nicht genau. Weißt du was ich meine?
-
- Beiträge: 724
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Beispiel C/S Datenbank
MS-Produkte sind sehr schwerfällig, sehr kompliziert, es ändert sich ständig irgendetwas, deshalb wird ja für diese Produkte Schulungen angeboten, das gilt auch für viele andere Produkte wie z.b. MySql.af0815 hat geschrieben: Di 4. Feb 2025, 06:29Ich bin da nicht ganz einig - In etlichen Firmen ist MS-SQL Server oder IBM DB2 Standard. Vor allen würde ich mich da an die Server-Fritzen wenden, was die verwenden, weil mit einem Exot im Serverpool wird auf lange Sicht keiner glücklich.Soner hat geschrieben: Mo 3. Feb 2025, 23:55 Ich würde in deiner Stelle folgendes nehmen:
- Datenbank --> Firebird,
BTW: Es ist den meisten nicht bekannt, das der MS SQL Server nicht nur unter Windows läuft, sondern auch excellent unter Linux Ubuntu. MS hat dazu auch eine sehr gute Doku für die Installation. Das kann man dann beliebig skalieren, vom kleinen Access Ersatz (Express !!) bis zum Vollen Server ist es dieselbe Engine und die Administrierung und Performancetools sind ja da auch kostenlos (für private Zwecke und Evaluierung).
Express:Administrieren muss man von einem Windows PC aus, das ist klar.SQL Server 2022 Express ist eine kostenlose Edition von SQL Server, ideal für die Entwicklung und Produktion von Desktop-, Web- und kleinen Serveranwendungen.
Link zur Linuxinstallation: https://learn.microsoft.com/de-de/sql/l ... ubuntu2004 Kommt eine neue Langzeitversion von Ubuntu heraus, folgt kurz darauf auch MS mit einer neuen Installationsanleitung.
Bei uns in der Firma war bei einer Maschine MySql installiert, irgendwas ist kaputt gegangen, da die Maschine abgeschottet war, konnte ich nicht vieles machen, der Hersteller hat 1-2 Monaten gebraucht um es wieder zum laufen zu bekommen. In dieser Zeit haben sie uns Ingenieur-Arbeitsstunden von 150-200 € in Rechnung gestellt. Bei Firebird hätte ich das ganze sogar von USB-Stick laufen lassen.
Ich erweitere Firebird-DB im laufenden Betrieb um neue Spalten und Tabellen, es läuft. Das ist auch ein Vorteil von einfachen Basic-Komponenten wie SQLDB oder ZEOS. Bei Frameworks wie Mormot musste man DB neu erstellen von der Alten importieren usw. Der PC mit FB-Server ist wegen Stromausfall einige male ausgeganden, es ist nichts mit DB passiert. Ich benutze es seit über 20 Jahren und ich bin sehr zufrieden.
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Beispiel C/S Datenbank
Bei dieser ganzen Diskussion über "welches DBMS" Andy nutzen kann/soll, wird wohl eins vergessen:
Lizenzierung.
Denkt dran: So wie ich es verstehe, ist der Anwendungsfall von Andy kommerziell (Es ist ein Institut/Firma?).
Da stellt sich die Frage, in wieweit die Lizenzen für Firebird, MySQL, MariaDB etc. damit kollidieren
Weil wenn das auch noch ins Spiel kommt, würde ich sogar eher PostGres nehmen
Lizenzierung.
Denkt dran: So wie ich es verstehe, ist der Anwendungsfall von Andy kommerziell (Es ist ein Institut/Firma?).
Da stellt sich die Frage, in wieweit die Lizenzen für Firebird, MySQL, MariaDB etc. damit kollidieren
Weil wenn das auch noch ins Spiel kommt, würde ich sogar eher PostGres nehmen
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Ja ich denke das Firebird das richtige ist. Danke für die Erfahrung.Soner hat geschrieben: Do 6. Feb 2025, 09:44MS-Produkte sind sehr schwerfällig, sehr kompliziert, es ändert sich ständig irgendetwas, deshalb wird ja für diese Produkte Schulungen angeboten, das gilt auch für viele andere Produkte wie z.b. MySql.af0815 hat geschrieben: Di 4. Feb 2025, 06:29Ich bin da nicht ganz einig - In etlichen Firmen ist MS-SQL Server oder IBM DB2 Standard. Vor allen würde ich mich da an die Server-Fritzen wenden, was die verwenden, weil mit einem Exot im Serverpool wird auf lange Sicht keiner glücklich.Soner hat geschrieben: Mo 3. Feb 2025, 23:55 Ich würde in deiner Stelle folgendes nehmen:
- Datenbank --> Firebird,
BTW: Es ist den meisten nicht bekannt, das der MS SQL Server nicht nur unter Windows läuft, sondern auch excellent unter Linux Ubuntu. MS hat dazu auch eine sehr gute Doku für die Installation. Das kann man dann beliebig skalieren, vom kleinen Access Ersatz (Express !!) bis zum Vollen Server ist es dieselbe Engine und die Administrierung und Performancetools sind ja da auch kostenlos (für private Zwecke und Evaluierung).
Express:Administrieren muss man von einem Windows PC aus, das ist klar.SQL Server 2022 Express ist eine kostenlose Edition von SQL Server, ideal für die Entwicklung und Produktion von Desktop-, Web- und kleinen Serveranwendungen.
Link zur Linuxinstallation: https://learn.microsoft.com/de-de/sql/l ... ubuntu2004 Kommt eine neue Langzeitversion von Ubuntu heraus, folgt kurz darauf auch MS mit einer neuen Installationsanleitung.
Bei uns in der Firma war bei einer Maschine MySql installiert, irgendwas ist kaputt gegangen, da die Maschine abgeschottet war, konnte ich nicht vieles machen, der Hersteller hat 1-2 Monaten gebraucht um es wieder zum laufen zu bekommen. In dieser Zeit haben sie uns Ingenieur-Arbeitsstunden von 150-200 € in Rechnung gestellt. Bei Firebird hätte ich das ganze sogar von USB-Stick laufen lassen.
Ich erweitere Firebird-DB im laufenden Betrieb um neue Spalten und Tabellen, es läuft. Das ist auch ein Vorteil von einfachen Basic-Komponenten wie SQLDB oder ZEOS. Bei Frameworks wie Mormot musste man DB neu erstellen von der Alten importieren usw. Der PC mit FB-Server ist wegen Stromausfall einige male ausgeganden, es ist nichts mit DB passiert. Ich benutze es seit über 20 Jahren und ich bin sehr zufrieden.
-
- Beiträge: 179
- Registriert: Mo 13. Jan 2025, 12:11
Re: Beispiel C/S Datenbank
Ja ich habe das direkt überprüft. Kein Problem...wirklich kostenlos auch für kommerzielle Produkte...also Lazarus und Firebird.Zvoni hat geschrieben: Do 6. Feb 2025, 09:49 Bei dieser ganzen Diskussion über "welches DBMS" Andy nutzen kann/soll, wird wohl eins vergessen:
Lizenzierung.
Denkt dran: So wie ich es verstehe, ist der Anwendungsfall von Andy kommerziell (Es ist ein Institut/Firma?).
Da stellt sich die Frage, in wieweit die Lizenzen für Firebird, MySQL, MariaDB etc. damit kollidieren
Weil wenn das auch noch ins Spiel kommt, würde ich sogar eher PostGres nehmen
