 |
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 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 23.07.2008, 16:22 Titel: "Falscher Dateimodus", "Interner Fehler nahe |
|
|
Hi,
ich hab ein Programm mit Rechner, Ampel,... geschrieben.
Nun hatte ich schon Probleme eine .exe zu erstellen, ich ging so vor:
"Kompilieren Sie ihr BAS-Programm mit <Ausführen | EXE-Datei erstellen... | (.) Selbständige EXE-Datei | EXE erstellen und beenden>".
Eine .exe konnte ich nicht erstellen, da es immer hieß:
Datei nicht gefunden (BC.exe) Pfad eingeben (Obwohl Die Rechner Ampel Datei im selben Ordner wie die BC. exe ist und ich QBasic neu heruntergeladen habe) ODER
Interner Fehler nahe 5FA7
42445 Bytes verfügbar
40929 Bytes frei
0 Warnung
1 Schwerer Fehler.
Hat hier jemand schon Tipps,...?
//edit: Habe herausgefunden, dass diese Fehlermeldung kommt, wenn man in QB unter "Text für andere Programme lesbar" speichert!
ABER das eigentliche Problem:
Wenn ich das Prog. öffnen will kommt "Falscher Dateimodus".
Ich habe mit QuickBasic 4.5 unter WIN XP Media Center gearbeitet. (Eine ganz einfache .exe konnte ich erstellen!!!)
Helft mir Bitte!!!
Zuletzt bearbeitet von Fre@k am 01.08.2008, 19:11, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 23.07.2008, 18:52 Titel: |
|
|
Ist nur mal ein Schuss ins Blaue:
Vielleicht könnte der Dateiname deiner Quellcodedatei Umlaute enthalten oder die 8.3 Regeln anderwärtig nicht einhalten.
Dies gilt auch für den Pfad zum Programm selbst, der insgesamt - inkl. Dateiname - max 127 Zeichen (möglicherweise auch 126 oder 128, weiß nicht mehr genau) lang sein darf.
//edit: du könntest das ganze auch einmal im DosBox Emulator, in einem echten alten DOS oder einem ähnlichen Emulator ausprobieren.
//edit2: Das mit dem "Falscher Dateimodus" kommt meißtens zustande, wenn du die Quellcodedateien einer neueren QBasic Version im Binärformat speicherst. Eine ältere QB-Version kann das Programm dann oft nicht laden. Speichere dazu das Programm im Textformat. Das braucht zwar etwas mehr Speicherplatz und längere Ladezeiten - ist aber bei unseren heutigen Terabyte-Festplatten und Multicore-CPUs kein Problem mehr.
//edit3, zu edit2: Nimm zum Laden des Programmes QuickBasic 7.1, da es die mit QB 4.5 im Binärformat erstellten Programme auch laden kann - umgekehrt jedoch nicht (da kommt nämlich dieser Fehler).
Frage: Wurde die zu öffnende Datei mit dem selben Programm erstellt, mit dem du sie zu laden versuchst? "Einfache EXE" = Hello World Programm?, was ist dann eine komplizierte? Ist die Quellcodedatei größer als 64 KB?, ....
Ich hoffe ich konnte helfen
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 24.07.2008, 19:50 Titel: |
|
|
was heißt Schuss ins blaue? ist es noch zu retten?
8.3 stimmt.
pfad: 61 wörter
wie soll des in DOS Box gehn?
Hab ALLLESSS mit 4.5 gemacht. Textformat kann ich doch nicht speichern, da ich die Datei nicht mehr öffnen kann > "Falscher Dateimodus" (beim Öffnungsversuch in 4.5 + 7.1)
Kompliziert = sehr großer Rechner + Ampel + Grafikzeichnung |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 25.07.2008, 01:48 Titel: |
|
|
Fre@k hat Folgendes geschrieben: | was heißt Schuss ins blaue? ist es noch zu retten? |
Kennst du diese Redewendung nicht? (Naja, vielleicht sagt man das eher bei mir im Österreichischen Gebiet)
Es bedeutet lt. Wikipedia folgendes:
"Auf reine Vermutung hin einen Verdacht äußern, ohne den Beweis dafür antreten zu können. Beliebte und meist bewusst angewandte Methode, um über das ausgelöste Echo einer Sache auf die Spur zu kommen, aber auch, um (z. B. politische) Gegner ins Zwielicht zu rücken."
Aber eigentlich gut, dass du gefragt hast. So genau wie oberhalb hatte ich es selbst noch nicht nicht gewusst.
Vorerst möchte ich sagen, dass ich mich bei deiner Beschreibung nicht so ganz auskenne: "sehr großer Rechner + Ampel + Grafikzeichnung". Sind das deine 3 Programme? Wenn ich das ganze falsch verstehe (was ich mir leicht denken kann) bitte berichtigen!
So, zurück zum Thema:
Laut deiner Beschreibung bin ich leider ziemlich ratlos, aber du kannst ja das mit DOSbox noch probieren. Wenn das nicht funktioniert (bzw mir nichts weiter einfällt) weiß ich auch nicht mehr weiter. Da muss dann einer unserer weisen Foren-Admins einspringen .
Also mein (vorerst) letzter Tipp:
1. Du lädst dir DOSBox herunter und installierst es (falls noch nicht getan).
2. Dann kopierst du (der Einfachheit wegen) deine Quellcodedatei (z.B. "TEST.BAS") am Besten in einen Unterordner eines deiner Laufwerke (z.B. "C:\QBASIC\")
Alle folgenden Dateiaktionen betreffen nur die "Sicherungskopie" unter "C:\QBASIC\", nicht den Originalordner. Diese Kopie kannst du, nachdem du die Ergebnisse weißt, wieder löschen. Wenn du deine Programme & QBasic in einen anderen Ordner/Laufwerk kopieren willst, ist das natürlich auch möglich. Du musst nur im folgenden die Pfad-, Laufwerks- und Dateiangaben dementsprechend anpassen. Die folgenden Befehle zum Eintippen sind immer ohne Anführungszeichen einzugeben.
3. Lösche die "QBX.INI" (in QB 7.1) bzw. die "QB.INI" (bei QB 4.5), falls diese existieren (Damit löscht du alle Einstellungen von QBasic)
4. Weiters öffnest du die DOSbox, tippst "MOUNT C: C:\QBASIC" ein und bestätigst mit der Eingabetaste. Beachte, dass Standardmäßig das Englische Tastaturlayout eingestellt ist und hier die Tasten Y und Z vertauscht sind. Das Tastenlayout kannst du mit dem Befehl "KEYB GR" jederzeit ins deutsche ändern.
5. Wechsle mit "C:", Eingabetaste, nach C: und starte Qbasic 4.5 mit "QB /L" bzw. QBasic 7.1 mit "QBX /L". Den Parameter "/L" kannst du weglassen, wenn du die QuickLibrary in deinem Programm nicht verwendest.
6. Versuche jetzt das Programm zu laden und zu kompilieren.
Dann kannst du berichten, ob es funktioniert (was ich zwar nicht vermute) , ob es andere Fehler mit sich bringt, ...
Falls es jetzt funktioniert kannst du annehmen, dass das Problem an der (nicht allzu guten) DOS Emulierung unter Windows liegt oder an falschen Pfadeinstellungen im Programm (glaube ich eher weniger).
Übrigens: Ich schreibe meine Beschreibungen meist sehr genau und für Computer-Fortgeschrittene bis Profis langweilig. Ich möchte jedenfalls mit einer solchen Ausdrucksweise nicht das Fachliche Wissen der betroffenen Person herabsetzen bzw. denjenigen Beleidigen.
Was zeigt eigentlich Notepad (oder ein anderer Texteditor) an, wenn du deinen Quellcode darin öffnest? Ist es Quellcode oder sind es irgendwelche unverständlichen Zeichen? Falls letzteres zutrifft, öffne die Datei mit einem Hex-Editor und prüfe, ob sie mit dem Hex-Werte "FC" (ASCII Zeichen: kleines "ü") beginnt.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 25.07.2008, 10:23 Titel: |
|
|
DANKE, DANKE für deine Bemühungen.
Ich hoffe, dass es NUR "ein Schuss ins Blaue" ist und es noch zu RETTEN ist.
Es sind 3 Programme! Im Hauptmenü kann man wählen zwischen: Rechner, Ampel und Zeichnung.
DOSBOX:Das Programm lässt sich nicht laden o.ä.!
Bin vorgegangen wie beschrieben.
"Drive C is mounted as local directory c:\qbasic\"
Irgendwann kamm:
"So a MOUNT c: c:\windows mounts windows directory as the c: drive in DOSBox
(Hinweis: ":" mit Umschalt ö "\" mit #)
Gibt es so ein Programm auf deutsch? Fachengl. ist nicht meins!
Der Windows Editor zeigt ein paar Wörter dann Rechtecke an,... +"unverständliche Zeichen"
HEX Editor: "fc" (in der mitte) "ü" (rechts). Schlimm?
DANKENDE Grüße
Fre@k
P.S. Bin kein Fortgeschrittener. Finde deine einfache "Sprache" gut. Auch für andere!  |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 26.07.2008, 21:51 Titel: |
|
|
Wenn du willst, kannst du deine Programme hochladen, hier reinstellen oder mir per E-Mail an "//edit: E-Mail-Adresse wegen Spam-Gefahr wieder entfernt//" senden ([at] bitte mit @ Zeichen ersetzen), dann kann ich mir die einmal genauer ansehen. Wenn du das nicht möchtest, ist das natürlich auch ok.
Zu DOSbox:
Du kannst eine deutsche Sprachdatei hier herunterladen. Das ZIP Archiv entpackst du dann in den Installationsorder von DOSbox. Der weitere Vorgang zum Installieren der deutschen Sprachdatei und des (dauerhaften) Aktivieren des deutschen Tastaturlayouts ist in der (im ZIP Archiv enthaltenen) Datei "deutsch.txt" nachzulesen.
Ich mache jetzt ein Bildschirm-Video der Vorgangsweise und lade es in nächster Zeit hoch. Bitte etwas Geduld. Wenn ich in den nächsten Tagen nicht antworte, gibt es wahrscheinlich wieder Probleme mit meinem Internet, wie von gestern bis heute Nachmittag.
//edit: Habe das Video hier hochgeladen. Die Datei ist 7-Zip komprimiert, da die unkomprimierte AVI-Datei 70 MB hat, die komprimierte 7-Zip-Datei nur etwa 500 KB! Mein Rechner war leider etwas zu langsam, darum hängt die Video-Aufnahme etwas. Eventuell hilft es ja weiter, obwohl ich inzwischen nicht mehr glaube, dass es mit DOSbox funktioniert, aber du kannst es ja probieren... _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Zuletzt bearbeitet von St_W am 28.07.2008, 16:33, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 28.07.2008, 16:28 Titel: |
|
|
DANKE.
wenn ich wieder ein Problem hab werde ich mich wieder melden. Auf einmal gings mit QB 7.1
Danke für deine viele Mühe. Das Video ist sehr gut. Habe die deutsche Kurzanleitung befolgt, aber kein dt. Menü bekommen. Ist ja egal.
DANKE!!!!!!!!
Fre@k |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 01.08.2008, 19:27 Titel: |
|
|
Könntest Du mir bitte die exe erstellen (die oben genannte), denn bei mir geht es nicht!
Hab mit DOSBOX,... probiert |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 04.08.2008, 18:54 Titel: |
|
|
T'schuldigung, dass ich erst so spät antworte.
Fre@k hat Folgendes geschrieben: | Könntest Du mir bitte die exe erstellen (die oben genannte) |
Welche exe von was?!
Fre@k hat Folgendes geschrieben: | Habe die deutsche Kurzanleitung befolgt, aber kein dt. Menü bekommen |
Wenn du mit dt. Menü das Menü von QB 7.1 meinst, haben wir uns wohl etwas missverstanden. Mit dieser Sprachdatei wird nur das Programm Dosbox selbst deutsch, die (DOS-)Programme, die du damit ausführst, nicht. Wenn du jedoch das Programm DosBox selbst auch nicht eindeutschen konntest und du das Programm weiterverwenden willst (siehe letzer Absatz) kann ich dir gern die Konfigurations- und Sprachdateien schicken, die du dann nur noch in den Installationsorder verschieben musst.
Das Programm DosBox brauchst du übrigens nicht mehr. Du brauchst es, wenn ein DOS-Programm unter Windows nicht (ordnungsgemäß) funktioniert. Dann kannst du das jeweilige Programm mit DosBox ausführen. Da QB7.1 (QB.EXE bzw. QBX.EXE) (und wahrscheinlich auch der zugehörige Compiler (BC.EXE), Linker (LINK.EXE) und die Bibliotheksverwaltung (LIB.EXE)) bei dir ordnungsgemäß unter Windows funktionieren, brauchst du es nicht. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 08.08.2008, 18:07 Titel: |
|
|
Könntest Du mir bitte die exe erstellen (die oben genannte):
Ich schicke Dir per mail mein Programm und Ich hoffe, dass du die Fehler beheben kannst (Ich als Anfänger nicht!!! ).
Deutsches DOSBOX Menü läuft!
Gruß
Fre@k |
|
Nach oben |
|
 |
Fre@k
Anmeldungsdatum: 23.07.2008 Beiträge: 11
|
Verfasst am: 08.08.2008, 18:08 Titel: |
|
|
Ich bin verzweifelt!!! |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 09.08.2008, 17:11 Titel: |
|
|
Ich habe dir meine E-Mail-Adresse per PN (Private Nachricht) geschickt.
Du findest den Posteingang der PN's ganz oben in der Navigation zwischen 'Profil' und 'Login' bzw. 'Logout [Username]' - oder du folgst diesem Link wenn du angemeldet bist.
Ich kann nichts versprechen, aber ich werde versuchen das Programm zum Laufen zu bringen.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 13.08.2008, 20:07 Titel: |
|
|
Ich habe mir jetzt dein Proramm einmal angesehen:
Der Programmcode ist völlig korrekt, wenn auch nicht schön und etwas unsauber - aber das ist bei Anfängern Standard. Den Fehler beim Kompilieren kann ich auch nicht erklären, da das Interpretieren (=direkt in QB(X).EXE starten) einwandfrei funktioniert.
Ich habe dein Programm mit FreeBasic (mit Parameter "-lang qb") auch zu kompilieren versucht, und es hat einwandfrei funktioniert.
Ich vermute, dass du zufällig einen Bug im Compiler von Microsoft entdeckt hast oder die vielen Goto's einen Programmfehler im Compiler auslösen.
Ich habe jedenfalls ALLE Goto's entfernt (wenn du's noch nicht weißt: durch GOTO werden deine Programme äußerst unübersichtlich, darum solltest du GOTO so selten, wie möglich, verwenden. Am Besten überhaupt nicht!) und das Programm konnte einwandfrei kompiliert werden.
Aus zeitlichen Gründen habe ich das Programm auch nur kurz überarbeitet. Die Lösung mit der "Ende"-SUB, ist z.B. nicht optimal (aber am einfachsten und schnellsten ). Auch die Rechenoperationen würde ich eigentlich als Funktionen realisieren, denen die Parameter übergeben werden und diese dann den Ergebniswert zurückgeben. Dann musst du aber die Eingaberoutine der Parameter zur Berechnung völlig anders aufbauen, deshalb hab ich die Berechnung einschließlich Parmeterabfrage und Ergebnisausgabe ins Unterprogramm verschoben.
Ich habe dir die ganzen Dateien in ein 7-Zip Archiv gepackt und hier hochgeladen.
- "START-1.BAS" ist dein originaler Quellcode
- "START-1.EXE" ist das mit FreeBasic kompilierte Programm deines Originalcodes
- "START.BAS" ist mein überarbeiteter Quelltext
- "START.EXE" ist die kompilierte Version des überarbeiteten Quelltexts (mit QB 7.1)
- "START.OBJ" ist die beim kompilieren des bearbeiteten Quelltexts erstellte Objektdatei. Wird nicht benötigt.
Ich hoffe ich konnte helfen.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
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.
|
|