Kein Zugriff auf Variablen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Mathe

Betreff: Kein Zugriff auf Variablen?

BeitragFr, Apr 24, 2009 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hab ein Problem ich lese meine PlayList ein:
Code: [AUSKLAPPEN]
Type PlayListData
   Field Musik_Pfad$
   Field Musik_Titel$
End Type
Dim TypePlayList(0)
Global PlayListZ%=0
Function ReadPlayList()
Stream = ReadFile(PlayerStartVerzeichnis+"PlayList.data")
Repeat
   PlayLine$ = ReadLine(Stream)
   AddPlayList(PlayLine$)
Until PlayLine=""
CloseFile Stream
End Function
Function AddPlayList(PlayLine$)
If PlayLine <> "" Then
   PlayListZ=PlayListZ+1
   Dim TypePlayList(PlayListZ)
   pld.PlayListData = New PlayListData
   pld\Musik_Pfad = PlayLine
   Local Titel%[2]
   Repeat
      titel[1] = Instr(PlayLine,"\",titel[2]+1)
      If titel[1] = 0 Then pld\Musik_Titel = Left(Mid(PlayLine,titel[2]+1,-1),Len(Mid(PlayLine,titel[2]+1,-1))-4)
      titel[2] = Instr(PlayLine,"\",titel[1]+1)
      If titel[2] = 0 Then pld\Musik_Titel = Left(Mid(PlayLine,titel[1]+1,-1),Len(Mid(PlayLine,titel[1]+1,-1))-4)
   Until pld\Musik_Titel <> ""
EndIf
TypePlayList(PlayListZ) = Handle(pld.PlayListData)
End Function


Wenn ich jetzt in der Schleife unterbreche sind die Daten sichtbar. Jetzt will ich von der Hauptdatei auf die Daten zugreifen, aber jetzt sind keine Daten mehr da, warum? Davor hät ich gemeint es liegt an den Dim Feld deshalb hab ich es jetzt doch mit Type probiert und da funktioniert es genau so wenig?

Hier die Main:
Code: [AUSKLAPPEN]
AppTitle "Player V.0.0.3"
Graphics 400,300,32,2
SetBuffer BackBuffer()
Global PlayerStartVerzeichnis$ = currentdir()
;Includes
Include "Data\Inc\MainVariablen.bb"
Include "Data\Inc\FileSearch.bb"
Include "Data\Inc\Include.bb"
Include "Data\Inc\MiniGUI.bb"

;lese PlayList ein
;FileSearch(GetEnv("userprofile")+"\Eigene Dateien\Eigene Musik\")
ReadPlayList()
;Main
CreateAllButtons()
Repeat
   Cls
   Update_Mouse_Keys()
   DrawPlayer()
   UpdatePicButton()
   Flip
Until kh1=true
;erstellt alle Buttons die gebraucht werden!
Global Btn[7]
Function CreateAllButtons()
btn[0] = createpicbutton(image(0),5,280)
btn[1] = createpicbutton(image(1),65,280)
btn[2] = createpicbutton(image(2),86,280)
btn[3] = createpicbutton(image(3),107,280)
btn[4] = createpicbutton(image(4),128,280)
btn[5] = createpicbutton(image(5),149,280)
btn[6] = createpicbutton(image(6),379,40)
btn[6] = createpicbutton(image(7),379,244)
End Function
;zeichnet + Aktionen des Players()
Function DrawPlayer()
Text 0,0, "PlayListPos: " + PlayListPos + " | PlayListZähler: " + PlayListZ
DrawPlayList(10,40,PlayListPos)
End Function

;Zeichne PlayList(startX,startY,Position)
Function DrawPlayList(sx%,sy%,pos%)
For pz = pos To pos+12
   If pz > PlayListZ Then Exit
   pld.PlayListData = Object.PlayListData(TypePlayList(pos))
   Text sx,12+sy+y*15,pld\Musik_Titel
   y=y+1
Next
End Function


Edit:
Fehler nach ein paar Tests selber herausgefunden. Ich war der Meinung wenn ich z.B. Dim Test(10) mit Daten fülle und dies, dann zu Dim Test(5) ändere die restlichen Daten erhalten bleiben. Embarassed

Kann geschlossen werden...

mfg.
Matthias
Windoof nein DANKE => ArchLinux Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group