DIM-Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Darren

Betreff: DIM-Problem

BeitragDi, Nov 30, 2004 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
HEY Leude!!!

bei folgendem code kommt die fehlermeldung "arrayindex out of bounds" obwohl ich doch den index gar nicht überschritten habe:

Code: [AUSKLAPPEN]
Dim ko(21,11,3)
Function l_pathingkoords(datei$)
   datei = OpenFile(datei)
   Repeat
      For i = 0 To 20
         For g = 1 To 10
            ko(i,g,0) = ReadInt(datei)
            ko(i,g,1) = ReadInt(datei)
            ko(i,g,2) = ReadInt(datei)
         Next
      Next         
   Until Eof(datei) = 1
   CloseFile datei
End Function



THX : MFG Darren

Hubsi

BeitragDi, Nov 30, 2004 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Abgesehen davon das die Repeat-Schleife keinen Sinn macht und Speicher verschwendet wird kann der Fehler nicht an dieser Function liegen.

Edit: Das Feld wird nur einmal auf diese Größe dimensioniert?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
  • Zuletzt bearbeitet von Hubsi am Di, Nov 30, 2004 21:16, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragDi, Nov 30, 2004 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert bei mir ohne Probleme, bist du dir sicher, dass genau der Fehler in genau dieser Funktion auftritt?

Ansonsten noch ein paar Kleinigkeiten:
-Das Dateihandle wird bei dir als String gespeichert, dafür benötigt man aber nur Integer.
- Du reservierst 22 x 12 x 4 Indizen, sprichst aber nur 21 x 9 x 3 an Rolling Eyes
- Sind in der Datei auch wirklich Integers gespeichert?

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
 

Darren

BeitragDi, Nov 30, 2004 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ich gebe an die function den dateinamen

ja in dem feld sind nur intergers gespeichert aber kann es sein dass ein fehler auftritt wenn ich nicht allen feldern einen wert zuweise??

THX Darren
 

hot-bit

Gast

BeitragDi, Nov 30, 2004 21:45
Antworten mit Zitat
Hoi.

Nein.
Warum auch ?

Es ist ja von Haus aus nichts drin ...

Toni

Holzchopf

Meisterpacker

BeitragDi, Nov 30, 2004 21:47
Antworten mit Zitat
Benutzer-Profile anzeigen
DarrenSharm hat Folgendes geschrieben:
...kann es sein dass ein fehler auftritt wenn ich nicht allen feldern einen wert zuweise??

Nein, daran wird es aber auch nicht liegen...

DarrenSharm hat Folgendes geschrieben:
ich gebe an die function den dateinamen

Ja, tust du, als Parameter. Und in der Funktion heisst die Variable, die den Parameter empfängt nunmal datei - und weil da sogar noch ein $ hintendrann ist, wird die Variable als String deklariert. Und genau die gleiche Variable benutzt du dann, um das Dateihandle zu speichern - und weil diese ja schon als String deklariert wurde, ist dann das Handle in einem String gespeichert... Sehr unsauber sowas Wink
Ich würde den Übergabeparameter in der Funktion nicht unter datei$ sondern unter datei_name$ verwalten, oder sowas in der Art.
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
 

Darren

BeitragMi, Dez 01, 2004 15:15
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem besteht immernoch. hier ist mein jetziger code:

Code: [AUSKLAPPEN]
Dim ko(21,11,3)
Function l_pathingkoords(datei_name$)
   datei = OpenFile(datei_name$)
   
      For i = 0 To 20
         For g = 1 To 10
            ko(i,g,0) = ReadInt(datei)
            ko(i,g,1) = ReadInt(datei)
            ko(i,g,2) = ReadInt(datei)
         Next
      Next         
   
   CloseFile datei
End Function


die repeatschleife habe ich rausgenommen, weil nach einem durchlauf die datei eh ausgelesen ist....

MGF Darren

edit:
das feld habe ich desswegen so groß gemacht weil ich wissen wollte wie weit mir des drüber naushaut

Jan_

Ehemaliger Admin

BeitragMi, Dez 01, 2004 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du den Debuger an?
Wenn ja, in welcher Zeile, schlägt er an?
wie sind dort die Variablen?
between angels and insects

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Dez 01, 2004 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke mal das der Fehler woanders liegt,
sowas vielleicht
if ko(i,g+1,0)
[BB2D | BB3D | BB+]
 

Darren

BeitragMi, Dez 01, 2004 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe das problem gelöst.....

aber woran es gelegen hat, weiß ich nicht Crying or Very sad Crying or Very sad Crying or Very sad

naja egal danke für die hilfe!!!

Hubsi

BeitragMi, Dez 01, 2004 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
DarrenSharm hat Folgendes geschrieben:
ich habe das problem gelöst.....

aber woran es gelegen hat, weiß ich nicht Crying or Very sad Crying or Very sad Crying or Very sad

naja egal danke für die hilfe!!!
Laughing Wie geht das denn? Coden nach dem Zufallsprinzip? Laughing
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Darren

BeitragMi, Dez 01, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Wink Wink Wink Wink

besser wie gar nicht

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group