"Konvertierung" eines Projekts von VB in PB

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Palandt
Beiträge: 155
Registriert: 18.09.2008 09:33

"Konvertierung" eines Projekts von VB in PB

Beitrag von Palandt »

Hallo, ich hoffe, dass meine Fragen, die wahrscheinlich etwas über das hinausgehen, was ein Anfänger üblicherweise zu wissen begehrt, doch von jemandem beantwortet werden können, der bzw. die schon über tiefere Einblicke in Pure Basic verfügt.

Ich hab schon zu Abi-Zeiten festgestellt, dass ich mir nur extrem wenig von dem merken kann, was ich mir durch reines Lesen zugänglich mache (max. 20%) und da mir das Karteikartenlernen, mit dem ich ausgezeichnete Erfolge hatte, zu zeitaufwendig war, begann ich ein Programm zu konzipieren, das in der Lage ist, mich selbst abzufragen. Mittlerweile stehe ich kurz vor dem juristischen Staatsexamen und das Programm war mir auf dem Weg dahin eine unverzichtbare Hilfe. Es geht aber weit über einen herkömmlichen Vokabeltrainer hinaus, es ist vielmehr speziell auf die Bedürfnisse von Studenten zugeschnitten, die sich große Stoffmengen in strukturierter Form merken müssen. Es ist in einer Studentenversion von VB geschrieben und die Funktionen, die es so leistungsfähig machen, sind:

1.) Die ADO-basierte Verknüpfung mit einer Accessdatenbank (Access 2003), die mittlerweile ca. 100 Tabellen enthält (für jedes Thema, bspw. im Zivilrecht "Immobiliarsachenrecht", eine Tabelle) mit jeweils ca. 200 Datensätzen. Jeder Datensatz in einer Tabelle (recordset) besteht aus (FragenID = Zahl; Frage = Text; AntwortID = Text; Thema = Text; und noch ein paar andere unwichtige Variablen). Die Tabellen erstelle ich bei Bedarf "on the fly" im Programm mit dem SQL-Kommando "create table". Auf ähnlichem Wege kann ich sie wieder löschen.

2.) Doch nun zum 2. Vorteil: In der Accessdatenbank ist nicht etwa der auf 255 Zeichen gequetschte Antworttext im herkömmlichen Txt-Format gespeichert, sondern vielmehr ein per Zufallsgenerator erzeugter Verweis auf eine RTF-Text-Datei (Bsp: AntwortID = Antwort4112360A1), die ich mit VB in das RTF-Textfeld hochladen kann und auf der selben Weise auch abspeichere. Es ist mir daher möglich, formatierten Text - mit Hilfe eines selbstgeschriebenen Editors - ebenso abzuspeichern wie JPG-Bilder, die ich in den Text integriere oder Word-Graphiken wie Textboxen.

Das Programm hat nun 4 Jahre kontinuierliche Weiterentwicklung hinter sich. Sofern ich denn Zeit hatte, hab ich mich daran gesetzt und etliche Luxusfunktionen einprogrammiert - deren Entwicklung letztlich meiner eigenen Faulheit geschuldet waren - und mittlerweile fällt mir auf, dass es in meinen Kreisen einen sehr große Nachfrage für ein solches Programm gibt.

Da ich aber nur eine EDU Version von VB besitze, also eine, mit der man keine kommerziellen Programme schreiben darf, und ich kein Geld habe, mir VB als Vollversion zuzulegen, wollte ich wissen, ob jemand anhand meiner bisherigen buddenbrocksartigen Schilderung in der Lage ist, zu sagen, ob ich zumindest die beiden "Highlights (Punkt 1 und 2 oben) auch mit Pure Basic verwirklichen könnte.

Ich hab mir schon eine Demoversion heruntergeladen, die Sprache gefällt mir außerordentlich gut, sie folgt Einsteins Motto: Mach es so einfach wie möglich, nur nicht einfacher. Überdies scheint sich auch im graphischen Bereich besser ausgestattet zu sein als VB in der Basisversion. Ich hab auch schon probiert, eine Datenbankverbindung herzustellen, bin aber kläglich gescheitert, hier der Code:

;Variablen
sDatenbankpfad.s = "K:\VB-Programme\Datenbanken\Jura.mdb"


Debug sDatenbankpfad

UseODBCDatabase()

; Prüfen, ob Datenbanktreiber vorhanden ist

If ExamineDatabaseDrivers()
;sDriver.s = DatabaseDriverName()
MessageRequester ("Hinweis","Es ist ein Datenbanktreiber installiert",0)
Else
MessageRequester("Fehler", "Kann die folgende Abfrage nicht ausführen: "+DatabaseError())

EndIf

