Out of Data was tun ?? Bin Neu!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Chromx3

Betreff: Out of Data was tun ?? Bin Neu!

BeitragFr, Feb 17, 2012 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey BB Mitglieder
Bin neu sagt bitte wen ich was Falsch mache!

Also ich beschäftige mich grad mit dem Felder Dim usw.

Habe diesen Code geschrieben zur übung :

[code]
Dim namen$(5,3)

For i=1 To 4
For j=1 To 2
Read namen$(i,j)
Next
Print namen$(i,2) + " " + namen(i,1)
Next


Data "Muster", "Hans"
Data "Wagner" , "Lisa"
Data "Heins", "Alex"
[/code]

und ich bekomme immer die meldung Out of Data ich habe schon alles versucht das Feld vergrössert bei der For Schleife die Zahl höher gestellt ich weiß nicht weiter


Danke im vorraus!

Holzchopf

Meisterpacker

BeitragFr, Feb 17, 2012 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Chromx3

Na, die Endbedingung bei den Schleifen höher zu stellen war wohl eher gerade das Gegenteil von dem, was helfen würde Wink

Du hast drei Data Zeilen mit je zwei Einträgen, also kannst du sechs Felder einlesen. "Out of Data" sagt dir, dass Read ausgeführt wird, wenn keine Data-Einträge mehr übrig sind.

Zudem: In der Welt des Programmierens zählt man eigentlich immer von 0 an. Wenn du Dim namen$(5,3) schreibst, hast du ein zweidimensionales String-Array mit 6 Zeilen und 4 Spalten (Weil die Null dazu zählt).

So müsste dein Code aussehen, um zu laufen BlitzBasic: [AUSKLAPPEN]
Dim namen$(2,1) 

For i=0 To 2
For j=0 To 1
Read namen$(i,j)
Next
Print namen$(i,1) + " " + namen(i,0)
Next

WaitKey()
End

Data "Muster", "Hans"
Data "Wagner" , "Lisa"
Data "Heins", "Alex"


mfG
Holzchopf
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

BlitzMoritz

BeitragFr, Feb 17, 2012 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Du versuchst ja auch 4 * 2 = 8 Daten einzulesen. Übrigens hat der erste Arrayeintrag den Index 0.
Wie wär's denn damit:
BlitzBasic: [AUSKLAPPEN]
Dim namen$(2,1)
For i=0 To 2
For j=0 To 1
Read namen$(i,j)
Next
Print namen$(i,1) + " " + namen(i,0)
Next

Data "Muster", "Hans"
Data "Wagner" , "Lisa"
Data "Heins", "Alex"


Edit: .... Sekunden zu langsam ... Mad
Hallo, Xeres, willkommen im Club!
  • Zuletzt bearbeitet von BlitzMoritz am Fr, Feb 17, 2012 23:33, insgesamt 2-mal bearbeitet

Xeres

Moderator

BeitragFr, Feb 17, 2012 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Willkommen.
Dein Array namen$(5,3) ist 6*4=24 Felder groß (0 zählt mit).
Du versuchst 4*2=8 Felder zu befüllen, stellst aber nur 6 Data-Einträge zur Verfügung.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Chromx3

BeitragFr, Feb 17, 2012 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Antwort jetzt habe ich es RICHTIG verstanden Smile

Also mit dem Code^^

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group