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:

Trotz Overflow kompilieren? Wie?

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



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 29.11.2007, 02:58    Titel: Trotz Overflow kompilieren? Wie? Antworten mit Zitat

Hallo,

gibt es eine Möglichkeit, nicht doch über die 64K hinauszukommen?
Habe ein altes Prog von früher entdeckt mit ca. 2600 Zeilen (der Programmcode allein braucht schon ca. 89 KB) und ich würde es zu gerne kompilieren.
Leider kann ich den Code nicht wirklich in andere Dateien verlagern und dann verlinken (die SUBs machen max. 600 Zeilen aus) und der restliche Code ist voll mit GOTO-Zeugs etc. (richtig schlimm "programmiert").

Jedenfalls habe ich noch keine Möglichkeit gefunden, das Ding in eine ausführbare exe-Datei zu bringen.

Wer eine Möglichkeit kennt, möge sich bitte umgehend bei mir melden! lächeln
Schöne Grüße,
Johann

--
htp://www.johann-eckert.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 29.11.2007, 12:36    Titel: Antworten mit Zitat

Einfach mit Freebasic kompilieren:

Code:

C:\fbc -lang qb deinprog.bas


Ob die .exe nun 16-Bit oder 32-Bit ist, dürfte dich nicht stören, es sei denn, sie soll auf Win 3.x ohne Win32s-Erweiterung oder noch was Älterem zum Laufen kommen. Für DOS gibt's auch den Freebasic-Version inkl. Extender.

Siehe
http://www.freebasic-portal.de

Viele Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dummer-esel



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 29.11.2007, 14:19    Titel: Antworten mit Zitat

croco97 hat Folgendes geschrieben:
Einfach mit Freebasic kompilieren

ergibt leider jede Menge Syntax-Fehlerchen bei mir (z.B. adventu2.bas(15) error 10: Expected '=', found 'a' ).
Und das obwohl ich -lang qb als Parameter mit angegeben habe.

Zitat:
Ob die .exe nun 16-Bit oder 32-Bit ist, dürfte dich nicht stören

richtig.

Any idea?
Oder muss man das nun im fb-forum posten? zwinkern

Danke & Gruß,
Johann

--
http://www.johann-eckert.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 29.11.2007, 15:09    Titel: Antworten mit Zitat

Ähm ja die Tatsache ist die, das Ehemalige Befehle wie z.B Play in FB nicht oder noch nicht vorhanden sind. Diese müssten rauseditiert oder nachgebildet werden.

Solche "toten" Befehle kann man z.B mit
Code:
sub play (dummy as string)
end sub

ganz leicht umgehen
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.11.2007, 15:16    Titel: Antworten mit Zitat

Einfacher geht's auch...
Verwende QuickBasic statt QBasic. QuickBasic mag für viele identisch sein, aber es hat ein paar mehr Befehle und kann auch größere programme kompilieren zwinkern bekommst du beides von qbasic.de zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dummer-esel



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 29.11.2007, 15:29    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
Einfacher geht's auch...
Verwende QuickBasic statt QBasic. QuickBasic mag für viele identisch sein, aber es hat ein paar mehr Befehle und kann auch größere programme kompilieren zwinkern bekommst du beides von qbasic.de zwinkern

Danke für die Hilfe. Hätte ich vielleicht noch dazuschreiben sollten:
Habs mit QuickBasic 4.5 schon versucht (was ja, nachdem was man so liest noch mehr Speichern zum Kompilieren haben soll als 7.1).
Jedenfalls hat es damit leider (auch) nicht funktioniert traurig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.11.2007, 16:35    Titel: Antworten mit Zitat

Dann solltest du es nochmal mit FreeBasic versuchen... Es ist klar, dass nicht alle Programme 1:1 übertragen werden könnten, aber wenn du den Parameter -lang qb verwendest, musst du oft nur noch sehr wenige dinge abändern zwinkern Dabei hilft auch die Befehlsreferenz...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 29.11.2007, 17:18    Titel: Antworten mit Zitat