; Datenbank öffnen
If OpenDatabase(#PB_Any, sDatenbankpfad, "", "")
MessageRequester("Hinweis", "Datenbank gefunden.")
Else
MessageRequester("Fehler", "Kann die folgende Abfrage nicht ausführen: "+DatabaseError())
EndIf

=> Fehlermeldung nach Durchlaufen der 2. Verzweigung: "Kann die folgende Abfrage nicht ausführen: [Microsoft][ODBC Driver Manager] Ungültige Zeichenfolgen- oder Pufferlänge"

Möchte nun wissen - bevor ich noch mehr zeitaufwendige Selbstversuche unternehme (Prob: Stecke in Examensvorbereitung), ob mein Vorhaben wirklich mit Pure Basic möglich ist. Bitte um schonungslose Antworten und eventuell um das Nennen einiger Alternativen.

Vielen Dank auch denjenigen, die mein Posting angesichts der beängstigenden Länge überhaupt zu Ende gelesen haben. Aber je mehr Infos ich gebe, desto weniger Nachfragen sind nötig. :)

Liebe Grüße Palandt
Wenn die dicke Frau klatscht, ist die Oper zu Ende
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: "Konvertierung" eines Projekts von VB in PB

Beitrag von DrShrek »

Palandt hat geschrieben:Da ich aber nur eine EDU Version von VB besitze, also eine, mit der man keine kommerziellen Programme schreiben darf, und ich kein Geld habe, mir VB als Vollversion zuzulegen, ...Liebe Grüße Palandt
Wenn Du willst kann ich Deine Sourcen mit meiner VB Vollversion kompilieren.
(Auf Wunsch sogar noch heute)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
Palandt
Beiträge: 155
Registriert: 18.09.2008 09:33

Beitrag von Palandt »

Vielen Dank für deine schnelle Antwort Dr. Shrek und dein nettes Angebot.

Ich plane jedoch, mein Prog zu vermarkten und dazu gehören auch regelmäßige Updates, da ist es besser, wenn ich selbst in der Lage bin, "kommerzielle" EXE - Dateien zu erstellen.

Zudem habe ich die Befürchtung (kein Experte im gewerblichen Rechtsschutz!) , dass bei diesem Vorgehen möglicherweise trotzdem Verbotsnormen des Urheberrechts verletzt werden, da ich ja im Grunde auch nichts anderes machen würde, als das Programm zu vermarkten, obwohl ich über keine Vollversionenlizenz verfüge, sondern bestenfalls du.
Wenn die dicke Frau klatscht, ist die Oper zu Ende
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Um welche VB-Version handelt es sich denn? Weil die alten (6.0 zum Beispiel) müßten mittlerweile um einiges günstiger zu kriegen sein als die PB-Vollversion.

Es spricht natürlich nix dagegen, PB irgendwann auch noch zu kaufen (weil es halt auch 'ne geile Sprache ist), aber das Projekt zu konvertieren kann Dich so viel Zeit kosten (bedenke auch daß Du das alles testen mußt), daß es sich evtl. nicht auszahlt. Da wäre der Kauf einer alten VB-Version um einiges gescheiter.

Und wenn es sich um eine der neueren handelt (mit .NET), dann kannst Du ja auch einfach eine der Express-Versionen holen (kostenlos).



EDIT: Okay, 6.0 scheint noch hoch im Kurs zu sein, aber wenn Du Glück hast, kannst Du Dein Projekt auch mit 5.0 kompilieren.
Das mit Dr. Shrek wäre aber auch eine Möglichkeit. Ich glaube nicht, daß es da rechtliche Probleme gibt. Und wenn Du da regelmäßig neue Versionen rausbringst, dann mußt Du mit Dr. Shrek halt einfach 'nen Deal machen, z.B. daß er für jedes Kompilieren oder für jeder verkaufte Version 'nen kleinen Anteil bekommt ;) und wenn Du Dein Programm 5x verkauft hast, dann sollte der Kauf von VB ja eh kein Problem mehr darstellen.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Palandt hat geschrieben:Vielen Dank für deine schnelle Antwort Dr. Shrek und dein nettes Angebot..
Ok. kein Thema.
War nur ein Vorschlag um Dir die Möglichkeit zu geben, möglichst schnell wieder 'lernen' zu können ;-)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
Palandt
Beiträge: 155
Registriert: 18.09.2008 09:33

Beitrag von Palandt »

Dank auch dir Zeha für die schnelle Antwort. Ich arbeite mit VB 6 und die Version, die für mich da in Frage käme, kostet um die 800 Euro, also das Zehnfache von dem, was mich PB kosten würde. Und selbst Version 5 würde noch um die 300 Tacken kosten.

