Nextfile Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Bms

Betreff: Nextfile Problem

BeitragSa, Aug 21, 2004 10:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hy.
Hab versucht, ein program zu schreibn, das alle bilder eines ordners anzeigt und dann auf einen tastendruck wartet. dann würde das nächste bild kommen. funzt aber ned. Sad

hier der code:
Code: [AUSKLAPPEN]

Graphics 1024,768,16,1
AppTitle "Bilder"
SetBuffer BackBuffer()


;Verzeichnis
verz=ReadDir("C:\bilder\")

;CloseDir verz ??????


;Hauptschleife
Repeat


 ;Bild laden
 bild=LoadImage(NextFile$(verz))
 ;Wenn datei , dann anzeign
 If FileType(bild)=1 Then
  Cls
  DrawBlock bild,0,0
  Flip
  Delay 3000
  FlushKeys()
  WaitKey()
 EndIf


Until (KeyDown(1)) Or (NextFile$(verz)="")


thanxxx im voraus.
 

Ballermann99

BeitragSa, Aug 21, 2004 10:59
Antworten mit Zitat
Benutzer-Profile anzeigen
So was hab ich irgendwo auf meiner Plattenoch rumfliegen.

Code: [AUSKLAPPEN]
AppTitle "Screensaver"

Graphics 1024, 768, 32, 1

ChangeDir "pictures" ;Unterverzeichniss \pictures

Global Frame = CreateTimer(30)
Dim img(0)

Global imgDelay = 3000

Global Datei$
Global AnzTest
Global Verz = ReadDir(CurrentDir())

Global NR, pic

Repeat
Datei = NextFile(Verz)
If Datei = "" Then Exit

Select Lower(Right(Datei, 3))
Case "bmp"
AnzTest = AnzTest + 1
Case "jpg"
AnzTest = AnzTest + 1
Case "png"
AnzTest = AnzTest + 1
End Select

Forever
CloseDir Verz

Dim img(AnzTest)

verz = ReadDir(CurrentDir())

Repeat
Datei = NextFile$(verz)

If Datei = "" Then Exit
Select Lower(Right(Datei, 3))
Case "bmp"
img(NR) = LoadImage(Datei)
NR = NR + 1
Case "jpg"
img(NR) = LoadImage(Datei)
NR = NR + 1
Case "png"
img(NR) = LoadImage(Datei)
NR = NR + 1
End Select

Forever
CloseDir verz
SetBuffer BackBuffer()

Global Timer = MilliSecs()

Repeat
   Cls
   
;   If MilliSecs() - Timer >= imgDelay Then ;Weiterschalten nach angegebener Zeit
;      pic = pic + 1
;      Timer = MilliSecs()
;   End If
   
   If KeyHit(28) Then pic = pic + 1 ;Weiterschalten per Tastendruck
   
   If pic >= NR Then pic = 0
   
   DrawBlock img(pic), (GraphicsWidth()/2) - (ImageWidth(img(pic))/2), (GraphicsHeight()/2) - (ImageHeight(img(pic))/2)
   
   WaitTimer Frame
   
   Flip
Until KeyHit(1)
End


Dabei werden alle Dateien in nem Verzeichniss durchsucht und alle Bilder in ein Array geladen. Dann ist es ganz einfach alle nacheinander zu zeigen.

MfG Ballermann99

wunderkind

BeitragSa, Aug 21, 2004 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hätte es so umgesetzt:

Code: [AUSKLAPPEN]
Graphics(800,600,32,2)

path% = ReadDir("D:\Prg\")
file_name$ = NextFile(path%)

While file_name$ <> ""
   Cls()
   ext$ = Lower(Right(file_name$,3))
   If  ext$ = "jpg" Or ext$ = "bmp" Or ext$ = "png" Then
      img% = LoadImage(file_name$)
      DrawImage(img%,0,0)
      WaitKey()
   End If
   file_name$ = NextFile(path%)
Wend

CloseDir(path%)

End

Bms

BeitragSa, Aug 21, 2004 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
danke wunderkind. isch supi. Very Happy Very Happy Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group