Type-Feld funktioniert nicht.

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

DATIS

Betreff: Type-Feld funktioniert nicht.

BeitragSa, Jan 05, 2008 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey Blitzer.
Klar, ist noch eine Frage der Übung, aber mit Types kann ich immernoch nicht so ganz umgehen.
Hier mal ein Code:
Code: [AUSKLAPPEN]
;Rock n' Roll - Screensaver
Graphics 1280,1024,16,3
SetBuffer BackBuffer()
AppTitle "Rock n' Roll - Screensaver"

intro=LoadImage("intro.bmp")
timer=CreateTimer(60)
SeedRnd MilliSecs()

For i=0 To 100
   Cls
   DrawImage intro,0,0
   Text 1280/2,820,"loading... "+i+"%",1,1
   Flip 0
   WaitTimer timer
   Delay 50
   If i=0 Delay 4000
Next

For i=255 To 0 Step -2
   Cls
   DrawImage intro,0,0
   Color i,i,i
   Text 1280/2,820,"loading... 100%",1,1
   Flip 0
   WaitTimer timer
   Delay 5
Next

For i=0 To 1280 Step 5
   Cls
   DrawImage intro,i,0
   Flip 0
   WaitTimer timer
   Delay 5
Next


Type file
   Field name$
   Field number
End Type

Global rock.file


song$=readfiles$()
channel=PlayMusic(song)
x=MouseX()
y=MouseY()
;Hauptschleife!
Repeat
   If ChannelPlaying(channel)=0 Then
      song$=Readfiles$()
      channel=PlayMusic(song)
   EndIf
   Text 100,100,song$
   If GetKey() Then End
   If MouseX<>x Or MouseY<>y Then End
Forever





;Daten einlesen
Function readfiles$()
   dir=ReadFile("Screensaver.cfg")
      directory$=ReadLine$(dir)
   CloseFile dir
   ordner=ReadDir(directory$)
   i=1
   Repeat
      datei$=NextFile$(ordner)
      If datei$="" Then Exit
      If FileType(datei$)=1 Then
         rock.file = New file
         rock\name=datei$
         rock\number=i
      EndIf
      i=i+1
   Forever
   CloseDir ordner
   randomfile=Rand(1,i)
   
   ;Name bekommen!
   rock.file=First file
   For alpha=1 To randomfile
      rock=After rock
      nm$=rock\name
   Next
   Return nm$
End Function


Ja, ich würde jetzt gerne wissen, warum dieser Code nicht funktioniert. Er sagt, dass ein Objekt nicht existiert.

Danke im Vorraus für die Hilfe. Mfg, datis
Frauen und Technik?
Männer und BHs?

Beides möglich.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Jan 06, 2008 0:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ja, ich würde jetzt gerne wissen, warum dieser Code nicht funktioniert. Er sagt, dass ein Objekt nicht existiert.

Welche Zeile wird denn angezeigt?
[BB2D | BB3D | BB+]
 

gigi

BeitragSo, Jan 06, 2008 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie wärs mit
Code: [AUSKLAPPEN]
rock.file=New file

hinter Code: [AUSKLAPPEN]
Type file
   Field name$
   Field number
End Type

glaube so sollte es klappen.

Mfg gigi
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

DATIS

BeitragSo, Jan 06, 2008 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
dein tip hat leider nicht funktioniert, gigi.

rock.file wurde j als globale variable sowieso schon eingeführt und in de funktion wird
New file aufgerufen. trotzdem danke.

der debugger zeigt mir die zeile
Code: [AUSKLAPPEN]
nm$=rock\name
Frauen und Technik?
Männer und BHs?

Beides möglich.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Jan 06, 2008 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
   Repeat
      datei$=NextFile$(ordner)
      If datei$="" Then Exit
      If FileType(datei$)=1 Then
         rock.file = New file
         rock\name=datei$
         rock\number=i
         i=i+1
      EndIf
  Forever

ich denke mal das es an i=i +1 liegt, da es auch hochgezählt wird wenn
FileType(datei$)<>1 ist
[BB2D | BB3D | BB+]

DATIS

BeitragSo, Jan 06, 2008 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, dass i zu hoch wahr stimmt. aber das problem hat es leider immer noch nicht behoben. er sagt mir immernoch, dass das objekt nicht existiert.

[edit]
ah, jetzt meckert er schon eine zeile vorher. er sagt: "Object does not exist." und zeigt die Zeile
Code: [AUSKLAPPEN]
rock=After rock

[/edit]
Frauen und Technik?
Männer und BHs?

Beides möglich.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Jan 06, 2008 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
   ;Name bekommen!
   rock.file=First file
   If rock = Null Then Stop ; es exitiert noch kein Rock
   For alpha=1 To randomfile
     
      rock=After rock
       If rock = Null Then Stop ; es gibt kein weiteres
      nm$=rock\name
   Next
   Return nm$
End Function

mit = Null kannste prüfen ob überhaupt eins exitiert!
[BB2D | BB3D | BB+]

DATIS

BeitragSo, Jan 06, 2008 15:23
Antworten mit Zitat
Benutzer-Profile anzeigen
tatsache. danke.
er stoppt wirklich, also ist nichtmal eins vorhanden.

...aber was habe ich falsch gemacht?
Frauen und Technik?
Männer und BHs?

Beides möglich.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, Jan 06, 2008 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
setz doch mal ein STOP vor repeat und schau dir mit dem Debugger die Werte der Variablen an und geh im einzelschritt das Programm durch.
Damit sollte sich aufklären wo der Fehler liegt.
Vielleicht ist der Ordner leer
[BB2D | BB3D | BB+]

DATIS

BeitragSo, Jan 06, 2008 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
dankedanke, das hat mir geholfen den fehler zu finden.
FileType müsste (directory$+"\"+datei$) checken, weil sie nicht im gleichen ordner sind.
deswegen auch die abfrage der datei.

danke^^
Frauen und Technik?
Männer und BHs?

Beides möglich.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group