Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

qbasic programm in freebasic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mik



Anmeldungsdatum: 31.07.2009
Beiträge: 6

BeitragVerfasst am: 31.07.2009, 12:11    Titel: qbasic programm in freebasic Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 31.07.2009, 12:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
mik



Anmeldungsdatum: 31.07.2009
Beiträge: 6

BeitragVerfasst am: 31.07.2009, 12:33    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 31.07.2009, 12:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 31.07.2009, 13:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
mik



Anmeldungsdatum: 31.07.2009
Beiträge: 6

BeitragVerfasst am: 31.07.2009, 13:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 31.07.2009, 13:29    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 956
Wohnort: Austria

BeitragVerfasst am: 31.07.2009, 13:29    Titel: Antworten mit Zitat

Du kannst einfach die folgende Zeile am Anfang deines Programms einfügen:
Code:
#lang "qb"

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
Benutzer-Profile anzeigen Private Nachricht senden
mik



Anmeldungsdatum: 31.07.2009
Beiträge: 6

BeitragVerfasst am: 31.07.2009, 15:06    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 31.07.2009, 15:12    Titel: Antworten mit Zitat

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 happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
mik



Anmeldungsdatum: 31.07.2009
Beiträge: 6

BeitragVerfasst am: 31.07.2009, 17:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 31.07.2009, 18:08    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz