AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox Datei umbenennen

Ein Thema von capo · begonnen am 16. Okt 2007 · letzter Beitrag vom 18. Okt 2007
Antwort Antwort
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#1

Listbox Datei umbenennen

  Alt 16. Okt 2007, 00:03
Guten Abend

Ich lasse mir den Inhalt von einem Ordner in einer Listbox anzeigen.
idFTP1.List(listbox1.Items, '*.*', false); Die Dateien in dem Ordner sind alphabetisch geordnet z.b.
a.jpg
b.jpg
c.jpg
d.jpg

Wird nun eine neue Datei hinzugefügt, möchte ich dass die Datei entsprechend der vorhandenen Dateien umbenannt wird.
Diese Datei soll dann umbenannt werden in f.jpg, die nächste Datei die hinzugefügt wird müsste dann g.jpg benannt werden

Wie kann ich das machen?

Gruss Capo
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#2

Re: Listbox Datei umbenennen

  Alt 16. Okt 2007, 00:17
Hi,

soll das ganze nur von a-z gehen oder noch weiter?
Im ersten Fall könntest du mit copy(Listbox1.items.strings[listbox1.count-1],1,1) den Buchstaben des letzten Eintrages herausfinden und deine Datei entsprechend umbenennen.

Gruß

Calculon
--
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Listbox Datei umbenennen

  Alt 16. Okt 2007, 00:23
Zitat von calculon:
soll das ganze nur von a-z gehen oder noch weiter?
Auch weiter wenn möglich aa, bb oder so.

Zitat von calculon:
Im ersten Fall könntest du mit copy(Listbox1.items.strings[listbox1.count-1],1,1) den Buchstaben des letzten Eintrages herausfinden und deine Datei entsprechend umbenennen.
Wie kann ich dann weiter machen?
Ich stell mir das nicht so einfach vor.
Habe also herausgefunden das g.jpg mein letztes jpg ist.
Woher weiß mein Proggy was nach g kommt?

Grüsse
capo
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von calculon
calculon

Registriert seit: 16. Sep 2006
256 Beiträge
 
Delphi 7 Personal
 
#4

Re: Listbox Datei umbenennen

  Alt 16. Okt 2007, 00:37
Zitat von capo:
Wie kann ich dann weiter machen?
Ich stell mir das nicht so einfach vor.
Also den jeweils letzten Buchstaben (direkt hinter dem Punkt vor der Dateiendung) des letzten Listbox-Eintrags bekommst du so:
copy(Listbox1.items.strings[listbox1.count-1], AnsiPos('.',Listbox1.items.strings[listbox1.count-1])-1,1)); // <-- setzt voraus, dass nirgendwo sonst ein Punkt im Pfad oder dem Dateinamen vorkommt, da sonst ein falscher Buchstabe kopiert wird!! Du kannst so vorgehen, dass diese zunächst geprüft wird und der nächste Eintrag erhöht wird (wenn <> 'z'). Wenn = 'z' dann ein 'a' zwischen dem letzten 'z' und dem Punkt vor der Dateiendung zwischenquetschen. Hoffe du hast mich kapiert. Mein Hirn ist zu so einer späten Stunde nicht mehr in der Lage delphifremde Wörter auszudrücken....

Gruß

Calculon
--
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Listbox Datei umbenennen

  Alt 16. Okt 2007, 00:40
Hallo
ich guck mir das alles erstmal an, und teste mal rum damit.
Meld mich wieder, danke schonmal
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Listbox Datei umbenennen

  Alt 16. Okt 2007, 17:11
Hallo,
ich habs ehrlich gesagt nicht verstanden.
Wie kann ich so viele Buchstaben abfragen, ist ja nicht nur von a-z ?
Gruss vom Capo
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Listbox Datei umbenennen

  Alt 18. Okt 2007, 11:37
Hola...
kann mir bitte jemand helfen?

gruss vom capo
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#8

Re: Listbox Datei umbenennen

  Alt 18. Okt 2007, 14:41
warum nicht mit changefileext(listbox.items[i],'') den basisnamen ermitteln und von hinten anfangen den ascii-wert der buchstaben zu inkrementieren.
die kleinen buchstaben gehen bei 97 los bis 122. ist der ordinal-wert schon bei 122, wird er auf 97 gesetzt und der buchstabe davor manipuliert.

HTH Frank
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

Re: Listbox Datei umbenennen

  Alt 18. Okt 2007, 14:54
müssen es unbedingt immer Buchstaben sein?
würde
a000001.jpg
a000002.jpg
usw..
nicht auch reichen?
Das wäre viel einfacher zu lösen
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Listbox Datei umbenennen

  Alt 18. Okt 2007, 15:37
Zitat von _frank_:
warum nicht mit changefileext(listbox.items[i],'') den basisnamen ermitteln und von hinten anfangen den ascii-wert der buchstaben zu inkrementieren.
die kleinen buchstaben gehen bei 97 los bis 122. ist der ordinal-wert schon bei 122, wird er auf 97 gesetzt und der buchstabe davor manipuliert.
Hört sich sehr gut an, mal sehen ob ich das umsetzen kann.



Zitat von Progman:
müssen es unbedingt immer Buchstaben sein?
würde
a000001.jpg
a000002.jpg
usw..
nicht auch reichen?
Das wäre viel einfacher zu lösen
Kloar..das würde auch gehen, wie die Dateien heißen kann ich ja selbst bestimmen.
Hotte
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz