Sonntag, 12. Juli 2015

Neue Version des HPKGCreators



Der HPKGCreator ist nun in Version 0.8-1 erhältlich und von  unseren eigenen Repository Server über HaikuDepot installierbar.

Dazu muss man unseren Server in die Liste von Servern von HaikuDepot hinzufügen:


Danach findet man in HaikuDepot unter Server “BeSly Software Solutions”.

Neue Funktionen:

Durch Experimentieren, zusammen mit Lorglas, mit dem Packagemanager von Haiku und diversen Versuchen lauffähige HPKG Dateien zu erstellen, sind nun ein paar neue Funktionen verfügbar.


  • Durch das Markieren der Ausführbaren Datei des Paketes, kann man nun über ein Menü einen Link in das Haiku Menü erstellen lassen
  • Über das Package Menü kann nun der aktuelle Projektordner geöffnet werden.
  • Bei beiden Datei-Listen kann man jetzt eine „Dropzone“ verwenden.
    • Lässt man unter System eine Datei oder Ordner auf der Dropzone fallen, wird das jeweilige Verzeichnis geöffnet.
    • Lässt man eine Datei oder Ordner auf die Dropzone unter Package fallen, wird dieser/e dorthin kopiert.


Dienstag, 9. Juni 2015

HPKGCreator 0.7-3


Habe mir ziemlich lange am heutigen Abend den Kopf zerbrochen, weshalb mein HPKGCreator  plötzlich keine HPKGs mehr erstellt. Habe den Quellkode durchsucht, nach Fehler gesucht, diverse Variationen durchprobiert aber letztendlich kam der tatsächliche Fehler während eines Telefonat mit einem Freund zum Vorschein, denn dieser berichtet mir das in den neunen Haiku Nightlys das Home Verzeichnis auf Read-Only gesetzt wurde. Wieso macht man das? Ausgerechnet das Home Verzeichnis, welches ja das Verzeichnis für den „Nutzer“ ist.

Mit "chmod –R 777 /boot/home" wurde dieses Problem dann behoben. Dennoch sind ein paar Dinge aufgefallen beim probieren mit den Quellkode. Daher ist heute eine neue Version zustande gekommen, bei der zwar immer noch ein Fehler enthalten ist aber die mir problemlos ein HPKG erstellt.

Warum auch immer, aber irgendwie wird die Angabe der Eingabe "Require" zwar in den Editor und in die ".ProgrammInfo" Datei übertragen aber zurück in die Eingabemaske nach laden eines Projektes leider nicht.

Ich denke ich habe für heute genug Quellkode gesehen und man verrennt sich wenn man sich zu lange, intensiv auf ein Problem konzentriert. Daher ist diese Funktion derzeit nicht verfügbar... wird aber nachgeholt.

Sonntag, 24. Mai 2015

Yab - Datei oder Verzeichnis


Wie finde ich heraus, ob ich eine Datei oder ein Verzeichnis über ein Filepanel oder Dropzone verarbeiten muss?

Meine diesbezügliche Lösung beinhaltet eine IF-Abfrage und eine Subroutine.

If-Abfrage:


Folder$=Quellvariable$


if(IfDirectory(Folder$))then
      is_an_directory=1
else
      is_an_directory=2
endif

print is_an_directory


Subroutine:


sub IfDirectory(filename$)
      return not system("test -d "+filename$)
end sub
Um herauszufinden, ob ich ein Verzeichnis oder eine Datei über ein Filepanel oder Dropzone zu verarbeiten habe, übergebe ich meinen Dateipfad an die Variable Folder$ und verwende den Test Befehl um zu prüfen, ob ich ein Verzeichnis in der Variablen übergeben habe.


Ist die Überprüfung positiv wird durch die If-Abfrage die Zalenvariable is_an_directory auf 1 gesetzt. Ist es kein Verzeichnis, wird der Wert auf 2 gesetzt.

Beispiel: Egal was übergeben wird, es wird der Dateipfad ermitteln


