Autor Beitrag
Gurke
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mo 18.02.08 17:25 
Moin,
ich will ein Programm per Konsolen-Anwendung erstellen.
Dieses Programm soll die Namen (in meinem Fall die Namen von mehreren Bilder in einem Ordner) der Reihe nach durchnummerieren von 1 bis x.
Mein Problem ist jetzt das ich nicht weiß wie ich das machen muss :)
Mein theoretisches Denken geht soweit, dass ich denke, dass ich die irgendwie alle in einem Array zusammenfassen muss und dann per Forschleife alle durchlaufen lasse, mit halt immer +1 als Name.
Aber wie fasse ich die alle als Array zusammen?

Bislang hab ich das so gemacht das man jedes einzelnt auswählen muss.. das ist aber irgendwie unschön und bringt einem auch nicht wirklich einen vorteil an zeitersparniss, gegenüber dem normalen umbenennen :)

So sieht mein Quelltext bisher aus. aber wie gesagt möchte ich das gerne so haben das man nichts mehr eingeben muss. sondern das man einfach auf die .exe klickt und das programm alle datein automatisch umbenennt.

das mit den Sleeps hab ich da nur hingemacht damit das aussieht als würde das programm laden. :) das könnt ihr als vergessen ;)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;
   var a,b:string;
begin
write('Zu umbenennende Datei eingeben: ');
readln(a);
write('Umbennanten Dateinamen eingeben: ');
readln(b);
writeln('');
 if FileExists(a+'.jpg') then
 begin
  writeln('Datei vorhanden');
  RenameFile(a+'.jpg', b+'.jpg');
  write('laedt: ');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  sleep(100); write('.');
  writeln('');
  writeln('');
  writeln('Fertig'); end

 else writeln('Datei nicht vorhanden');

 sleep(2000);
end.


Weiß jmd wie ich die in ein Array oder einer liste zusammenfassen kann?
Die anderen Threads hier im Forum, die ich durchgelesen habe, haben mir nicht geholfen.


gruß
Gurke

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 18.02.2008 um 17:29
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mo 18.02.08 18:51 
hmm, wenn du eine Liste aller Dateien in einem Ordner suchst, such mal nach TSearchRec.

damit kannst du die Dateien dann einfach umbenennen (z.B. auch nur die Dateien, die als Endung .png oder so haben)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 18.02.08 18:55 
Mit FindFirst..FindNext kannst du alle Dateien in einem Ordner suchen, es gibt auch einen Eintrag in der Library dazu.

Als Ergebnisliste solltest du einfach eine TStringList benutzen, diese kannst du danach mit einer for-Schleife durchgehen und die Dateien umbenennen.