Samstag, 16. März 2024

Data-SCP für Windows

Data-SCP unter Windows
Datentransfer - secure copy (Data-SCP) habe ich nun unter Windows mit der
Entwicklungsumgebung Lazarus nach gebaut. Ich hatte ja im vorherigen Beitrag schon einmal erwähnt, dass das gerade mein neues Projekt ist und ich sehen wollte, wie man denn mit Free-Pascal plattformübergreifend entwickeln kann. Mein kleines Datentausch-Tool bietet sich doch dafür perfekt an, oder? Natürlich habe ich erstmal nur die grundlegenden Funktionen eingebaut. Man hat also keine Server-Auswahl-Liste und auch keine Trayicon-Funktion, auch die Programmfarbe kann nicht eingestellt werden. Dennoch funktioniert es zufriedenstellend bei mir unter einem Windows 11. Die scp Befehlsfolge wird wie gehabt über die Kommandozeile ausgeführt, ebenso die Passworteingabe, welche man blind in die Shell tippt. Das Problem mit der Dateierstellung (für die Konfiguration) auf der Windows-Kommandozeile konnte ich im Programmcode ziemlich einfach lösen. Lazarus ist demnach wirklich eine RAD Entwicklungsumgebung. Ich konnte das Tool in einigen, wenigen Stunden designen, coden und hier bereitstellen. Das ist vorbildlich.

Was weniger schön, ist das Thema Lizenzierung. Wenn ich es richtig verstehe, dann kann man die Binärdateien des Programms ohne irgendwelche Hinweise oder Lizenzen weitergeben. Der Benutzer müsste sich dann das Programm unter Lazarus selbst bauen bzw. ausführen. Will man eine fertige, ausführbare Anwendung weitergeben, in meinem Fall eine EXE-Datei, dann muss man auf die angepasste LGPL von Lazarus verweisen, da man ja die Komponenten, z.B. Buttons, Labels usw. der IDE verwendet. Das wirkt alles etwas verwirrend. Jedenfalls habe ich im Programm einen Button eingefügt, der zu der erwähnten Lizenz führt.    

Hier kann man das fertige Programm (datascp.exe) herunterladen. Es würde mich freuen, wenn dies der ein oder andere User mal ausprobiert. Die Verbindung geht leider nur zu einem Linux-Server, denn die Befehlssyntax zu einem Windows-Server ist sehr wahrscheinlich abweichend, denke ich zumindest. Und da noch der versprochene Quellcode als ZIP-Archiv. Damit kann der Interessierte hoffentlich alles gut nachvollziehen. Ob ich jetzt extra noch ein Git-Repo einrichte, weiß ich noch nicht. Für die eigentliche Funktionsweise von Data-SCP siehe dem Link zur aktuellen Linux-Version des Programms.

Ich wünsche viel Spaß damit.  

Freitag, 15. März 2024

Lazarus Programmierung - ein erster Test

Was ist eigentlich Lazarus?

Bis vor Kurzem hatte ich mich mit "Lazarus" noch nie auseinandergesetzt. Ich hab mal irgendwann etwas davon gehört, aber das hatte mich bisher nie interessiert. Doch, wie gesagt, kürzlich bin ich mal wieder darüber gestolpert, als ich mehr über das Thema aktuelle Programmiersprachen suchte. Auf der offiziellen Internetseite kann man sich das Projekt näher anschauen. Bei Lazarus handelt es sich um eine plattformübergreifende Entwicklungsumgebung für die Programmiersprache Free Pascal. Und wenn man genau hinschaut, dann stellt man fest, Free Pascal ist wirklich auf sehr vielen Systemen lauffähig. Man kann demzufolge für sehr unterschiedliche Hardware programmieren und dies in einer sehr guten, kostenlosen IDE. 

Ich habe mir Lazarus nun einmal angeschaut, bin gerade dabei mein kleines Tool Data-SCP in einer Windowsversion zu bauen. (Demnächst mehr Infos.) Jedenfalls soll Lazarus "Delphi" -fähig sein. Delphi, Delphi, Delphi, - da war doch was, das kennst du doch schon woher?! Genau, Delphi ist die Programmier-IDE von Borland. Von Borland erinnere ich mich noch an Turbo-Pascal, in einer DOS-Version. Später hab ich sicherlich mal das Borland-Pascal unter Windows angeschnuppert. Mein erstes grafisches Programm entstand sicherlich mit Delphi (auch wenn es nur ein "Hello World" war). Darüber hinaus ist aber nichts weiter geworden, weil ja die IDE's nicht für umme waren und als Schüler kann man keine hunderte, oder tausende Mark auftreiben, um irgendwelchen Programmierphantasien nachzujagen. Genauso war auch das Thema für mich damals nur eine Randnotiz. Schade eigentlich, heute wäre ich gern ein richtiger Programmierer oder Softwareentwickler. Aber wie das Leben so spielt ...

Nun hat man so viele Möglichkeiten ganz legal richtige Software zu programmieren. Das Schwierigste ist wohl eher die passende Sprache dafür zu wählen. Informationen, Foren und selbst Bücher findet man im Internet ja genügend. Leider ist Lazarus bisher an mir vorbeigegangen und deshalb ist meine favorisierte Entwicklungsumgebung unter Linux (Stand heute) noch immer Gambas, denn die Einfachheit, gerade für Anfänger, ist für mich unübertroffen. Dennoch hab ich mir Lazarus in der aktuellen Version 3.2 unter Windows 11 und unter Linux Mint 21.3 installiert. Ich werde mir Free Pascal somit etwas mehr zu Gemüte führen. Das erste Projekt (oben schon erwähnt) ist bereits in Arbeit und ich merke dabei schon einen gewissen Unterschied zu Gambas. Klar, Pascal ist nicht Basic, dennoch scheinen sich einige Dinge "viel" komplizierter zu schreiben. Mein erstes Problem bestand schon darin, dass man unter der Windows Kommandozeile nicht einfach eine leere Textdatei erstellen kann. Ja doch es geht über einen kleinen Umweg, aber ein direkter Befehl Erstelle Textdatei.txt gibt es da nicht. Ist zwar ein Windows-Problem, aber auch auf die Schnelle fand ich keine Lösung unter Lazarus bzw. Pascal. Mal schauen, ob ich mit Free Pascal warm werde, oder ob ich das Thema wieder verwerfe. Dennoch scheint die IDE sehr interessant.

Freitag, 1. März 2024

Grundkurs Linux Terminal - Teil 5

Grundkurs Linux Terminal - Teil 5

Hier nun (etwas verspätet) der abschließende 5. Teil des "Grundkurs Linux Terminal" auf meinem Blog openyourlinux.de für alle Linux-Neulinge und Einsteiger. Heute etwas weniger Befehle, dafür mehr Anwendungen im Terminal.

Sonntag, 11. Februar 2024

Grundkurs Linux Terminal - Teil 4

Grundkurs Linux Terminal - Teil 4

In Teil 4 des Grundkurs Linux Terminal soll es nun um einige Kommandos gehen, die Informationen zu verschiedenen Prozessen liefern, Terminal-Befehle, die Systeminformationen anzeigen und ich will noch ein paar Konvertierungstools auf Kommandozeilenebene vorstellen.