 |
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 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 16:12 Titel: Compilerproblem! |
|
|
Hallo!
Mein Problem:
Ein programmiertes Programm das als .EXE Datei nur mit BRUN45.EXE funktioniert!
Lösung: ???
Daten/Fakten:
Ich verwende eine zweite .BAS Datei die eine SUB enthält und von der ersten .BAS Datei aufgerufen wird.
Ich hoffe ihr könnt mir helfen!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.12.2006, 17:09 Titel: |
|
|
Hi.
Wenn du den Source hast:
Sicherstellen, dass in der IDE im Menü "Optionen" "Vollständiges Menü" aktiviert ist.
Dann auf "Ausführen" und "EXE Datei erstellen". Dort den Dateinamen eingeben und anschließend bei "Erzeugen" die Option "Selbstständige EXE-Datei" aktivieren.
Fertig.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 17:19 Titel: |
|
|
Hallo!
Diese Option ist angewählt/aktiviert aber ich brauche trotzdem BRUN45.EXE!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.12.2006, 17:37 Titel: |
|
|
du bruachst diese datei wirklich NUR, wenn du "exe-datei benötigt BRUN45" aktiviert lässt. wenn du auf "selbstsätndige exe-datei" klickst, passiert es nicht mehr! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 18:00 Titel: |
|
|
Hallo!
Ich habe ja geschrieben dass mein Programm BRUN45.EXE benötigt.
Und ich will gerne wissen warum?
Besser wäre es wenn ich auf BRUN45.EXE verzichten kann.
Wenn ich ohne BRUN45.EXE kompiliere kommt eine Fehlermeldung in meinem Programm.
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.12.2006, 18:04 Titel: |
|
|
Hör mal bitte...äh...lies dir bitte die Beiträge durch.
BRUN45 is' prinzipiell ein "Interpreter" und hat folgenden Hintergrund:
1989 gab es noch nicht Plattenplatz in Massen und nicht jeder konnte sich immer einen aktuellen Computer leisten.
Und wenn man viele QB-Anwendungen hatte (bzw. mehr als eine ), konnte man dadurch, dass es große Funktionen, die in der BRUN45 untergebracht sind, von dem Programm aufgerufen wurden und nicht integriert waren, Speicherplatz sparen.
UND: Jetzt wär's mal ganz nützlich zu wissen, WELCHE Fehlermeldung dann kommt.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.12.2006, 18:04 Titel: |
|
|
das ist der unterschied:
-programme, die mit brun45 auasgweführt werden, sind keine selbstsätndige exe-dateien. sie funkitioniern ungefähr wie in der IDE!
-porgramme, die ohne brun45 kompiliert werden, sind echte exe-dateien. sie verhalten sich dementsprechend auch anders und dürften auch schneller sein. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 18:14 Titel: |
|
|
Hallo!
16-Bit-MS-DOS-Teilsystem
C:\Dokume~1\Alex\Desktop\STOP.EXE
Die NTVDM-CPU hat einen ungültigen Befehl entdeckt.
Cs:1da4 IP:c21e OP:ff ff 00 00 00 Klicke sie auf "Schließen", um die Anwendung zu beenden.
Diese Fehlermeldung kommt nur wenn ich auf die SUB der zweiten .BAS Datei zugreife!!!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.12.2006, 18:16 Titel: |
|
|
lädst du die zwei dateien über eine MAK-Datei?.....  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 16.12.2006, 18:16 Titel: |
|
|
Mal 'ne Frage: bindest du die Datei mittles CHAIN/RUN ein?
Wie viele EXEn werden erstellt? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 18:23 Titel: |
|
|
Hallo!
Ich rufe ein .BAS auf und gleichzeitig wird das zweite .BAS geladen!
Eine EXE Datei wird erstellt.
Ich verwende die Maussteuerung. MAUSMODL.BAS
Also hier meine geladenen .BAS Dateien STOP.BAS/ STOP2.BAS/ MAUSMODL.BAS
Dann erstelle ich eine nur EINE .EXE Datei!!!
Mit BRUN45.EXE funktioniert das Programm ohne Probleme ohne BRUN45.EXE kriege ich diese (steht oben) Fehlermeldung!!!
Kein CHAIN/ SHELL/ RUN
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 16.12.2006, 18:24 Titel: |
|
|
tja, dann werden die anderen programme einfach nicht eingebunden.
nochmal: existiert eine datei namens STOP.MAK? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 16.12.2006, 18:29 Titel: |
|
|
Hallo!
Ja diese .MAK existiert!
edit:
Kann mir jemand helfen?
Ich möchte gern dass mein Programm ohne BRUN45.EXE funktioniert!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 17.12.2006, 12:43 Titel: |
|
|
also:
ich habs grad ausprobiert was ich glaub, was du gemacht hast
code von TEST1.bas:
Code: |
print "Hallo"
chain "Test2.bas"
|
code von test2.bas:
wenn ich test1 im interpreter ausführ, gehts
wenn ichs kompiliere (test1) und die exe ausführ, schmiert mir die DOSBOX ab...
vllt machstes so (wenn nur subs bzw, functions drin sind)
die bas-datei mit den subs: (wenns mehrere dateien sind, zusammenführen!)
vollständiges menü unter optionben muss aktiviert sein!
ausführen--> bibliothek erstellen (erstellen...)
das hauptprogramm mit QB /L [die Qlb-datei].QLB aufrufen... _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 17.12.2006, 13:33 Titel: |
|
|
ALWIM hat Folgendes geschrieben: | Kann mir jemand helfen?
Ich möchte gern dass mein Programm ohne BRUN45.EXE funktioniert! | ..dann poste es doch bitte..
Raten bringt hier keine Lösung.
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 17.12.2006, 18:13 Titel: |
|
|
Hallo!
Hier mein Quellcode!!
Code: | DECLARE SUB FELD ()
DECLARE SUB LADEN ()
DECLARE SUB SEE ()
DECLARE SUB INFO ()
DECLARE SUB PLAYER ()
DECLARE SUB RUNDEN ()
DECLARE SUB FELT (X!, Y!, XX!, YY!, FARBEN!)
DECLARE SUB CPRINT (FFTEXT$, FFHEIGHT, FFWIDTH, FFCOLOR1, FFCOLOR2, FFCOLOR3)
DECLARE SUB TEILNEHMER ()
DECLARE SUB INGET (ANZAHLE!, STELLEN!, ZEILEN!, X$)
DECLARE SUB SPIELFELD ()
DECLARE SUB getmaus ()
DECLARE SUB maus (OnOff%)
DECLARE SUB MausSet (X%, Y%)
DECLARE SUB Poken ()
COMMON SHARED mausk%, mausx%, mausy%
Poken
MausSet 280, 150
SCREEN 12: DEFINT Z
WIDTH 80, 60
CLS
DIM SHARED z(380)
DIM SHARED SPIELER$(1 TO 30)
DIM SHARED GESAMTSPIELER
DIM SHARED RUNDE
DIM SHARED WO
DIM SHARED S1
DIM SHARED S2
DIM SHARED S3
DIM SHARED S4
DIM SHARED S5
DIM SHARED S6
DIM SHARED S7
DIM SHARED S8
DIM SHARED S9
DIM SHARED S10
DIM SHARED S11
DIM SHARED S12
DIM SHARED S13
DIM SHARED S14
DIM SHARED S15
DIM SHARED ROUND
DIM SHARED GGG
DIM SHARED WAS
DEMO = 1
ROUND = 1
Q = 30
SPIELER$(Q) = "SPIELFREI"
YX = 30
XY = 53
A$ = INKEY$
SPIELFELD
RUNDEN
' Ist noch einiges zu Testzwecken drin!!! Teilweise auch REM Befehle!!!
DO
REM LOCATE 1, 1: PRINT "X: "; mausx%; " Y: "; mausy%; " K: "; mausk%
maus 1
getmaus
A$ = INKEY$
SELECT CASE A$
CASE CHR$(43): IF ROUND < RUNDE THEN ROUND = ROUND + 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
CASE CHR$(45): IF ROUND > 1 THEN ROUND = ROUND - 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
CASE CHR$(13): IF GESAMTSPIELER > 2 THEN WAS = 1: GOSUB PLAYE
CASE CHR$(0) + "S": FELT 220, 60, 619, 420, 0: GGG = 0: WAS = 0: ROUND = 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
CASE CHR$(0) + "<": SPIELER$(1) = "": SPIELER$(2) = "": SPIELER$(3) = "": SPIELER$(4) = "": SPIELER$(5) = "": SPIELER$(6) = "": SPIELER$(7) = "": SPIELER$(8) = "": SPIELER$(9) = "": SPIELER$(10) = "": SPIELER$(11) = "": SPIELER$(12) = "": SPIELER$( _
13) = "": SPIELER$(14) = "": SPIELER$(15) = "": FELD
CASE CHR$(27): SYSTEM
END SELECT
COLOR 15
LOCATE 2, 72: PRINT TIME$
TEILNEHMER
SELECT CASE mausk%
CASE 1
REM ************************************Spieler 1**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 61 TO 83
XP = 10
WO = 1
maus 0
INGET 22, XP, 3, SPIELER$(WO)
maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 2**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 85 TO 107
XP = 13
WO = 2
IF S1 = 1 THEN maus 0
IF S1 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S1 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 3**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 109 TO 131
XP = 16
WO = 3
IF S2 = 1 THEN maus 0
IF S2 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S2 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 4**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 133 TO 155
XP = 19
WO = 4
IF S3 = 1 THEN maus 0
IF S3 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S3 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 5**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 157 TO 179
XP = 22
WO = 5
IF S4 = 1 THEN maus 0
IF S4 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S4 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 6**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 181 TO 203
XP = 25
WO = 6
IF S5 = 1 AND DEMO = 0 THEN maus 0
IF S5 = 1 AND DEMO = 0 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S5 = 1 AND DEMO = 0 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 7**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 205 TO 227
XP = 28
WO = 7
IF S6 = 1 THEN maus 0
IF S6 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S6 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 8**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 229 TO 251
XP = 31
WO = 8
IF S7 = 1 THEN maus 0
IF S7 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S7 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 9**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 253 TO 275
XP = 34
WO = 9
IF S8 = 1 THEN maus 0
IF S8 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S8 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 10**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 277 TO 299
XP = 37
WO = 10
IF S9 = 1 THEN maus 0
IF S9 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S9 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 11**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 301 TO 323
XP = 40
WO = 11
IF S10 = 1 THEN maus 0
IF S10 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S10 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 12**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 325 TO 347
XP = 43
WO = 12
IF S11 = 1 THEN maus 0
IF S11 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S11 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 13**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 349 TO 371
XP = 46
WO = 13
IF S12 = 1 THEN maus 0
IF S12 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S12 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 14**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 373 TO 395
XP = 49
WO = 14
IF S13 = 1 THEN maus 0
IF S13 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S13 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
REM ************************************Spieler 15**************************
SELECT CASE mausx%
CASE 5 TO 205
SELECT CASE mausy%
CASE 397 TO 419
XP = 52
WO = 15
IF S14 = 1 THEN maus 0
IF S14 = 1 THEN INGET 22, XP, 3, SPIELER$(WO)
IF S14 = 1 THEN maus 1
TEILNEHMER
RUNDEN
END SELECT
END SELECT
SELECT CASE mausx%
CASE 220 TO 298
SELECT CASE mausy%
CASE 434 TO 462
WAS = 1:
GOSUB PLAYE
END SELECT
END SELECT
SELECT CASE mausx%
CASE 584 TO 610
SELECT CASE mausy%
CASE 430 TO 475
SYSTEM
END SELECT
END SELECT
' REM bitte nicht löschen!!!!
REM SELECT CASE mausx%
REM CASE 3 TO 50
REM SELECT CASE mausy%
REM CASE 3 TO 28
REM
REM LADEN
REM END SELECT
REM END SELECT
CASE 0
REM ************************************INFO**************************
REM FELT 286, 2, 344, 28, 0
SELECT CASE mausx%
CASE 286 TO 344
SELECT CASE mausy%
CASE 2 TO 28
IF GGG <> 10 THEN INFO
END SELECT
END SELECT
SELECT CASE mausx%
CASE 0 TO 639
SELECT CASE mausy%
CASE 29 TO 479
IF GGG = 10 AND WAS = 0 THEN FELT 220, 60, 619, 420, 0: GGG = 0: WAS = 0: ROUND = 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
IF GGG = 10 AND WAS = 1 THEN GGG = 0: GOSUB PLAYE
END SELECT
END SELECT
SELECT CASE mausx%
CASE 0 TO 285
SELECT CASE mausy%
CASE 0 TO 28
IF GGG = 10 AND WAS = 0 THEN FELT 220, 60, 619, 420, 0: GGG = 0: WAS = 0: ROUND = 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
IF GGG = 10 AND WAS = 1 THEN GGG = 0: GOSUB PLAYE
END SELECT
END SELECT
SELECT CASE mausx%
CASE 345 TO 639
SELECT CASE mausy%
CASE 0 TO 28
IF GGG = 10 AND WAS = 0 THEN FELT 220, 60, 619, 420, 0: GGG = 0: WAS = 0: ROUND = 1: CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
IF GGG = 10 AND WAS = 1 THEN GGG = 0: GOSUB PLAYE
END SELECT
END SELECT
END SELECT
LOOP
PLAYE:
FELT 220, 60, 619, 420, 0
F = FREEFILE
OPEN "STOP.INI" FOR OUTPUT AS #F
FOR i = 1 TO 15 STEP 1
PRINT #F, SPIELER$(i)
NEXT i
PRINT #F, SPIELER$(Q)
PRINT #F, GESAMTSPIELER, RUNDE, XY, YX, ROUND
CLOSE #F
SEE
RETURN
REM Daten für Türe
DATA 26 , 45 ,-129 ,-32513 ,-129 ,-32513 ,-129 ,-32513 , 0 , 0 ,-1 ,-16129 ,-1 ,-16129 ,-1 ,-16129 , 0 , 0 ,-1 ,-16129
DATA -49 ,-16129 ,-1 ,-16129 , 0 , 0 , 252 ,-16383 , 192 ,-16383 , 252 ,-16383 ,-253 , 254 , 255 ,-16383 , 192 ,-16383 , 255 ,-16383
DATA -256 , 254 ,-16129 ,-16383 , 192 ,-16383 ,-16129 ,-16383 , 16128 , 254 ,-3841 ,-16383 , 192 ,-16383 ,-3841 ,-16383 , 3840 , 254 ,-769 ,-16383
DATA 192 ,-16383 ,-769 ,-16383 , 768 , 254 ,-25 ,-16383 , 216 ,-16383 ,-1 ,-16383 , 24 , 254 ,-21 ,-16191 , 212 ,-16383 ,-1 ,-16191
DATA 20 , 62 ,-18 ,-16159 , 209 ,-16383 ,-1 ,-16159 , 17 , 30 ,-16410 ,-16159 , 16601 ,-16383 ,-1 ,-16159 , 16409 , 30 ,-20498 ,-16159
DATA 20689 ,-16383 ,-1 ,-16159 , 20497 , 30 , 27119 ,-16159 ,-26928 ,-16383 ,-1 ,-16159 ,-27120 , 30 ,-20762 ,-16287 , 20953 ,-16255 ,-1 ,-16159
DATA 20761 , 158 ,-20742 ,-16223 , 20933 ,-16319 ,-1 ,-16159 , 20741 , 94 ,-20738 ,-16159 , 20929 ,-16383 ,-1 ,-16159 , 20737 , 30 ,-20737 ,-16159
DATA 20928 ,-16383 ,-1 ,-16159 , 20736 , 30 ,-4353 ,-16159 , 4544 ,-16383 ,-1 ,-16159 , 4352 , 30 ,-257 ,-16159 , 448 ,-16383 ,-1 ,-16159
DATA 256 , 30 ,-257 ,-16159 , 448 ,-16383 ,-1 ,-16159 , 256 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159
DATA 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 1216 ,-16383 ,-1 ,-16159 , 1024 , 30 ,-1 ,-16159 , 704 ,-16383 ,-1 ,-16159
DATA 512 , 30 ,-1 ,-16159 , 448 ,-16255 ,-1 ,-16159 , 256 , 158 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159
DATA 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159
DATA 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159
DATA 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159
DATA 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-1 ,-16159 , 192 ,-16383 ,-1 ,-16159 , 0 , 30 ,-241 , 224
DATA 0 , 0 ,-241 , 224 , 0 , 0 ,-253 , 224 , 0 , 0 ,-253 , 224 , 0 , 0 ,-256 , 224 , 0 , 0 ,-256 , 224
DATA 0 , 0 , 16128 , 224 , 0 , 0 , 16128 , 224 , 0 , 0 , 3840 , 224 , 0 , 0 , 3840 , 224 , 0 , 0 , 768 , 224
DATA 0 , 0 , 768 , 224 , 0 , 0 , 0 , 224 , 0 , 0 , 0 , 224 , 0 , 0 , 0 , 32 , 0 , 0 , 0 , 32
DATA 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
DATA 380
DEFSNG Z
SUB CPRINT (FFTEXT$, FFHEIGHT, FFWIDTH, FFCOLOR1, FFCOLOR2, FFCOLOR3)
C = LEN(FFTEXT$)
PALETTE 4, 7
COLOR 4
LOCATE FFHEIGHT, FFWIDTH: PRINT FFTEXT$;
G = FFHEIGHT * 8 - 8
FOR F = FFWIDTH * 8 - 8 TO FFWIDTH * 8 + C * 8 - 8
FOR X = 0 TO 7
IF X < 2 THEN IF POINT(F, G + X) = 4 THEN PSET (F, G + X), FFCOLOR1
IF X > 1 AND X < 5 THEN IF POINT(F, G + X) = 4 THEN PSET (F, G + X), FFCOLOR2
IF X > 4 THEN IF POINT(F, G + X) = 4 THEN PSET (F, G + X), FFCOLOR3
NEXT
NEXT
PALETTE
COLOR 15
END SUB
SUB FELD
FELT 5, 60, 205, 420, 0
LINE (5, 60)-(205, 420), 2, B
FOR RAHMEN = 84 TO 396 STEP 24: REM 276
LINE (6, RAHMEN)-(204, RAHMEN), 2
NEXT RAHMEN
FELT 0, 0, 639, 30, 7
FELT 220, 60, 619, 420, 0
FELT 563, 2, 637, 28, 0
FELT 2, 2, 50, 28, 0
FELT 286, 2, 344, 28, 0
FELT 220, 434, 298, 462, 0
REM FELT 420, 434, 494, 462, 0
COLOR 10: LOCATE 2, 37: PRINT "S T O P"
CPRINT "DATEI", 2, 2, 15, 13, 5
CPRINT "LADEN", 3, 2, 15, 13, 5
TEILNEHMER
CPRINT "TEILNEHMER", 6, 8, 15, 13, 5
CPRINT "AUSLOSUNG", 56, 29, 15, 13, 5
CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
CPRINT "TEILNEHMER: " + LTRIM$(STR$(GESAMTSPIELER)) + " ", 56, 8, 15, 13, 5
CPRINT "RUNDENZAHL: " + LTRIM$(STR$(RUNDE)) + " ", 58, 8, 15, 13, 5
END SUB
SUB FELT (X, Y, XX, YY, FARBEN)
LINE (X, Y)-(X, YY - 1), 15
LINE (X, Y)-(XX - 1, Y), 15
LINE (X + 1, YY)-(XX, YY), 8
LINE (XX, Y + 1)-(XX, YY), 8
PSET (X, YY), 7
PSET (XX, Y), 7
VIEW (X + 2, Y + 2)-(XX - 2, YY - 2), FARBEN, FARBEN
VIEW (0, 0)-(639, 479)
END SUB
SUB INFO
FELT 220, 60, 619, 420, 0: GGG = 0
CPRINT "SCHACHTUNIERORGANISATIONSPROGRAMM", 10, 37, 15, 13, 5
CPRINT "S", 10, 37, 15, 11, 3
CPRINT "T", 10, 43, 15, 11, 3
CPRINT "O", 10, 49, 15, 11, 3
CPRINT "P", 10, 62, 15, 11, 3
CPRINT "Demoversion: 5 Teilnehmer, 5 Runden, = 1 System", 14, 29, 15, 7, 8
CPRINT "Vollversion: 15 Teilnehmer, 15 Runden, = ? System", 16, 29, 15, 7, 8
CPRINT "", 18, 30, 15, 7, 8
CPRINT "Demoversion:", 20, 29, 15, 7, 8
CPRINT "Systeme: Rundensystem", 22, 29, 15, 7, 8
CPRINT "Speichern der ausgelosten Runden nicht mögich!", 24, 29, 15, 7, 8
CPRINT "", 26, 29, 15, 7, 8
CPRINT "Vollversion:", 28, 29, 15, 7, 8
CPRINT "Systeme: Rundensystem, ????", 30, 29, 15, 7, 8
CPRINT "Speichern und Laden der Auslosung", 32, 29, 15, 7, 8
CPRINT "", 34, 29, 15, 7, 8
CPRINT "Ab Version 2:", 36, 29, 15, 7, 8
CPRINT "(Eingabe der Punkte und Anzeige der Tabelle ???)", 38, 29, 15, 7, 8
CPRINT "", 40, 29, 15, 7, 8
CPRINT "Funktionen:", 42, 29, 15, 7, 8
CPRINT "+/- Wahl der nächsten Runde --- Eingabe der Namen", 44, 29, 15, 7, 8
CPRINT "Enter/Maus Auslosung --- ESC oder Maus Ende", 46, 29, 15, 7, 8
CPRINT "", 48, 29, 15, 7, 8
CPRINT "Version 1.02 Demo", 50, 29, 15, 7, 8
CPRINT "Copyright 2006, Lenhard Alexander (ESK-Plattling)", 52, 29, 15, 7, 8
GGG = 10
END SUB
SUB INGET (ANZAHLE, STELLEN, ZEILEN, X$)
X$ = RTRIM$(X$)
BB = LEN(X$)
CPRINT X$ + "_", STELLEN, ZEILEN, 15, 7, 8
1111 AA$ = "": WHILE AA$ = "": COLOR 15: AA$ = INKEY$: LOCATE 2, 72: PRINT TIME$: WEND
IF ASC(AA$) < 32 AND ASC(AA$) <> 27 AND ASC(AA$) <> 13 AND ASC(AA$) <> 8 THEN GOTO 1111
IF ASC(AA$) > 126 THEN GOTO 1111
IF LEFT$(AA$, 1) = CHR$(0) THEN GOTO 1111
SELECT CASE AA$
CASE CHR$(13), CHR$(27): CPRINT X$ + " ", STELLEN, ZEILEN, 15, 7, 8: EXIT SUB
CASE CHR$(8): BB = BB - 1: IF BB < 0 THEN BB = 0: ELSE LET X$ = LEFT$(X$, BB): CPRINT X$ + "_ ", STELLEN, ZEILEN, 15, 7, 8
CASE IS <> "": BB = BB + 1: IF BB = ANZAHLE + 1 THEN BB = BB - 1: GOTO 1111 ELSE X$ = X$ + AA$: CPRINT X$ + "_", STELLEN, ZEILEN, 15, 7, 8
END SELECT
GOTO 1111
END SUB
SUB RUNDEN
CPRINT "TEILNEHMER: " + LTRIM$(STR$(GESAMTSPIELER)) + " ", 56, 8, 15, 13, 5
CPRINT "RUNDENZAHL: " + LTRIM$(STR$(RUNDE)) + " ", 58, 8, 15, 13, 5
END SUB
SUB SPIELFELD
DEFINT Z
LINE (5, 60)-(205, 420), 2, B
FOR RAHMEN = 84 TO 396 STEP 24: REM 276
LINE (6, RAHMEN)-(204, RAHMEN), 2
NEXT RAHMEN
FOR i = 0 TO 380: READ z(i): NEXT
PUT (584, 430), z: REM 584 , 430
FELT 0, 0, 639, 30, 7
FELT 220, 60, 619, 420, 0
FELT 563, 2, 637, 28, 0
FELT 2, 2, 50, 28, 0
FELT 286, 2, 344, 28, 0
FELT 220, 434, 298, 462, 0
REM FELT 420, 434, 494, 462, 0
COLOR 10: LOCATE 2, 37: PRINT "S T O P"
CPRINT "DATEI", 2, 2, 15, 13, 5
CPRINT "LADEN", 3, 2, 15, 13, 5
CPRINT "TEILNEHMER", 6, 8, 15, 13, 5
CPRINT "AUSLOSUNG", 56, 29, 15, 13, 5
CPRINT "RUNDE: " + LTRIM$(STR$(ROUND)) + " ", 6, 38, 15, 13, 5
CPRINT "TEILNEHMER: " + LTRIM$(STR$(GESAMTSPIELER)) + " ", 56, 8, 15, 13, 5
CPRINT "RUNDENZAHL: " + LTRIM$(STR$(RUNDE)) + " ", 58, 8, 15, 13, 5
END SUB
DEFSNG Z
SUB TEILNEHMER
IF SPIELER$(1) = "" THEN S1 = 0 ELSE S1 = 1
IF SPIELER$(2) = "" THEN S2 = 0 ELSE S2 = 1
IF SPIELER$(3) = "" THEN S3 = 0 ELSE S3 = 1
IF SPIELER$(4) = "" THEN S4 = 0 ELSE S4 = 1
IF SPIELER$(5) = "" THEN S5 = 0 ELSE S5 = 1
IF SPIELER$(6) = "" THEN S6 = 0 ELSE S6 = 1
IF SPIELER$(7) = "" THEN S7 = 0 ELSE S7 = 1
IF SPIELER$(8) = "" THEN S8 = 0 ELSE S8 = 1
IF SPIELER$(9) = "" THEN S9 = 0 ELSE S9 = 1
IF SPIELER$(10) = "" THEN S10 = 0 ELSE S10 = 1
IF SPIELER$(11) = "" THEN S11 = 0 ELSE S11 = 1
IF SPIELER$(12) = "" THEN S12 = 0 ELSE S12 = 1
IF SPIELER$(13) = "" THEN S13 = 0 ELSE S13 = 1
IF SPIELER$(14) = "" THEN S14 = 0 ELSE S14 = 1
IF SPIELER$(15) = "" THEN S15 = 0 ELSE S15 = 1
GESAMTSPIELER = S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15
IF GESAMTSPIELER < 3 THEN RUNDE = 0
IF GESAMTSPIELER > 2 THEN RUNDE = 3
IF GESAMTSPIELER > 4 THEN RUNDE = 5
IF GESAMTSPIELER > 6 THEN RUNDE = 7
IF GESAMTSPIELER > 8 THEN RUNDE = 9
IF GESAMTSPIELER > 10 THEN RUNDE = 11
IF GESAMTSPIELER > 12 THEN RUNDE = 13
IF GESAMTSPIELER > 14 THEN RUNDE = 15
IF GESAMTSPIELER > 16 THEN RUNDE = 0
END SUB |
Ein weiteres Problem:
Ich möchte die eingegebenen Spieler abspeichern was auch funktioniert aber laden und wieder editieren können geht nicht.
Wenn rechts 4 Spieler sind möchte ich die Namen wieder laden können (nach dem speichern) und dann die Namen wieder verändern können.
Habe dies bereits probiert aber erfolglos!
Einige Teiles des Quellcodes sind noch am Beginn der Programmierung nd werden noch weiter optimiert wenn die geplanten Funktionen funktionieren
Löschen der eingegebenen Spielernamen geht zur Zeit mit F2 und wird auch noch geändert
Ich hoffe ihr könnt mir helfen!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 17.12.2006, 18:33 Titel: |
|
|
Code: | DIM SHARED S1
DIM SHARED S2
DIM SHARED S3
DIM SHARED S4
DIM SHARED S5
DIM SHARED S6
DIM SHARED S7
DIM SHARED S8
DIM SHARED S9
DIM SHARED S10
DIM SHARED S11
DIM SHARED S12
DIM SHARED S13
DIM SHARED S14
DIM SHARED S15
'...
IF SPIELER$(1) = "" THEN S1 = 0 ELSE S1 = 1
IF SPIELER$(2) = "" THEN S2 = 0 ELSE S2 = 1
IF SPIELER$(3) = "" THEN S3 = 0 ELSE S3 = 1
IF SPIELER$(4) = "" THEN S4 = 0 ELSE S4 = 1
IF SPIELER$(5) = "" THEN S5 = 0 ELSE S5 = 1
IF SPIELER$(6) = "" THEN S6 = 0 ELSE S6 = 1
IF SPIELER$(7) = "" THEN S7 = 0 ELSE S7 = 1
IF SPIELER$(8) = "" THEN S8 = 0 ELSE S8 = 1
IF SPIELER$(9) = "" THEN S9 = 0 ELSE S9 = 1
IF SPIELER$(10) = "" THEN S10 = 0 ELSE S10 = 1
IF SPIELER$(11) = "" THEN S11 = 0 ELSE S11 = 1
IF SPIELER$(12) = "" THEN S12 = 0 ELSE S12 = 1
IF SPIELER$(13) = "" THEN S13 = 0 ELSE S13 = 1
IF SPIELER$(14) = "" THEN S14 = 0 ELSE S14 = 1
IF SPIELER$(15) = "" THEN S15 = 0 ELSE S15 = 1 |
Dein Code strotzt ja nur so vor überflüssigen Redundanzen! Dreael beschreibt in einem seiner Artikel, wie sich sowas vermeiden lässt. Dadurch wird dein Code übersichtlicher, kleiner und vermutlich auch leichter compilierbar. Wenn du überall solche Codestellen drin hast, wird der Quelltext riesig groß und das Compilieren schwierig. Außerdem könntest du die ganzen Bildschirmausgaben und Meldungen in eine externe Datei auslagern. So könnte die passende FUNCTION aussehen:
Code: | FUNCTION Text$(nr%)
DIM f as integer
f=freefile
OPEN "texte.dat" FOR INPUT AS #f
DO UNTIL EOF(f)
INPUT #f, d%, t$
IF d% = nr% THEN
CLOSE #f
Text$ = t$
EXIT FUNCTION
END IF
LOOP
CLOSE #f
Text$ = "Fehler! ID " + LTRIM$(STR$(nr%)) + " nicht gefunden!"
END FUNCTION |
In der Datei texte.dat stünde sowas:
Code: | 1,"Hallo und herzlich willkommen bei meiner Anwendung!"
2,"Dies ist ein langer Text. Sowas sollte in externen Dateien verstaut werden. Der Quellcode wird übersichtlicher und man bekommt keine Probleme mit zu geringem String-Space."
3,"Noch ein langer String zum Ausprobieren des Auslagerns von Informationen in externe Dateien!"
4,"Zeile 1 eines Textes..."
5,"Zeile 2 eines Textes..."
6,"Zeile 3 eines Textes..."
7,"Zeile 4 eines Textes..."
8,"Zeile 5 eines Textes..."
9,"Zeile 6 eines Textes..."
... |
In deinem Programm machst du dann einfach nur:
Code: | PRINT Text(1)
'Jetzt 6 Zeilen platzsparend ausgeben
FOR i% = 4 TO 9
PRINT Text(i%)
NEXT i%
SLEEP: END |
Das ist eine Möglichkeit, mit der man oft schon viel bei Verwendung von QB erreicht. In FB ist es egal, da hat man genug Speicher zur Verfügung, wenn's der PC hergibt.
Irgendwelche unerklärlichen Compilierschwierigkeiten hängen häufig damit zusammen, dass das Programm zu lang ist, zu viele Variablen deklariert wurden etc. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ALWIM

Anmeldungsdatum: 08.08.2006 Beiträge: 1048 Wohnort: Niederbayern
|
Verfasst am: 24.12.2006, 08:41 Titel: |
|
|
Hallo!
Speichern, Laden, Auslosung, löschen das alles geht einwandfrei!
Doch ich möchte mit der Maus die Punkte für die jeweilige Runde eingeben können und auch diese abspeichern!
Wie kann man so etwas einfach und billig machen?
Habe alles erdenkliche schon versucht aber nicht geschafft!
Der Quellcode ist auch schon weiter geschrumpft!
Habe ihn optimiert.
Komme zur Zeit selten ins Internet.
Ich wünsche allen hier im Forum schöne frohe Weihnachten und ein gutes neues Jahr!
Mit freundlichen Grüßen
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
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.
|
|