You are not logged in.

Desi

Beginner

  • "Desi" is male
  • "Desi" started this thread

Posts: 3

Date of registration: Dec 26th 2012

Location: Hamburg

Occupation: Elektronik-Entwickler

  • Send private message

1

Wednesday, December 26th 2012, 6:28am

Vorstellung Desi / Bauteildatenbank / das Jabaco-Projekt

Hallo Manuel, hallo liebe Community,

Einen speziellen Vorstellungs-Thread scheint es hier nicht zu geben, aber ich verspüre doch das Verlangen, mich der Runde vorzustellen, denn ich glaube, wir werden noch viel miteinander zu tun haben! :-)

Zu meiner Wenigkeit: In Basic programmiere ich seit der guten, alten Atari-Zeit. Mein Einstieg war damals das recht legendäre GFA-Basic.
Ende der 90er erwarb ich meinen ersten Psion-Organizer – einen Serie 3a, dem später ein 5mx pro folgte. Höchst erstaunlich, was man mit den Dingern damals schon anstellen konnte! Die vorinstallierte Programmiersprache nannte sich „OPL“ und erinnerte doch stark an GFA-Basic.

2004 machte ich mich als Elektroniker/Datentechniker selbstständig (schön, dass man das heute so schreiben darf!) und programmierte immerhin drei Jahre lang an einer Artikelverwaltung mit Kassenanbindung, in Visual Basic.Net, in einer Version von 2002.

Danach verlagerte sich meine Programmiertätigkeit mehr auf Mikrocontroller. Auf die Atmel AVR, um präzise zu sein. Natürlich mit Bascom - ebenfalls einem Basic-Dialekt, denn von „C“ bekam und bekomme ich Pickel, ganz egal wie viele „+“ oder „#“ dahinter stehen!

Mein VB.Net habe ich in all den Jahren nie upgedatet und es nervte mich auch immer, dass das Ding so ein riesiger Dinosaurier ist. Dabei habe ich immer wieder mal was zu proggen. ‘Nen kleinen Dateikonverter, oder ‘ne PC-gestützte LED-Steuerung und so.
Hatte aber keine Lust, das Ding upzudaten, weil dann die alten Programme nicht mehr lauffähig wären und unklar war, ob sich zwei parallele Installationen nicht beißen.
Dabei konnte man die Compilate der alten Version nie weitergeben, ohne ellenlange Anleitungen samt Rechtfertigungen zu schreiben, warum die User erst noch umständlich das Dotnet-Framework in expliziter Version 1.1 installieren müssen und so. Nerv!

Neulich stieß ich dann zufällig auf “AutoIt” und war doch reichlich beeindruckt! Es schien mir genau richtig, um mal schnell ‘nen Dateikonverter zu stricken. Schlank, schnell, hoch aktive Community!
So mailte das als Tipp einem befreundeten Datentechnik-Ingenieur, der mich wiederum auf Jabaco aufmerksam machte ...

PENG!
Das Ding ist es!
So kompakt, so mächtig, so angenehme Syntax, so aufgeräumt ... und dann noch weitgehend plattformunabhängiger Code! Und for free (genau wie AutoIt, übrigens). Helle Begeisterung!

Das einzige, was mich nun echt wurmt, ist dass die letzte Version offenbar schon über drei Jahre alt ist und dass das Forum hier auch vergleichsweise tot erscheint.
Dabei hat dieses Projekt es absolut nicht verdient, vor sich hin zu vegetieren!
Tja, ich weiß nur zu gut, dass bei manchen Projekten irgendwann die Luft draußen ist, aber in diesem Fall wäre es echt mehr als schade!

Und so frage ich mich, woran das liegt und was ich für das Projekt tun kann?

OK, ich werde meine Programme mit der Allgemeinheit teilen, das ist Ehrensache.
Auch kann ich Jacabo natürlich auf meiner Website verlinken und es in einem anderen Forum wärmstens empfehlen, in dem ich aktiv bin.

Es wäre nun sooo beruhigend, von Manuel ein paar Worte der Beteuerung zu lesen, dass er noch voller Elan am Ball ist, uns ganz bald mit neuen Versionen beglückt und der Börsengang des Unternehmens kurz bevor steht! :-)


