Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Eine Schleife für Konvertierung (https://www.delphipraxis.net/17640-eine-schleife-fuer-konvertierung.html)

Andreas L. 7. Mär 2004 18:13


Eine Schleife für Konvertierung
 
Hi,
also. Ich habe hier am Form eine ListBox. Diese enthält zahlreiche Pfad angaben. Jede Zeile eben ein anderer Pfad + Dateiname:

Code:
C:\docs\hallo.txt
C:\test\temp\exe.exe
...
...
...
...
...
Nun möchte ich eine Schleife erstellen die jedes einzelne String ausliest und dann eine aktion durchführt. also soll quasi für jeden pfad die gleiche aktion ausgeführt werden, nur eben mit den pfad was der aktuelle is. Beispiel:

Delphi-Quellcode:
memo1.lines.savetofile(HIER MUSS IMMER DER AKTUELLE PFAD UND DATEINAME HIN :-));
Ich habe noch nie mit Schleifen gearbeitet.

Wie geht`n das?

Delphi-Quellcode:
for I:= 1 to 100 do
 begin
  irgendwas;
 end;
oder wie?

Hoffentlich wars verständlich...

Greetz und thx

Christian S. 7. Mär 2004 18:38

Re: Eine Schleife für Konvertierung
 
Hallo!

Mit der Schleife ist ja schon mal die richtige Idee. Du machst es so:
Delphi-Quellcode:
for i:=0 to listbox1.items.count-1 do
begin
  dateiname := listbox1.items[i]; //Variable zur Verdeutlichung
  machwas(dateiname);
end;
Dabei sind items die Zeilen in der Listbox und count gibt an, wieviele es sind. Da der kleinste Index 0 ist, geht es bis count-1.

MfG
Peter

Andreas L. 7. Mär 2004 18:47

Re: Eine Schleife für Konvertierung
 
Ahhhh Danke. Das ist ja nicht mal so schwer, wenn man es versteht *g*

Jetzt stehe ich noch vor einen Problem.

In der ListBox befinden sich ja verschiedene Pfade.

Der Benutzer meines Programms gibt jetzt noch einen Pfad in einem Edit an, z. B. C:\extract\

Jetzt soll das programm nur den dateinamen hinten dran hängen.

soweit so gut:
Delphi-Quellcode:
'C:\extract' + filename
Hehe, aber das Prob is das ich ja nen ganzen Pfad, z. B. C:\programme\einprog.exe, hab. Jetzt brauche ich aber nur den dateinamen, in diesen fall wäre das einprog.exe

Wie stell ich das jetzt an?

greetz und thx

mirage228 7. Mär 2004 18:57

Re: Eine Schleife für Konvertierung
 
Delphi-Quellcode:
ExtractFileName()
ExtractFilePath()
GetCurrentDir
IncludeTrailingBackslash
sollte dir weiterhelfen.

mfG
mirage228

Christian S. 7. Mär 2004 18:59

Re: Eine Schleife für Konvertierung
 
Hallo!

So:
Delphi-Quellcode:
srcFile := 'c:\temp\bild.jpg';
destDir := 'c:\temp2\';

destFile := destDir + ExtractFileName(srcFile);
MfG
Peter

Andreas L. 7. Mär 2004 19:05

Re: Eine Schleife für Konvertierung
 
Danke an alle...

Es geht :-)

Yiepy!

Bye

Schönen Tag/Nacht/Abend noch *g*

Andreas L. 8. Mär 2004 17:29

Re: Eine Schleife für Konvertierung
 
Und wie schneide ich die Dateiendung ab? .text oder .bmp oder .sc

Mein Problem ist...

1. Wie schneide ich überhaupt was ab
2. wie manage ich das abschneiden, sind ja nicht immer nur 3 Zeichen nach dem punkt.

Greetz und thx

mirage228 8. Mär 2004 17:31

Re: Eine Schleife für Konvertierung
 
Dateiendung abschneiden:

Delphi-Quellcode:
DateiName := ChangeFileExt(DateiName, '');
weiteres über ChangeFileExt in der OH

mfG
mirage228

Andreas L. 8. Mär 2004 17:34

Re: Eine Schleife für Konvertierung
 
Danke :-)

Benedikt 8. Mär 2004 17:36

Re: Eine Schleife für Konvertierung
 
Hi,

ändern, und somit auch abschneiden kannst du Datei-Endungen mit ChangeFileExt (sieh dazu auch die Hilfe).

Das Abschneiden eines Substrings an sich machst du mit Copy. Wenn du jetzt z.B. die Endung manuell abschneiden wolltest, könntest du erst im Dateinamen von hinten nach einem Punkt suchen, und dann mit Copy abschneiden, oder einfach die Endung mit Delete löschen.


//Edit: Zu spät... :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Seite 1 von 2  1 2      

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