If-Abfrage:


if(IfDirectory(Quellvariable$)) then
      is_an_directory=1
      Folder$= Quellvariable$
else
      is_an_directory=2
      dim SplitFolderPath$(1)
            splitting = split(Quellvariable$, SplitFolderPath$(), "/")
            for i = 2 to splitting-1
                  Folder$=Folder$+"/"+SplitFolderPath$(i)
            next i
            print "folder:"+Folder$
endif


Subroutine:


sub IfDirectory(filename$)
      return not system("test -d "+filename$)
end sub

In diesem Beispiel erweitern wir diese Überpürfung und ermitteln, egal was wir abfragen (Datei oder Verzeichnis),  wie der Dateipfad ist.


Ermittelt der test Befehl ein „nicht“ Verzeichnis, wird die Quellvariable über einen Array (SplitFolderPath$()) in seine Einzelteile zerschnitten. Um dies zu tun, wird bei jedem „/“ Zeichen eine neuer Eintrag im Array angelegt.


Danach werden alle Arrayeinträge wieder zusammengesetzt, mit Ausnahme des letzten Eintrages.

Freitag, 22. Mai 2015

Meine Programme für aktuelle Nightly Builds


Habe, nachdem ich yab und die yabIDE auf meiner aktueller Haiku nightly  zum Laufen bekommen habe, einige meiner Programme neu gebunden.

Diese sind auf der BeSly im Downloadbereich zu finden.

Folgende Programme sind neu gebunden:

-     BashHistorySwitcher 0.5 pm: Ein Programm um die BashHistory zu speichern und bei bedarf zu tauschen

-     BuildLOG 0.5 pm: Ein Programm, mit welchen man seine Erfahrungen beim Kompilieren von Programmen/Spielen archivieren kann.

-     EGSL IDE 1.2-2 pm: Eine Entwicklungsumgebung für die EGSL Programmiersprache (Leider ist EGSL derzeit nicht lauffähig (muss neu kompiliert werden))

-     Elektrican Calculator pm: Ein Taschenrechner für Elektriker

-     EUAE Launcher 0.5 pm: Eine Benutzeroberfläche für den euae AMIGA Emulator.

-     HPKG Creator 0.7-1 pm: Ein Programm mit welchen man Haiku Pakete erstellen kann (Kein Upload zum HaikuDepot).

-     ISOFileCreator 0.8 beta pm: Ein Programm mit welchen man ISO Images erstellen kann.

-     KeenDöskopp 0.6 pm: Eine Sammlung von Spielen für das Trainieren des Gehirns.

-     LBackup 1.1 pm: Ein kleines Backup Programm.

-     SingleLine Editor 0.3 pm: Ein experimenteller Texteditor mit Einzeilenbearbeitung.

-     TarGUI 1.2 pm: Eine Benutzeroberfläche für das tar Komprimierungsprogramm (bash).

-     BeSly TutorialFinder 1.3 pm: Ein Programm mit welchen man die BeSly Tutorials durchsuchen kann.
      -     ZipGUI 1.0 pm: Eine Benutzeroberfläche für das zip  Komprimierungsprogramm (bash).

Donnerstag, 21. Mai 2015

HPKG Creator



Nach langer Zeit der Untätigkeit im Programmieren in yab, hat ausgerechnet der HPKGCreator dafür gesorgt, dass meine Lust zu Programmieren wieder geweckt wurde.

Der HPKGCreator entstand Anfang letzten Jahres, nachdem ich mich längere Zeit mit dem Erstellen einer HPKG Datei beschäftigt hatte. Dies geschah auf Basis des auf der Haiku Webseite veröffentliche Anleitung über das Erstellen einer HPKG Datei. Da man über diese Anleitung alles von Hand erstellen und bearbeiten musste, kam mir schnell die Idee, dazu eine GUI zu bauen. Das Problem war nur, ich habe es lange Zeit nicht hinbekommen mit Hilfe der Anleitung ein funktionierendes Paket zu erstellen. Über zahlreiche Gespräche im IRC habe ich dann verlauten lassen, dass wenn ich es je hinbekomme eine HPKG Datei zu erstellen, dass ich dann eine GUI dazu bauen werde.

