Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Dateinamen aus Prefix, Nummer und Endung erstellen (https://www.delphipraxis.net/36802-dateinamen-aus-prefix-nummer-und-endung-erstellen.html)

delphiNoob 26. Dez 2004 10:21


Dateinamen aus Prefix, Nummer und Endung erstellen
 
Frohe Weihnachte alle zusammen

Ich versuche mich gerade an einem Batch-converter für Bilder.
Ich möchte dazu den Dateinamen erstellen. Er setzt sich aus einem Prefix, einer Nummer und der Endung zusammen. Das ganze soll so funktionieren:

1. Der Benutzer gibt den Prefix ein (z.B. Hallo)
2. Er gibt außerdem die Anzahl Füllnullen ein, aus denen dann später die Nummer erstllt werden soll (z.B. 0000)
3. Außerdem gibt der Benutzer die erste Nummer seiner Bilder und die letzte Nummer seiner Bilder ein (z.B. 5 und 200)

Daraus soll der PC folgendes machen:

Prefix+Nummer+Endung

Hallo0005.bmp für's erste Bild
und
Hallo0200.bmp für's letzte Bild

Ich hab schon mit der Format-Funktion rumgespielt aber ich blick die nicht so richtig. :oops:

Wäre echt nett von euch, wenn ihr mir weiterhelfen könntet
(((Vielleicht mit einem Fertigen Quelltext, der den Dateinamen erstellt, es ist ja schließlich Weihnachten :angel: )))

delphinoob

mirage228 26. Dez 2004 10:30

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
Hi,

wie wärs hiermit:

Delphi-Quellcode:
// Prefix: string
// Fuellnullen: string
// Nummer: integer
// Endung: string (ohne ".")
DateiName := Format('%s%s%d.%s', [Prefix, Fuellnullen, Nummer, Endung]);
mfG
mirage228

Luckie 26. Dez 2004 10:32

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
Delphi-Quellcode:
var
  StartNum: Integer;
  EndNum: Integer;
  MaxLen: Integer;
  i: Integer;
  s: String;
begin
  StartNum := 5;
  EndNum := 25;
  MaxLen := 4;
  for i := StartNum to EndNum do
  begin
    s := Format('Bild%.4d.bmp', [i]);
    Listbox1.Items.Add(s);
  end;
end;
Leider kann man für die Konstante in der Format-Funktion keine Variable angeben.

delphiNoob 26. Dez 2004 11:02

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
Vielen Dank ihr zwei!!!

ich werd mich mal durcharbeiten und berichte euch dann, ob es klappt :)

delphinoob

delphiNoob 26. Dez 2004 11:47

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
Hallo nochmal

Die Version von mirage228 funktioniert fast:

Wenn Nummer zwei oder Mehrstellig ist, wird der Dateiname länger:

so soll es aussehen:
Hallo0020.bmp

so sieht es aus:
Hallo000020.bmp

Das Problem ist also, das die Nummer einfach an die Füllnullen angehängt wird und nicht integriert wird. Der parameter Füllnullen soll eigentlich die maximale anzahl Ziffern im Dateinamen sein, wenn also Füllnullen "0000" ist, dann müsste bei Zahl "20" das Ergebnis 0020 herauskommen. Stattdessen kommt aber 000020 Heraus....

ich hab mal in den Parametern der Funktion Format herumgeschnüffelt, bin aber nicht weiter gekommen. :cry:

Ihr müsst mir also nochmal helfen
Dabke schonmal jetzt für eure Mühe

delphinoob

mirage228 26. Dez 2004 11:54

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
Hi,

dann mach es mal so: ;)

Delphi-Quellcode:
// Fuellnullen, Nummer: Integer
// FmtStr, Prefix, Endung: string
FmtStr := Format('%%.%dd', [Fuellnullen]);
Dateiname := Format('%s' + FmtStr + '.%s', [Prefix, Nummer, Endung]);
mfG
mirage228

delphiNoob 26. Dez 2004 14:14

Re: Dateinamen aus Prefix, Nummer und Endung erstellen
 
jo, danke jetzt funktionierts!!! :-D :-D

delphinoob


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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