Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Ordner auf FTP-Server erstellen (https://www.delphipraxis.net/48244-ordner-auf-ftp-server-erstellen.html)

SHENYUKEN 22. Jun 2005 17:24


Ordner auf FTP-Server erstellen
 
Hallo

Ich habe das Problem, das ich nicht weiss, wie ich folgendes Problem beheben soll. :wall:
Also: Auf dem Server soll geprüft werden ob der Ordner "schule1" vorhanden ist, falls er vorhanden ist soll z.B der neue Ordner "schule2" erstellt werden im die Datei "test.log" gepeichert werden soll. Es dürfen aber keine forhandenen Ordner überschreiben werden.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   idftp1.Host := 'xxxxxx.xxxxx.com';
   idftp1.Username := 'xxxxxxx';
   idftp1.Password := 'xxxxxxx';
   idftp1.Connect(true, 30000);
   idftp1.Port:=21;
  try
    idftp1.MakeDir('schule1');
    idftp1.ChangeDir('schule1');
    idftp1.Put('c:\test.log', ExtractFileName('test.log'));
    idftp1.Disconnect;
 // if DirectoryExists('schule1') then
   except
    Showmessage('Der Server ist momentan nicht erreichbar');
   end;
end;

Bin für jede Hilfe Dankbar :-D

jfheins 22. Jun 2005 18:50

Re: Ordner auf FTP-Server erstellen
 
Du holst dir ein Directory Listing vom Server, und dann suchst du nach <Ordnername>X (mit erhöhendem X) bis kein Ordner dieses Namens da ist. dann kannst du einen derartigen erstellen ;)

also quasi
Code:
HoleDirectoryListing;
x := 1;
while ('schule' + x) im DirectoryListing mache:
  erhöhe X um eins;

Erstelle Odner ('schule' + x)
:zwinker:

P.S. Herzlich Willkommen in der DP :firejump:

SHENYUKEN 22. Jun 2005 20:10

Re: Ordner auf FTP-Server erstellen
 
Hi

danke für die schnelle Antwort leider bin ich doch etwas überfordert :gruebel:



Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var x : integer;
begin
   idftp1.Host := 'xxxxxx.xxxxx.com';
   idftp1.Username := 'xxxxxxx';
   idftp1.Password := 'xxxxxxx';
   idftp1.Connect(true, 30000);
   idftp1.Port:=21;
  try
    idftp1.DirectoryListing;
    x := 1;
    while ('schule' + x)// Hier scheint folgender Incompatible types: 'String' and 'Integer'
    idftp1.MakeDir('schule1');
    idftp1.ChangeDir('schule1');
    idftp1.Put('c:\test.log', ExtractFileName('test.log'));
    idftp1.Disconnect;
   except
    Showmessage('Der Server ist momentan nicht erreichbar');
   end;
end;

Ausserdem verstehe ich nicht wie ich diese zeile umsetzen soll :oops:
So wie ich es versuche kommt leider nie was anständiges bei raus :cry:
Delphi-Quellcode:
while ('schule' + x) im DirectoryListing mache:

marabu 22. Jun 2005 20:56

Re: Ordner auf FTP-Server erstellen
 
Lies mal hier wie du dir ein directory listing ziehen kannst. Wenn du keine Listbox nimmst sondern einfach eine StringList, dann kannst du die Einträge mit Sorted := true ordnen und mit IndexOf('schule2') prüfen, ob der Eintrag schon vorhanden ist.

Grüße vom marabu

SHENYUKEN 22. Jun 2005 22:49

Re: Ordner auf FTP-Server erstellen
 
Erstam möchte ich mich für eure Hilfe bedanken, aber ehrlich gesagt kann ich nix mit dem Link anfangen das macht die sache für mich nur komplizierter.Ich bin ein totaler Anfänger was Delphi angeht. :roll:

Wäre dankbar wenn jemand eine Lösung hätte die so simpel ist, das sie ein anfänger, wie ich es bin annähernd versteht.

Danke :hi:

jfheins 23. Jun 2005 07:04

Re: Ordner auf FTP-Server erstellen
 
Ja, ich gebe dir natürlich gerne den kompletten Quellcode ... :?

(das oben war Pseudocode, also kein richtiger Quellcode ...)

So, da:
Delphi-Quellcode:
FileName := 'Neuer Ordner';
  i := 1;

  FFtp.List(nil, '-a', False);

  while FFtp.ListResult.IndexOf(FileName) > -1 do
  begin
    FileName := 'Neuer Ordner (' + Inttostr (i) + ')';
    Inc (i);
  end;

  FFtp.MakeDir (Filename);
(Aber jetzt sag nich, dass der nicht kopiliert - du musst ihn natürlich noch an deine Klassen anpassen ;) )


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