Als ich den HPKG Creator dann erstellt hatte kamen, wie üblich, kaum Rückmeldungen. Da ich selber mit anderen Projekten beschäftigt war und dann in eine tiefe Programmierlustlosigkeit gefallen war, habe ich nie eine neue Version mehr erstellt.

Erst nach Schließung des Software Archivs Haikuware kamen auf einmal Anfragen bezüglich dem HPKGCreator, der längst auf aktuellen Nightly Builds nicht mehr lief.

Habe daraufhin versucht yab auf einer aktuellen Nightly Version zu installieren, was mit den HPKG Dateien über HaikuDepot und bbjimmy nicht geglückt war. War danach kurz davor die ganze Sache ab zu blasen, habe dann aber ein Script erhalten, über welches yab heruntergeladen und kompiliert wurde.  Daraufhin ging die yab-IDE und die BuildFactory, was es mir ermöglichte den HPKG Creator neu zu Erstellen und online zu stellen.

Durch Gespräche im IRC und in BeShare wurde ich dann animiert den HPKGCreator  zu aktualisieren und zu erweitern. Derzeit arbeite ich daran, das man über „Dropzonen“ Daten kopieren, in Verzeichnisse wechseln oder vorhandene .ProgramInfo Dateien öffnen kann. Auch haben sich einige Eintragungen in der .ProgrammInfo Datei geändert die angepasst wurden.
Wann ich die neue Version fertig habe, kann ich bisher noch nicht sagen, möchte meine neu gewonnene Programmierfreude auch nicht mit Termindruck belasten.

Montag, 18. Mai 2015

HPKG Wahn


Ich weiß es ist verlockend HPKG Dateien zu erstellen, da diese dann über einen Doppelklick zu installieren sind. Leider ist das Package Management System von Haiku noch nicht vollständig ausgereift und es gibt ständig Änderungen.

So kommt es recht häufig vor das einmal wunderbar funktionierende Pakete auf einmal nicht mehr ihren Dienst tun. Wie kürzlich erlebt beim Versuch die aktuelle yab Version von bbjimmy zu installieren, Paket konnte nicht installiert werden, oder wurde installiert aber es ist für mich als „Hilfe ich kenne mich auf den Nightlys nicht aus“ Nutzer nicht auffindbar.

Da gelobe ich mir ein zip, tar,... Paket herunter zu laden und selber dieses Programm zum laufen zu bringen.

Ich würde mir wünschen das die Leute, die derzeit HPKG Dateien erstellen, auch parallel dazu ein normales zip oder tar Archiv erstellen würden.

BuildLOG Projekt


BuildLOG ist ein in yab geschriebenes Archiv-Programm, mit welchen man Informationen über den „build“ Prozess eines Programms oder Spiels archivieren kann.

Immer wieder habe ich versucht diverse Programme für Haiku zu kompilieren. Leider bin ich auf Grund von mangelnden Erfahrungen in Bezug auf das Kompilieren und Programmieren in C/C# (und anderer Sprachen) gescheitert. Dies auch oft bei Programmen, die es in der Vergangenheit bereits für BeOS/Zeta/Haiku gegeben hat.
Leider haben die Leute, die diese Programme damals portiert haben, meist keine genauen Beschreibungen hinterlassen mit wessen Hilfe man heute, auch als nicht Entwickler, Erfolgserlebnisse feiern könnte.

Hier setzt das Archiv-Programm an, denn es ermöglicht genau diese Informationen zu Archivieren.

Wer von Euch also Lust hat mir bei diesen Projekt zu helfen, kann sich das Programm von der Download Seite der BeSly herunterladen, Informationen eintragen und dann die erstellten „LOG“-Dateien an mich senden. Diese werden dann zu den BuildLOG Paket auf der BeSly hinzugefügt.