Entwickler-Ecke
Dateizugriff - Bilder Unsortiert umbenennen ?
Blackheart666 - Sa 27.08.05 20:01
Titel: Bilder Unsortiert umbenennen ?
Hallo Leute
Wie könnt Ich das am einfachsten anstellen ?
Ich wollte mit unten stehenden Code einen Ordner mit Bildern umbenennen nur leider krieg ich das mit der Listbox nicht hin.
Die Bilder sollen in der gleichen Reihenfolge wie sie im Ordner sind erhalten bleiben da die Bilder aber zb. Bild0, Bild174, Bild934, Bild1054 heißen bringt mir die Listbox die Bilder Durcheinander also
Bild0 = Bild1
Bild1054 = Bild2
Bild174 = Bild3
Bild934 = Bild4
Vieleicht weiß einer von euch Rat.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); var x,i:Integer; begin x:=ListBox1.Items.Count; for i := 0 to x-1 do begin Y:=Y+1; RenameFile(Pfad+'\'+ListBox1.Items[i],Pfad+'\'+'Neu_'+IntTostr(Y)+'.jpg'); end; end; |
starsurfer - Sa 27.08.05 20:19
hast du bei der listbox sorted=false gemacht?
weild ann bleiben die so wie du sie vorher einträgst...
Blackheart666 - Sa 27.08.05 20:21
Das ist klar hab ich auf False. Daran liegt's nicht.
worm - Sa 27.08.05 20:28
Da wirst Du wohl um eine selbstgeschriebene Sortierung nicht drumrumkommen... dazu gäbe es mehrere Möglichkeiten.
- Entweder sortierst Du die Liste am Ende einmalig selbst z.B. mittels Quicksort und eigener Vergleichsfunktion,
- oder Du leitest eine Klasse von TStrings ab, in der Du CompareStrings überschreibst (dann müsstest Du die Einträge erstmal zu dieser StringList hinzufügen und am Ende alle rüberkopieren),
- oder Du benutzt stattdessen ein ListView und implementierst OnCompare (IMHO beste Möglichkeit).
Deine eigene Vergleichsfunktion müsste entweder aus dem String die Zahlen extrahieren, in einen Integer umwandeln und dann vergleichen, oder Du suchst die passende von Windows bereitgestellte Vergleichsfunktion (es gibt eine, die den Vergleich korrekt durchführen kann).
Blackheart666 - Sa 27.08.05 20:36
Das höhrt sich kompliziert an ich schau mich mal nach Listview um.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!