Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 11:29 Titel: Qbasic zu C++ |
|
|
Hallo,
Ich habe folgendes Problem, mein Chef hat vor ca 9 Jahren ein Programm in Qbasic geschrieben, nun ist es ja so das wir alle wissen das es nicht ohne weiteres möglich ist ein 16 bit Programm unter einer 64 bit Version zum laufen zu bringen. Mein Chef meinte ich soll es nach C++ umschreiben und ehrlich gesagt bin ich bis jetzt Kläglich daran gescheitert, weil mir die Kenntnisse fehlen. Ich habe das so in etwa auch schon in anderen Foren gepostet (c++ Foren) und jetzt wollte ich es mal hier Probieren, weil mir da nicht wirklich einer entgegen gekommen ist.
Vielleicht kann mir ja einer dabei Helfen, den Text umzuschreiben
oder mir Tipps geben kann, wie ich das am beste mache.
Danke
Code: |
open "i", #1, "zone.inf"
input #1, x$
x = LEN(x$)
k=INSTR(x$," PJ")
if k=0 GOTO 1000
for j=k+5 to x
a$=MID$(x$,j,1)
b$=b$+a$
i = i+1
if asc(a$)=1 goto 200
next
200 c$=MID$(b$,1,i-1)
print"Die Projektnummer ist: "+c$
print "Die Projektnummer hat "+STR$(i-1)+" Zeichen"
if i-1>6 GOTO 1001
PN$=c$
if MID$(c$,i-1,1)="-" then
d$=LEFT$(c$,i-2)
print "Projektnummer von: "+c$+" auf: "+d$+" ge„ndert"
PN$=d$
END IF
close #1
AUSGABEDAT$ = PN$+".HNC"
open "o",#2,AUSGABEDAT$
print #2, "%"
close #2
print "----------------------------------------------------------"
input "Dateien verknuepfen von";n1
input " bis";n2
for i=n1 to n2
if i<10 then
i$="0"+RIGHT$(STR$(i),1)
end if
if i>=10 and i<100 then
i$=RIGHT$(STR$(i),2)
end if
if i>=100 and i<1000 then
i$=RIGHT$(STR$(i),3)
end if
if i>=1000 then
goto 1002
end if
QUELLDAT$ = c$+i$+".HNC"
print QUELLDAT$
open "i",#3,QUELLDAT$
open AUSGABEDAT$ for append as #2
while not eof(3)
input #3,NCSATZ$
if NCSATZ$="%" then
print #2, "( Anfang Programm "+QUELLDAT$+" )"
GOTO 500
end if
if RIGHT$(NCSATZ$,3)="M02" AND i=n2 then
print #2,NCSATZ$
print #2, "( Ende Programm "+QUELLDAT$+" )"
GOTO 500
end if
if RIGHT$(NCSATZ$,3)="M02" then
print #2, "( Ende Programm "+QUELLDAT$+" )"
GOTO 500
end if
if NCSATZ$="E" GOTO 500
print #2,NCSATZ$
500
wend
close #3
close #2
next
open AUSGABEDAT$ for append as #2
print #2, "E"
close #2
999 END
1000 print "Abbruch wegen Fehler in Datei ZONE.INF"
goto 999
1001 print "Projektnummer hat mehr als 6 Zeichen. Dateinamen mit mehr als 8 Zeichen sind nicht m”glich"
goto 999
1002 print "Kann Dateien nicht verknuepfen. Programmnummer ist groesser als 999"
goto 999
1003 print "Falsche Eingabe! Abbruch."
goto 999
|
|
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 19.11.2008, 11:49 Titel: |
|
|
wenn es nicht um die sprache geht, sondern darum, dass es läuft, schau dir einfach mal FreeBASIC an. Hat die selbe syntax wie qbasic und mit dem modus "-lang qb" kann man qbasic-programm meist ohne änderungen starten. natürlich 64-bit kompatibel. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 11:51 Titel: |
|
|
Das wäre natürlich super ich Probier das grad mal aus.
Dankeschön |
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 12:06 Titel: |
|
|
Es Funktioniert leider nicht. Er gibt die Fehlermeldung immer noch raus das es nicht mit 64 bit funktioniert. |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 19.11.2008, 12:25 Titel: |
|
|
es wäre schon zu sehen, *was* für eine Fehlermeldung das ist... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 12:34 Titel: |
|
|
da steht:
Code: |
The program cannot start or run due to incompatibility with 64-bit of windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available
|
Habs auch versucht kompatibel zu machen, hat aber nichts genützt |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 19.11.2008, 15:30 Titel: |
|
|
freebasic erstellt 32bit-exen. wenn du freebasic selbst ausführen kannst, musst du auch die damit erstellen programme ausführen können (freebasic compiliert sich nämlich selbst). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 17:07 Titel: |
|
|
so jetzt läuft FreeBasic.
jetzt zeigt der compiler mir an das es zuviele fehler gibt um die aufzulisten....
irgendwas mache ich glaub ich seeehhr falsch |
|
Nach oben |
|
|
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 19.11.2008, 17:27 Titel: |
|
|
Da müßte man jetzt wissen, wie die Fehler heißen, bzw was der Compiler alles sagt.
Versuchst Du, en QB-Programm zu compilieren? Dann mußt Du in den Einstellungen "-lang qb" angeben. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 17:31 Titel: |
|
|
genau das versuch ich mit dem FreeBasic Compiler, leider schließt der sich immer wieder und bleibt nicht geöffnet. so habe ich es dann über cmd gemacht und das einzigste was der tut ist and die QB Datei -lang dranhängen das wars.
Vielleicht kannst du ja einmal kurz erklären wie ich das richtig machen müsste, vielleicht hab ich was übersehen |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 19.11.2008, 17:39 Titel: |
|
|
Also auf meinem 32-Bit System funktioniert das compilieren. Also sollte es auch auf einem 64-Bit System funktionieren, da die (Intel) Prozessoren afaik ja abwärts kompatibel sind (ein 16-Bit Prozessor kann z.B 8-Bit Code ausführen, ...)
Zum Compilieren musst du den Parameter "-lang qb" angeben _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
MOD Fleißiger Referenzredakteur
Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 19.11.2008, 17:44 Titel: |
|
|
Bei mir geht es auch.
Meines Wissens nach, sollte eine start_shell.exe im FreeBASIC-Ordner sein, die du starten kannst, ansonsten musst du über cmd auf den Pfad deiner fbc.exe zeigen.
Da gibst du dann ein:
fbc -lang qb der-programm-name.bas
sollte eigentlich gehen. |
|
Nach oben |
|
|
f.schueler
Anmeldungsdatum: 19.11.2008 Beiträge: 7
|
Verfasst am: 19.11.2008, 17:55 Titel: |
|
|
Es Funktioniert endlich.
Viieelllenn Dank.
Der hat zwischendurch die Datei geändert was dazu führte das es natürlich nicht mehr funktioniert hat.
Ich wünsch euch noch einen schönen Abend |
|
Nach oben |
|
|
Dos5.0
Anmeldungsdatum: 07.12.2008 Beiträge: 30
|
|
Nach oben |
|
|
|