LazPlan v0.7 (Beta) - Schaltplansoftware

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von mse »

compmgmt hat geschrieben:Das hat vor allem zwei Hauptgründe: Betriebssystemabhängige Bugs oder Dinge, die je nach Betriebssystem anders sind und die fehlende Zeit diese Dinge für Windows UND Linux zu entwickeln und zu testen.

Kennst du MSEide+MSEgui nicht? In meinen Programmen muss ich zwischen Linux und Windows keine einzige Zeile ändern. Welche betriebssytemspezifische Dinge machen Probleme?

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

Ja, kenne ich. In Lazarus muss ich dank ifdef Schaltern und portieren WINAPI Funktionen auch nichts wirklich ändern. Jedoch würde mse leider auch nur die grafischen Probleme beheben, da ich einige Dinge an Linux selbst unschön finde. Z.b. Kann ich nirgends auslesen (ohne riesige Abfragen) welches Standard-Terminal ich installiert habe bzw. wo sich die passende Binary befindet. Dann muss ich bei jedem Start eines Konsolenprogramms nach der Binary fragen. Das ist sehr unschön, obwohl die zuletzt eingegebene Binary direkt im Textfeld drin steht. Der Hauptgrund ist aber eben vorallem die Zeit auch alles entsprechend auf Linux zu testen. Außerdem ist es auch immer ein entsprechender Aufwand zu schauen, dass man möglichst keine Funktionen (nicht nur API, sondern auch Komponenten des Betriebssystems) nutzt um auf allen Plattformen die gleichen Funktionalitäten zu haben.

Alternativ habe ich mir überlegt und bin auch dran, LazPlan zusätzlich als Browser-Anwendung zu machen. So könnte man es (wahrscheinlich nicht mit allen Funktionen, aber allen wichtigen) auch unter allen anderen Systemen nutzen.

Zu guter letzt ist es allerdings auch eine persönliche Entscheidung, da ich Linux nur als Sekundärsystem nutze und LazPlan primär auch für mich eine Programmierübung und eine Erleichterung im Arbeitsalltag darstellen soll.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von mse »

compmgmt hat geschrieben:JZ.b. Kann ich nirgends auslesen (ohne riesige Abfragen) welches Standard-Terminal ich installiert habe bzw. wo sich die passende Binary befindet. Dann muss ich bei jedem Start eines Konsolenprogramms nach der Binary fragen. Das ist sehr unschön, obwohl die zuletzt eingegebene Binary direkt im Textfeld drin steht.

Das verstehe ich nicht. Was verstehst du unter "Standard-Terminal"? Warum musst du beim Start eines Konsolenprogrammes nach der Binary fragen? MSEgui hat übrigens die Komponente "TTerminal" um ein Terminal-Fenster innerhalb der Applikation zur Verfügung zu stellen. Beispiele sind das Terminal-Fenster in MSEide und das git-Konsolenfenster in MSEgit.
Der Hauptgrund ist aber eben vorallem die Zeit auch alles entsprechend auf Linux zu testen. Außerdem ist es auch immer ein entsprechender Aufwand zu schauen, dass man möglichst keine Funktionen (nicht nur API, sondern auch Komponenten des Betriebssystems) nutzt um auf allen Plattformen die gleichen Funktionalitäten zu haben.

Wie bereits gesagt, MSEgui nimmt dir diese Sorgen ab.
Alternativ habe ich mir überlegt und bin auch dran, LazPlan zusätzlich als Browser-Anwendung zu machen. So könnte man es (wahrscheinlich nicht mit allen Funktionen, aber allen wichtigen) auch unter allen anderen Systemen nutzen.

Browser-Anwendungen sind meiner Meinung nach eher ein Notbehelf und für CAD-Anwendungen zwangsläufig weniger leistungsfähig.

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

Das TTerminal klingt tatsächlich sehr gut. Jedoch meine ich bei dem Punkt Betriebssystemabhängige Komponenten, Dinge wie COM, OLE und andere Betriebssystemabhängige Komponenten und Schnittstellen.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von mse »

Aha, wenn du COM und OLE verwendest, ist es natürlich "Windows only".
Aber ein Schaltplanprogramm das COM und OLE voraussetzt???

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

mse hat geschrieben:Aha, wenn du COM und OLE verwendest, ist es natürlich "Windows only".
Aber ein Schaltplanprogramm das COM und OLE voraussetzt???
Das war nur ein Beispiel. OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen. Voraussetzung wäre da natürlich MS Office. Deswegen würde ich solch ein Feature als Optional deklarieren. Ob ich solch ein Feature mittels OLE implementieren würde, mir selbst so etwas schreibe oder es überhaupt gar nicht einbaue, muss ich noch schauen.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

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

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von Mathias »

OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen.

Dafür gibt es eine Komponente "fpspreadsheet" mit dieser kann du direkt in deiner Anwendung eine Execel-Tabelle öffnen.

Voraussetzung wäre da natürlich MS Office.
Genau, dies ist etwas, da nervt, immer diese Abhängigkeit von M$.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von mse »

compmgmt hat geschrieben:Das war nur ein Beispiel. OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen. Voraussetzung wäre da natürlich MS Office. Deswegen würde ich solch ein Feature als Optional deklarieren. Ob ich solch ein Feature mittels OLE implementieren würde, mir selbst so etwas schreibe oder es überhaupt gar nicht einbaue, muss ich noch schauen.

Letztes Jahr habe ich ein entsprechendes Programm für KiCad gemacht:
https://gitlab.com/mseide-msegui/mseuni ... SEkicadBOM
https://gitlab.com/mseide-msegui/mseuni ... ools/kicad
Binary:
https://sourceforge.net/projects/mseuni ... ekicadbom/
Ohne OLE. ;-)

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.6 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

Ah, Vielen Dank. Werde ich mir definitiv mal anschauen.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.7 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

So, nun sind wir bei der Version 0.7 angelangt. Man kann in LazPlan jetzt Schaltpläne ausdrucken. Diese werden auf die volle Größe der Seite skaliert. Man kann bisher nur folgende Dinge beim Ausdrucken einstellen:
- Drucker
- Hoch-/Querformat
- Anzahl der Ausdrucke

Außerdem habe ich eine Vorschau eingebaut. Seitenverhältnis ist 1/sqrt(2).

Ich hoffe das ganze funktioniert bei allen Druckern, sollte es aber eigentlich. Wenn es nicht funktioniert oder ihr Ideen habt, einfach Bescheid sagen.
Dateianhänge
Druckdialog
Druckdialog

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: LazPlan v0.7 (Beta) - Schaltplansoftware

Beitrag von compmgmt »

Update nach langer Zeit

Bereits vor zwei Wochen habe ich mich mal wieder an die Entwicklung gesetzt und das komplette Übersetzungssystem neu geschrieben und mit der Verison 0.7.1.0 veröffentlicht. An sich hat sich aber für den Benutzer nicht viel geändert.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Antworten