Poste doch mal dein Proggi (genauer: lade es beim http://freebasic-portal.de hoch). Oder poste zumindest die Teile, an denen der fbc meckert. Ich denke, wir können dir da schnell helfen.

Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dummer-esel



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 30.11.2007, 01:36    Titel: Antworten mit Zitat

Also es sind schon einige Fehler... könnte man evtl auch mit automatischem Ersetzen hinkriegen, aber dann ist an dem Parameter "-lang qb" irgendwas seltsam.

croco97 hat Folgendes geschrieben:
Poste doch mal dein Proggi (genauer: lade es beim http://freebasic-portal.de hoch). Oder poste zumindest die Teile, an denen der fbc meckert. Ich denke, wir können dir da schnell helfen.


hab mich nun bei diesem fb:porticula angemeldet, aber muss man erst diesen Client runterladen und installieren? Ich pack die Datei einfach auf meine Homepage, das geht schneller. Hier der Link:

http://www.johann-eckert.de/sonstiges/ADVENTU2.BAS
(ist ein Text-Adventure mit Grafik von mir. Wer es komplett haben will braucht noch die anderen 2 Dateien):
http://www.johann-eckert.de/sonstiges/AEND1.BAS
http://www.johann-eckert.de/sonstiges/AEND2.BAS

Viel Spaß beim Zocken, würde es nur wie gesagt auch gern in kompilierter Form auf meine Homepage stellen zwinkern

Johann

EDIT:
Hier noch das was mein fbc zurückgibt:
Code:

D:\Programme\FreeBASIC>fbc -lang qb adventu2.bas
adventu2.bas(4) error 10: Expected '=', found 't180l32o1cdefgao2cdefgao3cdefgao1
cdefgao2cdefgao3cdefgao1cdefgao2cdefgao3cdefga'
PLAY "t180l32o1cdefgao2cdefgao3cdefgao1cdefgao2cdefgao3cdefgao1cdefgao2cdefgao3c
defga"
     ^
adventu2.bas(15) error 10: Expected '=', found 'a'
SOUND a, 1: LOOP UNTIL INKEY$ <> ""
      ^
adventu2.bas(26) error 6: Expected '('
LOCATE 9, 10: INPUT "Wie heißt Du"; name$
                                    ^
adventu2.bas(45) error 6: Expected '(', found '='
Weite1: CLS : IF name$ = "" THEN name$ = "Du"
                       ^
adventu2.bas(46) error 6: Expected '(', found ';'
LOCATE 1, 1: COLOR 7: PRINT "   "; name$; ":"
                                        ^
adventu2.bas(85) error 6: Expected '(', found ';'
LOCATE 25, 10: COLOR 14: PRINT "Also los, "; name$; "! Let's go!"
                                                  ^
adventu2.bas(86) error 6: Expected '(', found '='
IF name$ = "Du" THEN LOCATE 25: PRINT "                           Also los! Let'
s go!                             "
         ^
adventu2.bas(147) error 10: Expected '='
SOUND 0, 5: LOOP UNTIL B = 60
      ^
adventu2.bas(212) error 10: Expected '='
SOUND 525.25, 18.2 / 2
      ^
adventu2.bas(213) error 10: Expected '='
SOUND 783.99, 18.2 / 4
      ^
adventu2.bas(213) error 123: Too many errors, exiting
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 30.11.2007, 10:30    Titel: Antworten mit Zitat

Na bitte, geht doch!

Hier findest du deinen überarbeiteten Code:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=310

Was ich gemacht habe:
PLAY und SOUND alles auskommentiert.
name$ durch name0$ ersetzt.
Hauptprogramm in ein SUB gesetzt, um den LOOP-Fehlern auf die Schliche zu kommen - durch die geniale Doppelpunkt-Orgie ist dem Autor wohl etwas der Überblick über noch offene Schleifen verloren gegangen. Die werden jetzt am Ende der SUB's geschlossen.

Ich hab's mit FBC ver. 017b kompiliert, das dürfte jetzt mit Ver. 018 und -lang qb auch kein Problem sein. Wenn doch: Melde dich hier nochmal!

Viele Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 30.11.2007, 15:50    Titel: Antworten mit Zitat

@dummer-esel:
Nein, du musst dir den Client nicht herunterladen. zwinkern
Du kannst einerseits das Webinterface nutzen (fb:porticula->Neuen Code hochladen) oder aber den Clienten, welcher z.B. ohne Aufruf des Browsers bzw. von FB-Portal die entweder gewählte Datei oder den Zwischenablageinhalt auf porticula hochlädt. Er ist quasi nur eine Erleichterung, keine Pflicht.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dummer-esel



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 30.11.2007, 20:35    Titel: Antworten mit Zitat

croco97 hat Folgendes geschrieben:
Na bitte, geht doch!
Hier findest du deinen überarbeiteten Code:
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=310

Danke, ist nett gemeint. Aber leider ist das Spiel so nicht mehr wirklich sinnvoll. Habe nämlich den SOUND-Befehl damals als Pause in Schleifen benutzt und durch die Auskommentierung sind nun einige Teile unbrauchbar geworden (abgesehen davon, dass man das Gedudel aus dem Speaker nicht mehr hört).

Die restlichen Änderungen sind ok, auch wenn mir das mit dem LOOP-Fehler nie aufgefallen ist (QB hat's immer korrekt ausgeführt und das Programm lief auch wie gewollt ab).

Zitat:
durch die geniale Doppelpunkt-Orgie ist dem Autor wohl etwas der Überblick über noch offene Schleifen verloren gegangen.

Dass das mit den Doppelpunkten keine schöne Sache ist, ist mir durchaus klar. Heute würde ich das (wenn überhaupt) auch ganz anders schreiben... ohne GOTO, mehr Kommentare, anders strukturiert etc. das ist keine Frage!
Durch die Doppelpunkte stehen ja auch manchmal mehrere Befehle in einer Zeile und durch die Auskommentierung wurde deshalb mehr als nur die SOUND-Befehle in Mitleidenschaft gezogen.
Momentan bin ich dabei, das ganze mittels RegExen zu bereinigen, aber so langsam verlässt mich die Lust.
Vielleicht stell ich's einfach als .bas-Datei + Qbasic + DOSBox online. Ist zwar etwas umständlich, aber was solls... zwinkern

Schöne Grüße,
Johann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 30.11.2007, 20:40    Titel: Antworten mit Zitat

In Freebasic ist der sleep-befehl wesentlich präziser (1msec auflösung), also sogar präziser als SOUND 0 zwinkern Das könnte dir helfen... Für Musik bietet sich eher das MOD-Format an lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dummer-esel



Anmeldungsdatum: 29.11.2007
Beiträge: 6

BeitragVerfasst am: 30.11.2007, 20:56    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
In Freebasic ist der sleep-befehl wesentlich präziser (1msec auflösung), also sogar präziser als SOUND 0 zwinkern Das könnte dir helfen... Für Musik bietet sich eher das MOD-Format an lächeln

Okay, dann versuch ich mal ne komplizierte RegEx zu bauen, die mir die SOUNDs in SLEEPs verwandelt... das mit MOD lasse ich erstmal, zumal ich im FB-Portal nix dazu gefunden hab.
Meinst du das Dateiformat .mod? Ich glaube nicht, dass ich meine SOUND-Anweisungen einfach so dadurch ersetzen kann (kenn mich in dieser Richtung aber auch nicht aus). Wenn man ein neues Spiel konzipiert, ist diese Idee sicher richtig.
Hilft mir in meiner Situation aber leider auch nicht weiter. zwinkern
Danke trotzdem!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 30.11.2007, 21:44    Titel: Antworten mit Zitat

ja, ich meine .mod, genauer gesagt .it oder .xm lächeln du kannst mal im Forum nach meinem RAIN-Programm suchen, das zeigt ganz anschaulich, wie man sowas mit der FMOD-bibliothek realisieren kann.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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