Mein erstes Projekt wird übrigens eine Bauteilverwaltung sein.
Ich habe hier hunderte elektronische Bauteile rumliegen und suche jedes Mal wie blöd, wenn ich ein bestimmtes davon brauche. Führt oft genug dazu, dass ich neu bestelle, nur weil ich nicht sicher weiß ob bzw. wo ich das Teil auf Lager habe.
Ulkigerweise gibt es bislang kein in der Praxis brauchbares & kostenfreies Programm für diese Aufgabenstellung.
In den einschlägigen Elektronik-Foren wird immer wieder mal nach sowas gefragt – recht ergebnislos. Also stricke ich es selbst, bzw. mache ein offenes Forenprojekt daraus.

Als absoluter Neuling in Jabaco werden dabei natürlich allerhand Anfangsschwierigkeiten auftreten. Aber vielleicht bringt es ja auch frischen Wind in die Bude, wenn ich die Zwischenstände des Projektes permanent hier veröffentliche und sich weitere Elektroniker einfinden. Es vereint immerhin eine ganze Reihe Programmiertechniken in sich: Schicke Oberfläche, Datenbank-Anbindung, Export von Bestelllisten, Einbindung von Bildern, Datenblättern …
Ergo prima geeignet, andere Neueinsteiger mit Jabaco vertraut zu machen!

Also: Auf gute Zusammenarbeit! :-)
(Habe übrigens keine Ahnung, ob sich hier mehr deutschsprachige oder englischsprachige User tummeln; probiere es aus Bequemlichkeit daher zunächst auf Deutsch.)

Euer Desi
Macht Technik Dir das Leben schwör, ruf' schnell den EDV-Dompteur!

Dani

Intermediate

Posts: 325

Date of registration: Nov 19th 2009

Location: GERMANY

  • Send private message

2

Wednesday, December 26th 2012, 10:50am

Hallo Desi,

willkommen hier im Forum!

Auf der Suche nach einer Alternative zu VB6 mit der Vorgabe plattformunabhängiges Zielprogramm und Basic Syntax bin ich vor ein paar Jahren zufällig auf Jabaco gestoßen. Ich war und bin ziemlich beeindruckt von Jabaco. Wie Du schreibst ist es so

Quoted

...kompakt, so mächtig, so angenehme Syntax, so aufgeräumt


und leider, leider ist auch dies voll zutreffend

Quoted

Das einzige, was mich nun echt wurmt, ist dass die letzte Version offenbar schon über drei Jahre alt ist und dass das Forum hier auch vergleichsweise tot erscheint.
Dabei hat dieses Projekt es absolut nicht verdient, vor sich hin zu vegetieren!
Tja, ich weiß nur zu gut, dass bei manchen Projekten irgendwann die Luft draußen ist, aber in diesem Fall wäre es echt mehr als schade!


Manuel beteuert immer wieder, daß Jabaco fortbestehen wird!

Allerdings denke ich, daß man mit der aktuellen Version und dem quelloffenen Jabaco Framework sehr gut 'leben' kann.
Unter \svn\Framework\src... lassen sich sämtliche Usercontrols nach eigenem Bedarf anpassen.

Ich kann das Framework nur wärmstens als 'Jabaco life Studium' empfehlen...

Du solltest Dich dann damit beschäftigen, wie das Framework als Jabaco.jar erzeugt wird, damit Du eine aktuelle Version einbinden kannst.

Über die Möglichkeit externe Java Bibliotheken einzubinden kann man mit geringem Aufwand recht mächtige Funktionen erreichen.

Meine damalige Suche galt außerdem einer so zu sagen standalone Datenbank!!
Naja, ich habe H2 für mich entdeckt.
Als native Java Datenbank ist das wohl die perfekte Ergänzung zu Jabaco.
Beides brauch lediglich das Java Runtime Environment.

Für eine Artikelverwaltung auf dem USB Stick bestens geeignet ;)

Ein schickes Beispielprojekt, daß möglichst viele Basis Funktionen offenbart, wär sicherlich eine Bereicherung für dieses Board :thumbsup:

Also, bis bald...


Dani

theuserbl

Intermediate

Posts: 436

Date of registration: Dec 20th 2008

  • Send private message

3

Wednesday, December 26th 2012, 1:21pm

Hi Desi!

Quoted

Mein Einstieg war damals das recht legendäre GFA-Basic.
Die 16bit-Windows-Version (und später auch die 32bit Version) ist mir doch einigermaßen vertraut. Ein Prof von mir schrieb darin seine Programme, wie mehrgliedrige, rotierende Pendel und so.
Seltsamerweise waren die erstellen Quellcode-Dateien, kein reiner ASCII-Code und zudem auch noch größer, als wenn sie aus reinem ASCII-Code beständen.

Quoted

