Abfragefehler

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Woody the woodiest

Betreff: Abfragefehler

BeitragSa, Nov 13, 2004 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso erscheint bei diesem Code die Fehlermeldung "Illegal Memory Adress" wenn man den sechszehnten Buchstaben eingibt???

Code: [AUSKLAPPEN]

 dim Buchstabe(15)
repeat
 

 if Stelle=0 then Wievielterbuchstabe$="ersten"
 if Stelle=1 then Wievielterbuchstabe$="zweiten"
 ......
 if Stelle=15 then Wievielterbuchstabe$="sechszehnter"

 if Stelle>15 then
  print "Sie können keine weiteren Zeichen mehr eingeben!"
  Stellenueberschreitung=1
 end if

 if Stellenueberscheitung=0 then
  Buchstabe(Stelle)=asc(input$("Bitte geben sie den " +                             Wievielterbuchstabe + " Buchstaben ein!"))   
end if
 Stelle=Stelle+1
until keyhit(1)


Danke im Voraus
  • Zuletzt bearbeitet von Woody the woodiest am Sa, Nov 13, 2004 17:54, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragSa, Nov 13, 2004 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast den r in Stellenueberschreitung in der If-Abfrage vergessen.

Und Dim in der Hauptschleife bringt nicht viel, nimms doch vordran.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Woody the woodiest

BeitragSa, Nov 13, 2004 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist nicht der Originalcode, ich hab ihn auswendig getippt und es ist möglich, dass er Rechtsschreibfehler enthält. Werd ma gleich den Originalcode checken., ob dieser vllt acuh Rechtschreibfehler enthält.
 

feider

ehemals "Decelion"

BeitragSa, Nov 13, 2004 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Kopier ihn doch einfaxh hier rein!

maximilian

BeitragSa, Nov 13, 2004 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Debugger?

LordChaos
 

Woody the woodiest

BeitragSo, Nov 14, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem ist schon gelöst. Ich hab jetzt aber ein anderes: Wenn ich dieses Programm starte kommt nach einigen Sekunden die Fehlermeldung "Illegal Memory Adress", in der Zeit vor der Fehlermeldung funzt das Prog aber richtig.



Code: [AUSKLAPPEN]

Repeat
 Cls
 
 
 If Stelle=0 Then Wievielterbuchstabe$="ersten"
 If Stelle=1 Then Wievielterbuchstabe$="zweiten"
 If Stelle=2 Then Wievielterbuchstabe$="dritten"
 If Stelle=3 Then Wievielterbuchstabe$="vierten"
 If Stelle=4 Then Wievielterbuchstabe$="fünften"
 If Stelle=5 Then Wievielterbuchstabe$="sechsten"
 If Stelle=6 Then Wievielterbuchstabe$="siebten"
 If Stelle=7 Then Wievielterbuchstabe$="achten"
 If Stelle=8 Then Wievielterbuchstabe$="neunten"
 If Stelle=9 Then Wievielterbuchstabe$="zehnten"
 If Stelle=10 Then Wievielterbuchstabe$="elften"
 If Stelle=11 Then Wievielterbuchstabe$="zwölften"
 If Stelle=12 Then Wievielterbuchstabe$="dreizehnten"
 If Stelle=13 Then Wievielterbuchstabe$="vierzehnten"
 If Stelle=14 Then Wievielterbuchstabe$="fünfzehnten"
 If Stelle=15 Then Wievielterbuchstabe$="sechszehnten"
 
 
 If Stelle>15 Then
  Text 0,0,"Sie können keine weiteren Zeichen mehr eingeben!",0,0
  Stellenueberschreitung=1
 End If 
 
 
 If Stellenueberschreitung=0
  Text 0,0,"Bitte geben Sie den " + Wievielterbuchstabe + " Buchstaben ein!",0,0
  Eingabe=GetKey()
 End If
 
 Buchstabe(Stelle)=Eingabe
 If Buchstabe(Stelle)>0 Then
  Stelle=Stelle+1
 End If


 Daten=WriteFile ("C:\Programme\ASCII-Codes.txt")
 For a=0 To 15
  WriteLine Daten,Buchstabe(a)
 Next
 
 Flip
Until Beenden=1



WaitKey
End

Danke im Voraus

Mooch

Betreff: ...

BeitragSo, Nov 14, 2004 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers mal damit:

Code: [AUSKLAPPEN]

Repeat
 Cls


 If Stelle=0 Then Wievielterbuchstabe$="ersten"
 If Stelle=1 Then Wievielterbuchstabe$="zweiten"
 If Stelle=2 Then Wievielterbuchstabe$="dritten"
 If Stelle=3 Then Wievielterbuchstabe$="vierten"
 If Stelle=4 Then Wievielterbuchstabe$="fünften"
 If Stelle=5 Then Wievielterbuchstabe$="sechsten"
 If Stelle=6 Then Wievielterbuchstabe$="siebten"
 If Stelle=7 Then Wievielterbuchstabe$="achten"
 If Stelle=8 Then Wievielterbuchstabe$="neunten"
 If Stelle=9 Then Wievielterbuchstabe$="zehnten"
 If Stelle=10 Then Wievielterbuchstabe$="elften"
 If Stelle=11 Then Wievielterbuchstabe$="zwölften"
 If Stelle=12 Then Wievielterbuchstabe$="dreizehnten"
 If Stelle=13 Then Wievielterbuchstabe$="vierzehnten"
 If Stelle=14 Then Wievielterbuchstabe$="fünfzehnten"
 If Stelle=15 Then Wievielterbuchstabe$="sechszehnten"


 If Stelle>15 Then
  Text 0,0,"Sie können keine weiteren Zeichen mehr eingeben!",0,0
  Stellenueberschreitung=1
 End If


 If Stellenueberschreitung=0
  Text 0,0,"Bitte geben Sie den " + Wievielterbuchstabe + " Buchstaben ein!",0,0
  Eingabe=GetKey()
 End If

 Buchstabe(Stelle)=Eingabe
 If Buchstabe(Stelle)>0 And Stellenueberschreitung = 0 Then
  Stelle=Stelle+1
 End If

 Daten=WriteFile ("C:\Programme\ASCII-Codes.txt")
 For a=0 To 15
  WriteLine Daten,Buchstabe(a)
 Next
 Closefile Daten
 
 Locate 0,15
 Print Stelle ;lass dir mal das in der fehlerhaften version ausgeben!
 Flip
Until Beenden=1



WaitKey

End


Ciao,
Tristan.
Pentium IV 3.0Ghz; nVidia Geforce 6800;
Microsoft Windows XP Home SP2; BlitzBasic 3D

.:: Sites ::.
.:: http://www.fl4sh-clan.de/ ::.


Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group