warum werden nicht alle Bilder angezeigt?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mabox

Betreff: warum werden nicht alle Bilder angezeigt?

BeitragFr, Sep 19, 2008 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will alle Bilder anzeigen lassen, die sich in einem bestimmten Ordner befinden (keine Unterordner). Irgendwie werden längst nicht alle angezeigt. weis jemand woran das liegt?

hier mein Code: [AUSKLAPPEN]
pfad$ = "C:\blub und bla"
Verz=ReadDir(pfad$)
Repeat
   Datei$=NextFile$(Verz)
   If Datei$="" Then Exit
   If FileType(pfad$+"\"+Datei$) = 1 Then
      If Instr (Datei$,".png" Or ".jpg" Or ".bmp") Then
         Print Datei$
      EndIf
   End If
Forever
CloseDir Verz
Print
Print "-Ende-"
WaitKey()
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

ozzi789

Betreff: Re: warum werden nicht alle Bilder angezeigt?

BeitragFr, Sep 19, 2008 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
mabox hat Folgendes geschrieben:
Ich will alle Bilder anzeigen lassen, die sich in einem bestimmten Ordner befinden (keine Unterordner). Irgendwie werden längst nicht alle angezeigt. weis jemand woran das liegt?

hier mein Code: [AUSKLAPPEN]
pfad$ = "C:\blub und bla"
Verz=ReadDir(pfad$)
Repeat
   Datei$=NextFile$(Verz)
   If Datei$="" Then Exit
   If FileType(pfad$+"\"+Datei$) = 1 Then
      If Instr (Datei$,".png" Or ".jpg" Or ".bmp") Then
         Print Datei$
      EndIf
   End If
Forever
CloseDir Verz
Print
Print "-Ende-"
WaitKey()



Seh keinen Fehler, welche dateien werden ned angezeigt?
vlt siehst du ned alle weil print einfach die zeile wechselt und die ganz oben verschwinden Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ToeB

BeitragFr, Sep 19, 2008 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hängt nicht von den Dateien ab -.-
Code: [AUSKLAPPEN]
If Instr(Datei$,".bmp") Or Instr(Datei$,".png") Or Instr(Datei$,".jpg") then


und nicht Code: [AUSKLAPPEN]
If Instr (Datei$,".png" Or ".jpg" Or ".bmp") Then


Der prüft das ja als bedingung : (".png"Or".jpg"Or".png") Wäre immer = 0 und das heißt der sucht nach Instr(Datei$,0) ...


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

mabox

BeitragFr, Sep 19, 2008 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht. vielen Dank!
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

ozzi789

BeitragFr, Sep 19, 2008 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Am elegantesten wäre
Code: [AUSKLAPPEN]

endung$=right(Datei$,3)
if endung$="bmp" or endung$="jpg" or endung$="png" or endung$="tiff"


Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ToeB

BeitragFr, Sep 19, 2008 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
nö eigl. nicht...

Weil es ist glaub ich sogar schneller mit Instr... ka...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ozzi789

BeitragFr, Sep 19, 2008 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ToeB hat Folgendes geschrieben:
nö eigl. nicht...

Weil es ist glaub ich sogar schneller mit Instr... ka...

mfg ToeB


echt ?
habi wider wat dazu gelernt Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

FireballFlame

BeitragFr, Sep 19, 2008 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
...und weil der Teil mit "tiff" bei dir nicht funktionieren kann Wink
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

ozzi789

BeitragFr, Sep 19, 2008 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
FireballFlame hat Folgendes geschrieben:
...und weil der Teil mit "tiff" bei dir nicht funktionieren kann Wink



Tippfehler, wollte tif schreibem ><'

Wie offtopic Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Sep 19, 2008 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Schön, und wenn bei Instr eine Datei namens tiffany_xxx.avi als Bild versucht geladen zu werden, ist ganz toll.

Daher nehme ich die letzten 4 Zeichen als Beispiel:

Code: [AUSKLAPPEN]
".bmp"
".jpg"
"jpeg"
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ozzi789

BeitragFr, Sep 19, 2008 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
Schön, und wenn bei Instr eine Datei namens tiffany_xxx.avi als Bild versucht geladen zu werden, ist ganz toll.

Daher nehme ich die letzten 4 Zeichen als Beispiel:

Code: [AUSKLAPPEN]
".bmp"
".jpg"
"jpeg"


du denkst gleich wie ich Razz
lol deine avi datei, kann man die irgendwo downloadem Rolling EyesWink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Jolinah

BeitragSa, Sep 20, 2008 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder ne kleine Hilfsfunktion verwenden, die nach dem letzten Punkt sucht Wink Variante 2 sucht von Rechts und sollte schneller sein.

Edit: Variante 2 ist anscheinend doch langsamer... vermutlich wegen dem Mid().

Code: [AUSKLAPPEN]
Function DateiEndung$(datei$)
   lastpos = 0
   pos = Instr(datei$, ".", lastpos + 1)
   While pos > 0
      lastpos = pos
      pos = Instr(datei$, ".", lastpos + 1)
   Wend
   
   If lastpos > 0 Then
      Return Mid(datei$, lastpos)
   Else
      Return ""
   EndIf
End Function

Function DateiEndung2$(datei$)
   For i = Len(datei$) To 1 Step -1
      If Mid(datei$, i, 1) = "." Then
         Return Mid(datei$, i)
      EndIf
   Next
   
   Return ""
End Function

ozzi789

BeitragSa, Sep 20, 2008 0:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Jolinah hat Folgendes geschrieben:
Oder ne kleine Hilfsfunktion verwenden, die nach dem letzten Punkt sucht Wink Variante 2 sucht von Rechts und sollte schneller sein.

Edit: Variante 2 ist anscheinend doch langsamer... vermutlich wegen dem Mid().

Code: [AUSKLAPPEN]
Function DateiEndung$(datei$)
   lastpos = 0
   pos = Instr(datei$, ".", lastpos + 1)
   While pos > 0
      lastpos = pos
      pos = Instr(datei$, ".", lastpos + 1)
   Wend
   
   If lastpos > 0 Then
      Return Mid(datei$, lastpos)
   Else
      Return ""
   EndIf
End Function

Function DateiEndung2$(datei$)
   For i = Len(datei$) To 1 Step -1
      If Mid(datei$, i, 1) = "." Then
         Return Mid(datei$, i)
      EndIf
   Next
   
   Return ""
End Function


Mehr aufwand gleiches Resultat, obwohl wir hier von ein paar Ms reden Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Jolinah

BeitragSa, Sep 20, 2008 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Gleiches Resultat würd ich nicht sagen Wink So kann nämlich die Endung beliebig lang sein. Aber du hast schon recht, wenn man davon ausgehen kann dass man mit gewöhnlichen Dateien zu tun hat, ist Right() einfacher.

ToeB

BeitragSa, Sep 20, 2008 11:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@ozzi789 :
Lass mal das Zitieren des ganzen beitrages, endweder du zitierst eine stelle oder gar nicht.... Einmal oder Zweimal ists ja okay, aber bei gleich 4-5 mal Confused ...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

ozzi789

BeitragSa, Sep 20, 2008 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ToeB hat Folgendes geschrieben:
@ozzi789 :
Lass mal das Zitieren des ganzen beitrages, endweder du zitierst eine stelle oder gar nicht.... Einmal oder Zweimal ists ja okay, aber bei gleich 4-5 mal Confused ...

mfg ToeB


ja herr admin Crying or Very sad
ne stimmt, ich werds mir merken Very Happy
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

BladeRunner

Moderator

BeitragSa, Sep 20, 2008 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Herr Moderator wird dich beim nächsten mal verwarnen, ozzi. Toeb hat recht, was Du da tust nervt. Und nu back to topic, und zwar alle Mann.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group