 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mik
Anmeldungsdatum: 31.07.2009 Beiträge: 6
|
Verfasst am: 31.07.2009, 12:11 Titel: qbasic programm in freebasic |
|
|
hallo an alle,
nun, in einer linkliste endeckte ich freebasic. was für mich sehr interessant war das da stand, das freebasic, qbasic compatibel ist. nun ich nam die benutzeroberfläche fbedit da man dort das projekt in qbasic modus starten kann. ich starte im qbasic modus und lade meine .bas datei und starte das programm. nun zeigt er mir ein paar fehler an (in original qbasic interpreter nicht). ich schaute in die befehlsliste von freebasic und es sind alle befehle vorhanden. hat jemand vieleicht einen tipp wie ich das zum laufen bringe?
hier die qbasic bas version zum downloaden.
http://freehunter.co.uk/basic/Getinput.zip
gruß mik |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 31.07.2009, 12:19 Titel: |
|
|
Willkommen hier im Forum!
Bei mir funktioniert das Programm im QBasic-Modus von FreeBasic ohne eine Änderung.
Bist du sicher, dass du den FreeBasic Compiler im QBasic-Modus ausführst?
Dazu musst du rechts oben aus der Liste "QB Console" (oder so ähnlich) auswählen.
Ansonsten kopiere einfach die Fehlermeldungen hier herein (werden Links unten bei "Output" angezeigt)
Verwendest du eine aktuelle Compilerversion? (0.20.0)
Welche Version du hast erfährst du (u.a.) folgend: Starte die Eingabeaufforderung und wechsle in den FB-Installationsordner (du kannst auch die "FreeBasic"-Verknüpfung im Startmenü verwenden). Dann führst du "fbc -version" (ohne die Anführungszeichen) aus. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
mik
Anmeldungsdatum: 31.07.2009 Beiträge: 6
|
Verfasst am: 31.07.2009, 12:33 Titel: |
|
|
St_W hat Folgendes geschrieben: | Willkommen hier im Forum!
Bei mir funktioniert das Programm im QBasic-Modus von FreeBasic ohne eine Änderung.
Bist du sicher, dass du den FreeBasic Compiler im QBasic-Modus ausführst?
Dazu musst du rechts oben aus der Liste "QB Console" (oder so ähnlich) auswählen.
Ansonsten kopiere einfach die Fehlermeldungen hier herein (werden Links unten bei "Output" angezeigt) |
komisch, benutzt du fbedit oder fbide?
nun bei fbedit starte ich ein neues projekt. dann gebe ich den projekt namen sowie projektbeschreibumg ein. dann steht da projekt Typ. dort clicke ich qbasic console an und gehe auf ok. ich denke das ich jetzt im qbasic modus bin. nun zusätzlich gehe ich oben rechts auf optionen unter build optionen klicke ich ebenfalls auf qbasic console. habe nach dem 2. versuch auf die qbasic exe datei gelinkt. ging aber nicht.
fehlermeldung:
/../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(51) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'Street' in 'Street$ = GetInput$(5, 20, "", 50, 15, 1, "ù", 0, "", "", 0, "")'
../../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(55) error 9: Expected expression, found '=' in 'Name$ = GetInput$(6, 20, "", 50, 15, 1, "ù", 0, "", "", 0, "")'
../../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(59) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'City' in 'City$ = GetInput$(7, 20, "", 2, 15, 1, "ù", 0, "", "$$", 0, "")'
../../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(63) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'ZipCode' in 'ZipCode$ = GetInput$(7, 41, "", 5, 15, 1, "ù", 0, "", "#####", 0, "")'
../../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(67) error 137: Suffixes are only valid in -lang deprecated or fblite or qb, found 'Phone' in 'Phone$ = GetInput$(8, 20, "", 14, 15, 1, "ù", 0, "", "(###) ###-####", qbForceComplete, "")'
../../../qbasic/qb_7_1_e/QB_7_1.COM/FbTemp.bas(67) error 123: Too many errors, exiting
gruss mik |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 31.07.2009, 12:59 Titel: |
|
|
Ich vermute mal, dass du den Schnellstartbutton in FBEdit verwendest um das Programm zu starten.
FBEdit hat aber die Angewohnheit, nur als Windows Console zu starten, wenn man das so macht.
Versuch es einfach mal mit F5 zu compilieren und dann die Exe händisch zu starten. |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 31.07.2009, 13:16 Titel: |
|
|
Stimmt, mit dem Schnellstartbutton (drei farbige Kreise) funktioniert es nicht. Verwende den Start-Button links daneben (grüner Pfeil) _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
mik
Anmeldungsdatum: 31.07.2009 Beiträge: 6
|
Verfasst am: 31.07.2009, 13:19 Titel: |
|
|
MOD hat Folgendes geschrieben: | Ich vermute mal, dass du den Schnellstartbutton in FBEdit verwendest um das Programm zu starten.
FBEdit hat aber die Angewohnheit, nur als Windows Console zu starten, wenn man das so macht.
Versuch es einfach mal mit F5 zu compilieren und dann die Exe händisch zu starten. |
ja ich starte mit den schnellstart button. nun hab ich versucht zu compilieren, er schreibt make done, finde aber keine exe datei vom bas programm. hab den ordner projekt defeniert.
gibt es nich eine möglichkeit aus der shell heraus in den qbasic modus zu wechseln?
bin ich dann auf qbasic befehle eingeschränkt wenn ich im qbasic modus bin?
gruss mik |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 31.07.2009, 13:29 Titel: |
|
|
Die Exe landet normalerweise da, wo die Bas gespeichert ist.
Aus der Shell geht es natürlich auch.
Code: | fbc -lang qb deinprog.bas |
Du musst dabei im FB-Verzeichnis sein und falls die Bas wo anders ist, mit Pfad angeben. |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 31.07.2009, 13:29 Titel: |
|
|
Du kannst einfach die folgende Zeile am Anfang deines Programms einfügen:
Dann kannst du ganz normal über "Windows Console" kompilieren (auch über Schnellstart) und es funktioniert einwandfrei.
Du musst übrigens keine Projektdatei erstellen, um das Programm zu kompilieren, wenn es nur aus einer Datei besteht. Du kannst die Datei einfach öffnen, dann kannst du auch aus allen Compile-Möglichkeiten auswählen (wie Windows Console, QB Console, Deprecated, ...)
Zu deinem Projekt kannst du übrigens über (Hauptmenü)Projekt --> Projektoptionen und im erscheinenden Dialog dann "..." rechts neben Build-Befehl drücken. Weiters im erscheinenden Dialog "importieren" und da kannst du dann andere Build-Konfigurationen importieren.
______________________
Eine andere Möglichkeit ist, dass du das programm manuell über die Eingabeaufforderung kompilierst:
Code: | fbc meinprogramm.bas -lang qb |
_________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
mik
Anmeldungsdatum: 31.07.2009 Beiträge: 6
|
Verfasst am: 31.07.2009, 15:06 Titel: |
|
|
jetzt hab ich es kapiert, man muss es jedesmal compilieren um es kompatibel zu machen.
nun habe ich noch eine frage da kann man qbasic mit gui und ohne gui compilieren. wo ist der unterschied?
wenn ich mit gui compiliere dann startet das programm nicht.
kann ich jetzt trotzdem die api benutzen? also fenster unsw
danke an alle
gruss mik |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 31.07.2009, 15:12 Titel: |
|
|
GUI ist ein Fenster ohne das Consolenfenster.
Gib beispielsweise Screen 13 am Anfang deines Codes an und compilier mit GUI, dann hast du ein Fenster aber keine Console.
Wenn du natürlich keinen Screen angibst, dann wird kein Fenster erzeugt, aber im GUI-Modus wird trotzdem das Consolenfenster deaktiviert.
Ausprobieren und der Unterschied wird dir klar  |
|
Nach oben |
|
 |
mik
Anmeldungsdatum: 31.07.2009 Beiträge: 6
|
Verfasst am: 31.07.2009, 17:16 Titel: |
|
|
ah verstehe.
nun hab ich ein ganz anderes problem. ich kann in qb console nur qbasic befehle ausfüren. das habe ich getestet mit folgenden code:
Code: |
Type UDT
a As UINTEGER <- sogeht es nicht. wenn ich double wie in qbasic eingebe schon
b As Single
c As String * 5
END TYPE
f = Freefile
Open "file.ext" For Binary As #f
Dim outarray(5) As Integer
Dim outUDT As UDT
Put #f, , outarray()
Put #f, , outUDT
Close #f
|
was für ein sinn macht das? da kann ich auch mit qbasic programmieren oder irre ich mich da?
wenn dem so ist, bleibt nur noch dies in freebasic anzupassen, was aber nicht so einfach ist wie ich gesehen habe.
gruss mik |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 31.07.2009, 18:08 Titel: |
|
|
Der QBASIC-Modus ist daraufhin ausgelegt, so nahe an QBASIC zu sein wie möglich. Daher gibt es auch viele FreeBASIC-Befehle nicht. Du kannst ja mal den Modus -fblite oder -deprecated ausprobieren, da sind die Anpassung, glaube ich, noch nicht ganz so aufwändig wie für FreeBASIC ohne Modus (= Modus -fb).
Ein fertiges Programm komplett anzupassen kann je nach Programmierstil tatsächlich ziemlich übel werden. Für neue Programme lohnt es sich durchaus, sich in die Unterschiede in FreeBASIC einzuarbeiten. Da ist es recht wenig zusätzlicher Aufwand. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|