Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 18.10.2004, 22:43 Titel: Code lässt sich im Zusammenhang nicht ausführen |
|
|
Hallo.
Code: | DECLARE FUNCTION GetTileSuffix$ (AktuellerBoden$, LetzterBoden$, NaechsterBoden$)
FUNCTION GetTileSuffix$ (AktuellerBoden$, LetzterBoden$, NaechsterBoden$)
IF LetzterBoden$ <> AktuellerBoden$ AND NaechsterBoden$ <> AktuellerBoden$ THEN
IF LetzterBoden$ = "L" OR LetzterBoden$ = "W" OR LetzterBoden$ = "K" OR LetzterBoden$ = "G" THEN
IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR NaechsterBoden$ = "K" OR NaechsterBoden$ = "G" THEN
TempSfx$ = "y"
END IF
IF NaechsterBoden$ <> "L" AND NaechsterBoden$ <> "W" AND NaechsterBoden$ <> "K" AND NaechsterBoden$ <> "G" THEN
TempSfx$ = "w"
END IF
END IF
IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR NaechsterBoden$ = "K" OR NaechsterBoden$ = "G" THEN
IF LetzterBoden$ <> "L" AND LetzterBoden$ <> "W" AND LetzterBoden$ <> "K" AND LetzterBoden$ <> "G" THEN
TempSfx$ = "v"
END IF
END IF
IF LetzterBoden$ <> "L" AND LetzterBoden$ <> "W" AND LetzterBoden$ <> "K" AND LetzterBoden$ <> "G" THEN
IF NaechsterBoden$ <> "L" AND NaechsterBoden$ <> "W" AND NaechsterBoden$ <> "K" AND NaechsterBoden$ <> "G" THEN
TempSfx$ = "e"
END IF
END IF
END IF
IF LetzterBoden$ = AktuellerBoden$ AND NaechsterBoden$ = AktuellerBoden$ THEN TempSfx$ = "m"
IF LetzterBoden$ <> AktuellerBoden$ AND NaechsterBoden$ = AktuellerBoden$ THEN
IF LetzterBoden$ = "L" OR LetzterBoden$ = "W" OR LetzterBoden$ = "K" OR LetzterBoden$ = "G" THEN
TempSfx$ = "x"
ELSE :
TempSfx$ = "l"
END IF
END IF
IF LetzterBoden$ = AktuellerBoden$ AND NaechsterBoden$ <> AktuellerBoden$ THEN
IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR NaechsterBoden$ = "K" OR NaechsterBoden$ = "G" THEN
TempSfx$ = "z"
ELSE :
TempSfx$ = "r"
END IF
END IF
GetTileSuffix$ = TempSfx$
END FUNCTION |
Wenn ich diese FUNCTION einfach so kompilieren will, geht alles. Füge ich sie allerdings in ein Programm ein, sodass dieses ~25KB groß ist, so ist laut Compiler-Fehlermeldungen fast jede Zeile ein Fehler.
Wie kann das sein? Ist das Programm mit 25KB schon zu groß für QB4.5?
Besonders merkwürdig: Unter QB 4.5 werden beim Kompilieren 43 Fehler gemeldet, unter QB 7.1 jedoch nur ~30.
QB 4.5 hat Folgendes geschrieben: | Code: | 168F 02C0 FUNCTION GetTileSuffix$ (AktuellerBoden$, LetzterBoden$, Naechst
erBoden$)
^ Angabe eines unzuläs
sigen formalen Parameters
168F 02C0 IF LetzterBoden$ <> AktuellerBoden$ AND NaechsterBoden$ <> Aktue
llerBoden$ THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
168F 02C0 IF LetzterBoden$ = "L" OR LetzterBoden$ = "W" OR LetzterBoden$
= "K" OR LetzterBoden$ = "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
168F 02C0 IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR Naechster
Boden$ = "K" OR NaechsterBoden$ = "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
168F 02C0 END IF
^ END IF ohne Block-IF
169C 02C4 IF NaechsterBoden$ <> "L" AND NaechsterBoden$ <> "W" AND Naech
sterBoden$ <> "K" AND NaechsterBoden$ <> "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
169C 02C4 END IF
^ END IF ohne Block-IF
16A9 02C4 END IF
^ END IF ohne Block-IF
16A9 02C4 IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR NaechsterB
oden$ = "K" OR NaechsterBoden$ = "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16A9 02C4 IF LetzterBoden$ <> "L" AND LetzterBoden$ <> "W" AND LetzterBo
den$ <> "K" AND LetzterBoden$ <> "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16A9 02C4 END IF
^ END IF ohne Block-IF
16B6 02C4 END IF
^ END IF ohne Block-IF
16B6 02C4 IF LetzterBoden$ <> "L" AND LetzterBoden$ <> "W" AND LetzterBod
en$ <> "K" AND LetzterBoden$ <> "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16B6 02C4 IF NaechsterBoden$ <> "L" AND NaechsterBoden$ <> "W" AND Naech
sterBoden$ <> "K" AND NaechsterBoden$ <> "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16B6 02C4 END IF
^ END IF ohne Block-IF
16C3 02C4 END IF
^ END IF ohne Block-IF
16C3 02C4 END IF
^ END IF ohne Block-IF
16C3 02C4 IF LetzterBoden$ = AktuellerBoden$ AND NaechsterBoden$ = Aktuell
erBoden$ THEN TempSfx$ = "m"
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16C3 02C4 IF LetzterBoden$ <> AktuellerBoden$ AND NaechsterBoden$ = Aktuel
lerBoden$ THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16C3 02C4 IF LetzterBoden$ = "L" OR LetzterBoden$ = "W" OR LetzterBoden$
= "K" OR LetzterBoden$ = "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16C3 02C4 ELSE :
^ ELSE ohne IF
16D0 02C4 END IF
^ END IF ohne Block-IF
16DD 02C4 END IF
^ END IF ohne Block-IF
16DD 02C4 IF LetzterBoden$ = AktuellerBoden$ AND NaechsterBoden$ <> Aktuel
lerBoden$ THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16DD 02C4 IF NaechsterBoden$ = "L" OR NaechsterBoden$ = "W" OR NaechsterB
oden$ = "K" OR NaechsterBoden$ = "G" THEN
^ Unverträgliche Anzahl an Argumenten
^ Fehlendes THEN
16DD 02C4 ELSE :
^ ELSE ohne IF
16EA 02C4 END IF
^ END IF ohne Block-IF
16F7 02C4 END IF
^ END IF ohne Block-IF
16F7 02C4 GetTileSuffix$ = TempSfx$
^ Variable erforderlich
16F7 02C4 END FUNCTION
^ END SUB/FUNCTION ohne SUB/FUNCTION
42797 Bytes verfügbar
29337 Bytes frei
0 Warnung(en)
43 Schwere(r) Fehler |
|
Seperiert funktioniert der Code aber auch.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
QBMaik
Anmeldungsdatum: 17.09.2004 Beiträge: 67 Wohnort: 25899 Niebüll
|
Verfasst am: 19.10.2004, 16:57 Titel: |
|
|
Ist mir auch schon so ähnlich passiert... bei meinem Schachprogramm. Dort waren QBasic wohl die Zeilen zu lang... |
|
Nach oben |
|
|
Stormy
Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 19.10.2004, 18:01 Titel: Ja, ja,.. |
|
|
Hallo.
Ja, ich glaube auch nicht, dass die Kommentare überhaupt keine Rolle spielen.
Vor allem bei der Ausführung in der IDE verlangsamen sie bestimmt das Prozedere.
In der kompilierten EXE sind sie aber nicht mehr da und stören bzw. verlangsamen deshalb auch nichts.
Der Compiler hatte vielleicht Schwierigkeiten den zu langen Kommentar zu entfernen.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2508 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 19.10.2004, 19:58 Titel: |
|
|
Vielleicht ist der Zeilenpuffer beim QB-Compiler etwas knapp in der Grösse bemessen. Ich meinte, max. 255 Zeichen sind nur zulässig pro Zeile. Abgesehen davon sollte man solche Riesenzeilen vermeiden und rechtzeitig mit "_" am Zeilenende umbrechen. Im Idealfall sollte sich ein Programm immer noch auf DIN-A4 im Hochformat mit einer 10 cpi (Zeichen pro Zoll)-Schrift ausdrucken lassen. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
|