[...] und programmierte immerhin drei Jahre lang an einer Artikelverwaltung mit Kassenanbindung, in Visual Basic.Net, in einer Version von 2002. [...]
[...] , denn von „C“ bekam und bekomme ich Pickel, ganz egal wie viele „+“ oder „#“ dahinter stehen!
Dabei unterscheiden sich VB.net und C# nur von ihrer Syntax her (mit Ausnahme einiger Sonderfälle wie LINQ).
Gibt dementsprechend auch sehr zuverlässige Converter.
Der wohl beste Converter dürfte Instant C#/VB sein: http://www.tangiblesoftwaresolutions.com/Demo.htm
Aber es gibt auch online-Converter:
http://www.developerfusion.com/tools/convert/csharp-to-vb/
http://converter.telerik.com/
http://www.carlosag.net/tools/codetranslator/
und ein OpenSource offline-Converter (den ich jedoch nicht getestet habe):
http://codeconvert.codeplex.com/

Quoted

Mein VB.Net habe ich in all den Jahren nie upgedatet und es nervte mich auch
immer, dass das Ding so ein riesiger Dinosaurier ist.
Naja, sooo groß ist der Compiler + Runtime auch nicht.
Und die .NET Runtime gibt es auch als OpenSource-Version, die auch auf Linux und MacOSX läuft:
http://www.mono-project.com/Main_Page
https://github.com/mono/mono
und ein dazugehörigen VB.NET-Compiler gibt es ebenfalls:
http://www.mono-project.com/VisualBasic.NET_support
https://github.com/mono/mono-basic
Bei Mono nicht wundern, daß es dort auch ClosedSource-Dinge gibt.
Die Runtime für Linux, MacOSX und Windows ist OpenSource. Genauso wie das auf GTK+ aufbauende GTK#.
Die Portierung auf iOS und Android mit spieziellen Bibliotheken, die die native-API von iOS, Android und auch von MacOSX aufruft, die ist ClosedSource und kostet einiges:
http://xamarin.com/

Quoted

Dabei habe ich immer wieder mal was zu proggen. ‘Nen kleinen Dateikonverter, oder ‘ne PC-gestützte LED-Steuerung und so.
Ist mir nicht ganz klar, wie Du in Sprachen die auf .NET oder der JavaVM aufbauen, sozusagen Treiber entwickelst, wie eine "LED-Steuerung".
Wären da hardwarenahe Sprachen wie FreeBasic nicht besser?
(FreeBasic (http://www.freebasic.net/) steht zu C/C++ so ähnlich wie VB.NET zu C#. Oder Jabaco zu Java. Um es mal so auszudrücken)

Quoted

Das einzige, was mich nun echt wurmt, ist dass die letzte Version offenbar schon über drei Jahre alt ist
Welche Nachteile hat das? Wenn Manuel eine minimal geupdatete Version rausbringen würde, hätte sich kaum was geändert, aber das Datum der Version wäre Dezember 2012.

Quoted

und dass das Forum hier auch vergleichsweise tot erscheint.
Gibt halt mehrere Gründe dafür. Jabaco ist für kleinere Anwendungen ganz gut geeignet. Sobald die Anwendung zu Komplex wird, sollte man jedoch besser Java verwenden.
Jabaco gibt auch viele Funktionen aus der VisualBasic-Welt gut wieder. Doch gerade bei komplexeren Programmen, reichen die Funktionen, die Jabaco mit dem Framework mitbringt, nicht aus. Dann muß man auf Funktionen (bzw. Methoden) der Java-Runtime zurückgreifen. Deren Beschreibung steht im Internet jedoch in Java-Syntax. Das heißt, man muß sich sowiso mit Java beschäftigen. Hinzu kommt, daß der Jabaco-Compiler gegenüber dem Java-Compiler derzeit an manchen Stellen eingeschränkt ist. Wenn Du z.B. ein String-Array hast, dann kannst Du nicht die Java-Methoden des Arrays verwenden und so. Generell gibt es mit Arrays immer mal wieder Probleme.
Außerdem will Manuel Lizenzen für zukünftige Versionen von Jabaco verkaufen. Auch spielt er mit dem Gedanken der Verdogelung. Standardmäßig übertragt Jabaco schon jetzt, nach jedem Start von Jabaco, Daten an den Jabaco-Server:
http://www.jabaco.org/board/p28-news-jabaco-autoupdate.html
In einem Post von Manuel, das er später mal wieder löschte, schrieb er, daß in der "unique ID" Hardwareinformationen verschlüsselt drin sind. Er überlege sich, ein Jabaco zu erstellen, dessen Aktivierungskey an die EMail-Adresse und die jeweilige Hardware gebunden ist.

Trotz alledem ist Jabaco für kleinere Anwednung (wie einem Taschenrechner, der als Beispielprogramm dem Jabaco beiliegt) ganz gut geeignet. Und es macht einfach Spaß kleinere Progrämmchen darin zu schreiben. Oder große Anwendungen als Tool für Jabaco. Aber die größeren Programme, sollte man dann wiederum besser in Java schreiben.

Quoted

Es wäre nun sooo beruhigend, von Manuel ein paar Worte der Beteuerung zu lesen, dass er noch voller Elan am Ball ist, uns ganz bald mit neuen Versionen beglückt
Wie die meisten von uns, hat auch Manuel nicht so viel Zeit. Der Hauptgrund weshalb es keine neurere Version von Jabaco gibt. Und vor allem sind die Änderungen an Jabaco derzeit sehr tiefgreifend, so daß kleinere Updates nicht möglich sind. So wird für das Rendering im Designer bei zukünftigen Jabaco-Versionen auf Java zugegriffen, so daß das LookAndFeel im Designer genauso ist, wie beim erstellten Programm und so.

Grüße
theuserbl

This post has been edited 1 times, last edit by "theuserbl" (Dec 26th 2012, 1:27pm)


theuserbl

Intermediate

Posts: 436

Date of registration: Dec 20th 2008

  • Send private message

4

Wednesday, December 26th 2012, 2:26pm

Nachtrag zu GFA-Basic, falls Du es noch nicht weißt:
Die DOS- und Windows-Versionen von GFA-Basic sind seit einigen Jahren Abandonware:
https://sites.google.com/site/gfabasic16/
https://sites.google.com/site/gfabasic322/

Und zu Mono hatte ich vergessen zu sagen, daß es dafür auch WinForms gibt:
http://www.mono-project.com/WinForms
werden meines Wissens aber seit Jahren nicht mehr weiterentwickelt.

Grüße
theuserbl

Desi

Beginner

  • "Desi" is male
  • "Desi" started this thread

Posts: 3

Date of registration: Dec 26th 2012

Location: Hamburg

Occupation: Elektronik-Entwickler

  • Send private message

5

Wednesday, December 26th 2012, 7:35pm

Hi,

vielen Dank für die ausführlichen Antworten! :thumbup:
Hallo Desi,
Meine damalige Suche galt außerdem einer so zu sagen standalone Datenbank!!
Naja, ich habe H2 für mich entdeckt.
Als native Java Datenbank ist das wohl die perfekte Ergänzung zu Jabaco.
Beides brauch lediglich das Java Runtime Environment.
Das H2 schaue ich mir gerne mal an.
Meine damalige Artikelverwaltung kam übrigens komplett ohne irgendwie vorgekauter Datenkank aus.
Die Daten wurden in mehreren Textdateien gespeichert, die dann in Hashtables eingelesen wurden. Das ging unglaublich flott und ich hatte hervorragende Möglichkeiten, zu suchen, zu sortieren und so weiter.
Im Bedarfsfall konnte man die Dateien aber auch mit jedem Editor oder mit Excel bearbeiten.

Das war am Anfang als Notnagel gedacht. Das Programm musste schnell fertig werden und über diesen Trick konnte man ganz selten benötigte, aber aufwändig zu programmierende Funktionen zur Not mit Standarprogrammen durchführen.
Mit der Zeit bekam das Programm dann mehr und mehr Funktionen, so dass man diesen Kunstgriff irggendwann nicht mehr benötigte.

Das Prinzip hatte sich allerdings bestens bewährt, muss ich sagen, und ich bin echt am überlegen, ob ich das bei der Bauteildtenbank nicht ebenfalls so realisiere.
Diesen ganzen SQL-Kram finde ich irgendwie so kompliziert.

Quoted

Ein schickes Beispielprojekt, daß möglichst viele Basis Funktionen offenbart, wär sicherlich eine Bereicherung für dieses Board :thumbsup:
Jupp, mache ich!
Und ich freue mich natürlich über rege Mitarbeit!

Quoted

Seltsamerweise waren die erstellen Quellcode-Dateien, kein reiner ASCII-Code und zudem auch noch größer, als wenn sie aus reinem ASCII-Code beständen.
Ja, da war was ...
Ich glaube, man konnte die GFA-Projekte aber alternativ auch explizit als ASCII speichern.

Quoted

Dabei unterscheiden sich VB.net und C# nur von ihrer Syntax her (mit Ausnahme einiger Sonderfälle wie LINQ).
Gibt dementsprechend auch sehr zuverlässige Converter.
Jo, und die Syntax von C ist es, die mir jede Laune verdirbt! :(
Diese geschweiften Klammern - bäähh!
Und diese Semikolons - würg!
Dieses doppelte Gleichzeichen etc. etc. - hmgnn!

Hatte vor VB.Net mal ein Projekt mit Delphi realisiert und später sogar die Artikelverwaltung damit angefangen. Irgendwann habe ich das Delphi entnervt geplättet und mit VB.Net geholt.
- Was für ein Qunatensprung, in Sachen angenehmer, flott schreibbarer Syntax!
Aber Jabaco finde ich - trotz aller Ähnlichkeit, noch um Längen angenehmer!

Quoted

Naja, sooo groß ist der Compiler + Runtime auch nicht.
Und die .NET Runtime gibt es auch als OpenSource-Version, die auch auf Linux und MacOSX läuft:
Stimmt. Bin gerade etwas verwundert ... ich war der Meinung, das Ding würde mehrere Gigybyte auf der Platte belegen. Ist aber nicht so.
Dennoch ist mir VB.Net gefühlsmäßig irgendwie zu heftig.
Was ich gestern in Jabaco, als totaler Einsteiger, rein intuitiv hingezaubert habe, da hätte ich in VB.Net drei Tage dran gehockt.
Ich habe hier immerhin 10, zum Teil sehr dicke Bücher über VB. Doch wie oft ist es schon vorgekommen, dass ich stundenlang in all den Büchern und im Netz am Suchen war, um eine vermeintliche Kleinigkeit endlich hinzubekommen?

Quoted

Ist mir nicht ganz klar, wie Du in Sprachen die auf .NET oder der JavaVM aufbauen, sozusagen Treiber entwickelst, wie eine "LED-Steuerung".
Wären da hardwarenahe Sprachen wie FreeBasic nicht besser?
Kein Thema. Das war meine erste Suche hier im Forum, ob man die serielle Schnitte mit Jabaco ansteuern kann. Ergebnis: Positiv.

Meine Schaltungen enthalten einen Mikrocontroller, der serielle Daten vom PC nur entgegennnehmen und dann nach "Schema F" weiterreichen muss.
Im Grunde läuft der Stand-allone, aber bei wirklich umfangreichen LED-Steuerungen möchte man die Abläufe nicht komplett in Bascom schreiben und im sehr begrenzten Flash des Controllers speichern.
Man möchte eher die komplexen PC-Möglichkeiten nutzen und z.B. Videostreams entsprechend aufbereiten und zur Schaltung senden.
Ich brauche also nicht mehr, als die Möglichkeit, mit Jabaco Bytes seriell auszugeben und in seltenen Fällen auch mal zu empfangen. Das sollte machbar sein.

Freebasic kenne ich nicht, obwohl mir der Name schon begegnet ist.
Bin jetzt aber so verliebt in Jabaco, dass ich nichtmal Lust habe, es mir anzuschauen!

Quoted

Wenn Manuel eine minimal geupdatete Version rausbringen würde, hätte sich kaum was geändert, aber das Datum der Version wäre Dezember 2012.
Stimmt schon, das ist mir klar.
Hat aber irgendwie doch einen "psychologischen Vorteil" ...

Quoted

Außerdem will Manuel Lizenzen für zukünftige Versionen von Jabaco verkaufen. Auch spielt er mit dem Gedanken der Verdogelung. Standardmäßig übertragt Jabaco schon jetzt, nach jedem Start von Jabaco, Daten an den Jabaco-Server:
NEWS: Jabaco Autoupdate
In einem Post von Manuel, das er später mal wieder löschte, schrieb er, daß in der "unique ID" Hardwareinformationen verschlüsselt drin sind. Er überlege sich, ein Jabaco zu erstellen, dessen Aktivierungskey an die EMail-Adresse und die jeweilige Hardware gebunden ist.
Solche Sachen mag ich ja gar nicht! :thumbdown:
Bin selbst ein richtiger Gegner von Patenten und umständlichen Kopierschutzmaßnamen und so.

Die lebendigste Community hat man, wenn man die Sachen prinzipiell frei raus gibt. Dann multiplizieren sich die Ergebnisse, weil viele Leute an dem Projekt mitarbeiten.
Geld verdienen kann man damit dennoch - auf verschiedene Weisen.
Mein liebstes Beispiel ist Google (ungeachtet aller Kritik an diesem Laden): Die wurden eine der reichten und bekanntesten Firmen, indem sie eine Dienstleistung verschenken, die so lecker ist, dass sie jeder nutzen will.
Weil jeder Google nutzt, hat die Seite extreme Zugriffe. Und daraus lässt sich was machen, das wirft Geld ab.

Ich wurde von Geschäftspartnern vor zwei Jahren - entgegen meiner Überzeugung - quasi gezwungen, ein Patent anzumelden. Genau dieses Projekt ist bis heute noch nicht abgeschlossen und ich sehe sogar schwarz, dass es das je sein wird.
Es behindert mich total, dass ich damit nicht frei an die Öffentlichkeit gehen kann, um fremdes Wissen einfließen zu lassen.

Meine künftigen Projekte werde ich allesamt als Open Source veröffentlichen. Mit allen Schaltplänen, Platinenlayouts und Quelltexten.
Habe im Sommer ein sehr umfangreiches Projekt entsprechend öffentlich rausgehauen. Und noch nie hatte ich so viele gute Vorschläge erhalten, wie in dem Fall. Man multipliziert echt seine Möglichkeiten. Geschickt gemacht, fällt dennoch Kohle für einen selbst ab, obwohl (bzw. WEIL!) es jeder nachbauen kann.

Bei Jabaco sehe ich das Problem, dass es zu unbekannt ist.
Als mein Bekannter mich darauf aufmerksam macht, war ich zunächst sehr skeptisch: "Das kennt doch kein Mensch". VB.Net hingegen, kennt man.
Aber schon die ersten Codebeispiele überzeugten mich. Trotzdem die Version gute drei Jahre alt ist.
Das Potenzial halte ich für riesig - wenn Jabaco frei bleibt und bekannter wird. Letzteres wird es aber nur, wenn man das Gefühl hat, dass es nicht tot ist, sich ein Einstieg also nicht lohnt.

Wer würde heute noch in Delphi einsteigen?
Da steckte mit Borland echt ein Name hinter, aber das Ding wird nicht mehr weiterentwickelt.

Wenn Manuel auch mal Geld sehen will, für seine exzellente Arbeit: Kohle kann man z.B. per Crowdfunding einsammeln.
Ich wäre absolut bereit, geldmäßig was beizusteuern und meinen Teil dazu beizutragen, dass Jabaco bekannter wird. Bin da echt idealistisch drauf.
Aber wenn da so halbe Spionagefunktionen eingebaut sind, mit "nach Hause telefonieren" und so, dann dämpft das den Enthusiasmus doch sehr. Solche Software meide ich normalerweise.
Macht Technik Dir das Leben schwör, ruf' schnell den EDV-Dompteur!

theuserbl

Intermediate

Posts: 436

Date of registration: Dec 20th 2008

  • Send private message

6

Wednesday, December 26th 2012, 9:38pm

Schön zu hören (bzw. lesen), daß Du noch immer so begeistert von Jabaco bist.
Die Nachteile habe ich ja schon zum großen Teil aufgeführt gehabt. Denn nichts ist demotivierender, als wenn man mitten in einem Projekt feststellt, daß man sich für die falsche Technik entschieden hat.

Ja, Jabaco ist auch einfacher als VB.NET. Das liegt daran, weil es versucht VB 6 kompatibel zu sein. Und VB 6 war einfacher, als die aktuellen VB.NET-Versionen. Auf der anderen Seite ist VB.NET flexibler und mächtiger.

Da ich mit GW-Basic und QBasic angefangen hatte, gefällt es mir besonders auch etwas auf den Bildschirm zu "zeichnen". Und in dem Fall ist VB 6 und Jabaco auch um einiges einfacher als VB.NET.

Hier zum Beispiel eine blaue Linie, die in eine PictureBox gezeichnet wird, wenn man den CommandButton drückt, unter VB.NET:

Jabaco Source

1
2
3
4
5
6
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim img As Image = New Bitmap(PictureBox1.Width, PictureBox1.Height)
    Dim myGraphics As Graphics = Graphics.FromImage(img)
    myGraphics.DrawLine(New Pen(Color.Blue, 1), 0, 10, 50, 100)
    PictureBox1.Image = img
End Sub


In Jabaco sieht es so aus:

Jabaco Source

1
2
3
4
Private Sub Command1_Click()
    Picture1.ForeColor = ColorToRGB(java#awt#Color.blue)
    Picture1.Line(0, 10, 50, 100)
End Sub


oder so:

Jabaco Source

1
2
3
4
Private Sub Command1_Click()
    Picture1.ForeColor = RGB(0,0,255)
    Picture1.Line(0, 10, 50, 100)
End Sub


Mir gefällt Deine Vorliebe für OpenSource. Mir geht es genauso. :)


Mir wäre es auch lieber, wenn Manuel Jabaco unter eine OpenSource-Lizenz stellt und Einnahmen durch Spenden oder so bekommt.
Blender3D wurde ja auch mal für 100 000 Euro "freigekauft" und unter eine OpenSource-Lizenz gestellt.


Ansonsten bleibt einem zumindest das, was man derzeit hat:

Das Jabaco-Framework ist, wie Dani schon schrieb, OpenSource. Es steht unter der BSD-Lizenz.
Die Projektseite ist unter
https://code.google.com/p/jabacoframework/
zu finden.


An dieser Stelle verweise ich dann auch mal auf meine beiden GoogleCode-Seiten, die mit Jabaco zu tun haben:
http://code.google.com/p/jbaindi/downloads/list
http://code.google.com/p/jba-tools/downloads/list

Da das mit dem Jabaco mitgelieferte Jabaco-Framework nicht mehr ganz aktuell ist und das offizielle Jabaco-Framework-SVN-repository inzwischen zig commits erhalten hat, gibt es auf meiner jbaindi-Seite aktuelle Framework-Versionen in kompilierter Form.
Hier der direkte Link zu dem letzten Build:
[ Jabaco-rev101.jar ]
Einfach in Jabaco.jar umbenennen und das Jabaco.jar im Jabaco-directory damit ersetzen.
Damit ersparst Du Dir, den Quellcode selber runterladen und kompilieren zu müssen.

Desweiteren gibt es seit 1,5 Jahren einen FormViewer:
[ FormViewer.jar ]
er zeigt einzelne jsrc-Dateien grafisch an. Auf jeder Plattform auf der Java läuft.
Der Quellcode ist unter
[ FormViewer-src.zip ]
zu finden. Jedoch in Java geschrieben.

Und hier noch mein Jba-Builder:
jbaBuilder002.jar
(Quellcode ist im Jar enthalten)

Und mein Jba-Compiler, bevor ich merkte, daß ich den Aufbau ganz anders gestallten müßte:
JbaCompilerPreview004.jar
(Quellcode ist ebenfalls im Jar enthalten)

Weiß noch nicht, wann und ob ich mich da mal wieder dran mache, weiterzuprogrammieren.
Dummerweise nehmen solche Projekte immer viel mehr Zeit in Anspruch als man denkt. Und wenn man da monatelang nicht mehr dran war, braucht man wieder seine Zeit um da reinzufinden.

Grüße
theuserbl

Dani

Intermediate

Posts: 325

Date of registration: Nov 19th 2009

Location: GERMANY

  • Send private message

7

Friday, December 28th 2012, 10:35am

Hallo Desi,

ich hab mal ein kleines H2 Datenbank Beispielprojekt zusammenkopiert!

H2ArtikelDB.zip

Unter [url]http://www.h2database.com/html/main.html kannst Du die aktuelle H2 Version runterladen.[/url]
Dann aus dem Zip Archiv die Datei h2-2012-11-30.zip\h2\bin\h2-1.3.170.jar
in Deinen lokalen Java Installationspfad kopieren:
- e.g.: 'C:\Program Files\Java\jre7\Lib\ext\h2-1.3.170.jar'

Nun noch die Pfadangaben zum Projekt und zur Artikel.h2.db im Code anpassen.
In Form1 und in Module1:
- e.g. C:\tmp\ArtikelDB\Artikel

System.getProperty("user.dir") ist nicht immer so zuverlässig!

Es zeigt wie leicht und schnell die Anbindung klappt und demonstriert die wichtigsten Methoden:
- SELECT
- INPUT
- UPDATE
- DELETE

und in der Datenbank:
- VIEW
- JOIN

Im Code auskommentiert ist auch der Aufruf für das beiliegende Script, das die Datenbank erstellt!
Außerdem wird das JBGrid mit einigen Methoden benutzt.

Basics, aber wird doch immer wieder gefragt und soll Dir nur mal die Einbindung in Jabaco zeigen.
Und,... bevor Du selber strickst, SQL mit dieser kleinen 'footprint' ist schon extrem mächtig!
Über abgelegte VIEWS kannst Du komplexe Abfragen vorformulieren und mit einfachen SELECTS aus deinem Programm spezifizieren. Das ist sehr wenig Codeaufwand.
Desweiteren hast Du mit jeweils einer Zeile Code die Möglichkeit zum:
- BACKUP und wiedereinlesen
- csv read and write -> Import/Export von Daten (und das mit beliebiger url direkt im Netz!)
- auch spätere Updates und 'Umbauten' der Datenbank sind wesentlich leichter

Grüße,


Dani

theuserbl

Intermediate

Posts: 436

Date of registration: Dec 20th 2008

  • Send private message

8

Friday, December 28th 2012, 1:07pm

Hi Dani!

Schönes Beispiel. :)

in Deinen lokalen Java Installationspfad kopieren:
- e.g.: 'C:\Program Files\Java\jre7\Lib\ext\h2-1.3.170.jar'

Habe es gerade mal ausprobiert. Man kann alternativ h2-1.3.170.jar auch in das Verzeichnis kopieren, in dem sich ArtikelDB.jba und all die anderen Dateien befinden. Das hat u.a. den Vorteil, daß h2 auch in die erzeuigte Jar-Datei reinkopiert wird. Wenn es sich hingegen im ext-Verzeichnis befindet, wird es als standardmäßige Systemdatei angesehen und landet nicht in der Jar-Datei. Zumindest nicht, wenn man Java in "Programme" hat und nicht in "Program Files", auf das Du die Einbindung bezogen hast.

Was externe Bibliotheken angeht, stehe ich dem immer sehr zwiespältig gegenüber.
Einerseits ist es ja sehr schön, daß externe Bibliotheken einem viel Arbeit abnehmen.
Anderwerseits werden die erstellten Programme damit sehr schnell sehr groß.
Bei einer einzelnen Bibliothek wie h2 geht es ja noch. Aber es gibt ja auch Bibliotheken wie Apache Batik oder so, die ihrerseits dann wieder auf zig andere externe Bibliotheken aufbauen. Und wenn man mehrerer solcher Meta-Bibliotheken verwendet, dann hat man sehr schnell einen schwergewichtigen Klotz.

Grüße
theuserbl

Dani

Intermediate

Posts: 325

Date of registration: Nov 19th 2009

Location: GERMANY

  • Send private message

9

Friday, December 28th 2012, 4:29pm

Hallo theuserbl,

schön, daß Du es Dir angeschaut hast!
Als ich daran saß ist mir wiedermal aufgefallen, was man doch noch so alles am Framework basteln könnte; aber wie Du selbst schon geschrieben hast, es ist wirklich immer alles ein Zeitfaktor...

Quoted

Wenn es sich hingegen im ext-Verzeichnis befindet, wird es als standardmäßige Systemdatei angesehen und landet nicht in der Jar-Datei. Zumindest nicht, wenn man Java in "Programme" hat und nicht in "Program Files", auf das Du die Einbindung bezogen hast.


Bin auf einem englischsprachigem System!

Quoted

Was externe Bibliotheken angeht, stehe ich dem immer sehr zwiespältig gegenüber.
Einerseits ist es ja sehr schön, daß externe Bibliotheken einem viel Arbeit abnehmen.
Anderwerseits werden die erstellten Programme damit sehr schnell sehr groß.


Sehe ich ganz genauso. Aber wenn ich an den Krampf mit Microsoft ADO oder DAO zurückdenke, dann sind 1 1/2 MB doch äußerst kompakt. Zumal nicht alles quer über die ganze Festplatte verteilt ist, sondern schön sauber in einer komprimierten Datei sitzt! (OK, zur Laufzeit sieht das dann anders aus...)

Viel größer würd ich dann aber auch nicht werden wollen mit meinem .jar


@Desi
Ich hab mal Anfang der 90er sowas ähnliches wie AFS Kaufmann gemacht. der war natürlich Damals auch nur mit wesentlich geringerem Funktionsumfang zu haben, aber die Artikelverwaltung war (und ist warscheinlich) äußerst anwenderfreundlich und praxisgerecht. War jedenfalls für den klassichen Einzelhandel sehr geeignet.
Naja, jedenfalls freu ich mich besonders auf Themen wie USB senden/lesen, Barcode drucken, generell Drucken ... bin gespannt was Du da vor hast!
Könnte ja auch was fürs Framework abfallen!


Grüße,

Dani

Rate this thread
WoltLab Burning Board