PDA

Vollständige Version anzeigen : While loop im script


24dan
14.11.2008, 14:11
Hallo kann mir jemand helfen warum der while loop nicht klappt?

Ich möchte gerne alle *.bmp Dateien auflisten und dann eine Funktion damit füttern. In diesem Fall (gimp-message)


(let*
(
(varAnz (car(file-glob "C:\\*.bmp" 0))) ;Anzahl der gefundenen Dateien
(b (cdr(file-glob varPattern 0))) ;Liste der Dateien in String Liste
(while (< i varAnz)
(a (list-ref (car b) i))
(gimp-message a)
(i (+ i 1))
)

)
)
Ist den die while schleife richtig?

24dan
18.11.2008, 08:58
So hat es funktioniert unter Gimp 2.6


(let*
(
(varAnz (car(file-glob "C:\\*.bmp" 0))) ;Anzahl der gefundenen Dateien
(b (cdr(file-glob varPattern 0))) ;Liste der Dateien in String Liste
(i 0) ;Deklaration
(a " ") ;Deklaration
(while (< i varAnz)
(set! a (list-ref (car b) i))
(gimp-message a)
(set! i (+ i 1))
)

)
)

PKHG
18.02.2009, 14:48
So hat es funktioniert unter Gimp 2.6


(let*
(
(varAnz (car(file-glob "C:\\*.bmp" 0))) ;Anzahl der gefundenen Dateien
(b (cdr(file-glob varPattern 0))) ;Liste der Dateien in String Liste
(i 0) ;Deklaration
(a " ") ;Deklaration
(while (< i varAnz)
(set! a (list-ref (car b) i))
(gimp-message a)
(set! i (+ i 1))
)

)
)

Kann nicht gelaufen haben varPattern ist unbekannt!

Bei mir ging es in der Konsole so wohl!

(let*
(
(varPattern "C:\\gimp\\puzzel\\*.jpg");; bei mir gibts hier Bilder
(varAnz (car(file-glob varPattern 0))) ;Anzahl der gefundenen Dateien
(b (cdr(file-glob varPattern 0))) ;Liste der Dateien in String Liste
(i 0) ;Deklaration
(a " ")) ;Deklaration abschliessen!
(while (< i varAnz)
(set! a (list-ref (car b) i))
(print a)
(newline)
(set! i (+ i 1))))
"C:\\gimp\\puzzel\\chor.jpg"

"C:\\gimp\\puzzel\\Mugele.jpg"

"C:\\gimp\\puzzel\\Mugele640.jpg"

"C:\\gimp\\puzzel\\MugelePuzzle.jpg"

"C:\\gimp\\puzzel\\peter.jpg"

()