Und bevor ich mir die Mühe mache, das ganze von VB 6 in VB 5 zu konvertieren, einer toten Sprache, die nicht mehr weiterentwickelt wird (also nicht VB als solches, sondern VB 5 !!!), da greife ich doch lieber zu PB. Mithin einer Sprache, die regelmäßig upgedatet wird und bei der ich als Volllizenzuser damit dauerhaft berechtigt bin, diese Updates runterzuladen und damit an der technischen Weiterentwicklung der Sprache teilhaben zu können.

Auch an einer vertraglichen Beziehung (gesellschafts-, werk- oder dienstvertraglicher Natur) mit einem anderen Programmierer bin ich nicht interessiert - mag er auch noch so fair, kompetent und hilfreich sein, da ich alles in Eigenregie durchführen möchte.

Es wär mir also sehr daran gelegen, wenn mir jemand lediglich sagen würde, ob es mit PB möglich ist, mit Accessdatenbanken zusammenzuarbeiten und ob es die Sprache erlaubt mit RTF-Texten zu operieren.

Trotzdem nochmals danke für eure schnellen Reaktionen.
Wenn die dicke Frau klatscht, ist die Oper zu Ende
Benutzeravatar
Rings
Beiträge: 977
Registriert: 29.08.2004 08:48

Beitrag von Rings »

Rings hat geschrieben:ziert sich nich beim zitieren
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Re: "Konvertierung" eines Projekts von VB in PB

Beitrag von Kukulkan »

Hallo,
Palandt hat geschrieben:...wollte ich wissen, ob jemand anhand meiner bisherigen buddenbrocksartigen Schilderung in der Lage ist, zu sagen, ob ich zumindest die beiden "Highlights (Punkt 1 und 2 oben) auch mit Pure Basic verwirklichen könnte.
Um mal auf deine Fragen einzugehen:

Ja, es ist problemlos möglich mit PureBasic und ACCESS-Datenbanken umzugehen. Ich persönlich würde darüber nachdenken, ob bei einem Neubau der Anwendung (und darauf läuft es hinaus) nicht gleich besser SQLite verwendet werden soll. Vorteil: nicht viele JET Datenbankkomponenten zu installieren, viel kleineres Setup, ohne Installation lauffähig, auf Linux verfügbar (falls Portierung gewünscht wird).

Ja, auch RTF kann mit PureBasic verwendet werden. Hier ein erster Hinweis, wie man RTF in das Editor-Gadget einlädt. Das Speichern findest Du im Forum sicher ebenfalls: http://www.purebasic.fr/german/viewtopic.php?t=17560

Zusammenfassend: Es ist eine gute Idee, VB6 durch PureBasic zu ersetzen. Du wirst deine Anwendung aber neu schreiben müssen, denn einen Konverter wirst Du nirgends finden. Der "objektorientiertere" Ansatz von VB (steinigt mich jetzt nicht) ist zudem mit dem von PureBasic nicht sehr kompatibel. Zum Beispiel gibt es in PB keine txtEingabe.Text = "Test" Möglichkeit, sondern die Funktion SetGadgetText(#txtEingabe, "Test"). Also neu machen ist besser.

Aber ansonsten kann ich dir zur Entscheidung auf PureBasic nur gratulieren. Sie ist die beste BASIC-Programmiersprache die im Moment zu finden ist und die Aussicht auf portierbarkeit zu MacOS und Linux ist mit PB auch super (wenn Du ACCESS durch SQLite ersetzt). Willkommen im Club!

Grüsse,

Volker
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Palandt hat geschrieben:Es wär mir also sehr daran gelegen, wenn mir jemand lediglich sagen
würde, ob es mit PB möglich ist, mit Accessdatenbanken
zusammenzuarbeiten
Klare Aussage: Das ist definitiv mit PB möglich. :-)

Allerdings würde ich Dir (ebenso wie Volker) SQLite an's Herz legen.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Also bei eBay gibt's grad 'ne 6er Version: http://cgi.ebay.de/MS-Visual-Basic-6-0- ... 286.c0.m14

Da kannst Du ja evtl. Dein Glück versuchen. Ich hatte auch mal vor, mir eine alte VB-Version zu kaufen (weil ich auch nur eine Studentenversion hatte), und damals schon gab's die zum Teil für 150 EUR, also weit entfernt von den 800 EUR. Wenn Du jetzt eine einzige Version von Dr. Shrek anfertigen lassen würdest, und diese für 30 EUR 5x verkaufen würdest, dann wäre dieses "Problem" also bereits gegessen.

Aber klar, wenn es Dir nichts ausmacht, alles neu zu entwickeln, dann ist PB vielleicht schon die bessere Wahl, da kann Dir auch keiner reinreden. Ich selbst finde PB ja auch besser, nur leider ist es im GUI-Bereich halt nicht ganz so schön zu bedienen (weil der Visual Designer unter PB leider so seine Tücken hat). Hängt halt auch davon ab, wie komplex Dein Projekt ist und wie viel Zeit Du zur Verfügung hast.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten