AGB  ·  Datenschutz  ·  Impressum  







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

FTP Client

Ein Thema von Brueckenhauer · begonnen am 9. Aug 2005 · letzter Beitrag vom 14. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#1

FTP Client

  Alt 9. Aug 2005, 13:59
Ich habe folgendes vor:

Ich möchte ein kleines tool schreiben, wo man sich auf einen server einloggt und man automatisch in ein von mir vorgebenes Verzeichnis gelangt, dort sollte man dann nur einen Ordner anlegen können und in diesen Ordner wechseln können sowie dann Bilder hochladen können, am besten indem man die makierten Bilder vom Desktop in das Programm zieht. Leider hab ich keine idee wie ich das anfangen kann. Vielleicht kann mir da einer ja mal tipps geben oder vielleicht gibt es sowas ja schon.
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: FTP Client

  Alt 10. Aug 2005, 22:15
Hi

Zitat von Brueckenhauer:
Leider hab ich keine idee wie ich das anfangen kann.
Ich schlage vor, dass du dein Projekt zuerst in Teilprojekte zerlegst. Bei der Kommunikationstechnik hast du dich ja schon in Richtung FTP bewegt - laut Titel. Der Indy FTP-Client sollte dich vor keine größeren Probleme stellen und Hilfe hier im Forum ist dir so gut wie sicher.

Das Anlegen genau eines Verzeichnisses und das automatische Anmelden sind eher ein Sicherheitsproblem auf dem Server als ein Programmierproblem auf der Client-Seite. Wie soll sich der Benutzer deines Programmes anmelden? Anonym mit Schreibrechten? Oder soll er sich selbst einen user account erzeugen, damit sein Verzeichnis geschützt ist?

Wenn du es selbst programmieren willst, dann wirst du dich auch mit Drag&Drop von shell objects befassen müssen. Wenn nicht, so bin ich sicher, dass es (freie) Software zum Aufbau eines Fotoalbums im Web gibt. Hast du schon mal bei SourceForge danach recherchiert?

Grüße vom marabu
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#3

Re: FTP Client

  Alt 10. Aug 2005, 22:43
erstmal vielen Dank für deine antwort...habe inzwischen angefangen und habe eine Verbindung und ausgabe mit dem Indy FTP erstellen können. Nun habe ich aber noch eine Frage zu
IdFTP1.List(DirectoryListBox.Items);

ist es möglich diese Liste zu zerlegen? Also das Datum, der Name usw...
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: FTP Client

  Alt 11. Aug 2005, 08:01
Klar doch.

Delphi-Quellcode:
procedure TDemoForm.ListButtonClick(Sender: TObject);
var
  l: TIdFtpListItems;
  i: integer;
  sl: TStringList;
begin
  sl := TStringList.Create; // create raw data container
  idFTP.Connect(true, -1); // login
  idFTP.List(sl, '*', true); // get all entries with details
  l := idFTP.DirectoryListing; // get ref of parsed entries
  for i := l.Count - 1 downto 0 do // start on safe side
    if l[i].ItemType = ditDirectory // check for sub directories
      then sl[i] := l[i].FileName // keep dir entries
      else sl.Delete(i); // drop other entries
  idFTP.Disconnect; // logout
  // ListBox.Items.Assign(sl); // show directory names
  sl.Free; // drop raw data container
end;
marabu

PS: Indy 9
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#5

Re: FTP Client

  Alt 11. Aug 2005, 10:12
vielen Dank werde ich testen, habe inzwischen noch eine andere Frage und zwar:

Ich habe eine Drag & Drop funktion eingebaut und wenn ich nun 1 Bild oder auch mehrere auf das Programm ziehe lädt das Programm die Bilder zwar hoch, aber das Programm reagiert in der Zeit nicht, wie kann ich das ändern?

Delphi-Quellcode:
procedure TForm1.WMDROPFILES (var Msg: TMessage);
var i, anzahl, size: integer;
    Dateiname: PChar;
begin
inherited;
anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, Dateiname, 255);
for i := 0 to (anzahl - 1) do
begin
  size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
  Dateiname:= StrAlloc(size);
  DragQueryFile(Msg.WParam,i , Dateiname, size);
  IdFTP1.Put(Dateiname,
  ExtractFileName(Dateiname));
  ListBox1.items.add(StrPas(Dateiname));
  StrDispose(Dateiname);
end;
DragFinish(Msg.WParam);
end;
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#6

Re: FTP Client

  Alt 11. Aug 2005, 10:21
Mit Application.ProcessMessages werden die anderen Prozesse ausgeführt, bevor dein Programm weitermacht.

Alternativ könntest du für das Hochladen auch einen eigenen Thread verwenden.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#7

Re: FTP Client

  Alt 11. Aug 2005, 10:44
vielen Dank, wie erstelle ich einen eigenen Thread? Hab sowas leider noch nicht gemacht.
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#8

Re: FTP Client

  Alt 11. Aug 2005, 11:38
Als erstes musst du eine neue Klasse erzeugen, die du von TThread ableitest.
Delphi-Quellcode:
type
  TFTPThread= class(TThread)
  public
    procedure Execute; override;
  end;
Delphi-Quellcode:
procedure TFTPThread.Execute;
begin
// Befehle für den Thread
// z. B. das Hochladen der Datei
end;
Im Deklarierungsteil musst du den Thread anlegen.
Delphi-Quellcode:
var
  FTPThread: TFTPThread;
Dann im Event den Thread starten.
Delphi-Quellcode:
  FTPThread := TFTPThread.Create(true);
  FTPThread.Resume;
// Durch das Resume wird der Thread gestartet
// Alternativ ein false als Parameter nehmen,
// dann wird der Thread sofort gestartet und das "Resume" wird nicht gebraucht
  FTPThread.Destroy; // Destructor aufrufen

Das war's mal ganz kurz.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#9

Re: FTP Client

  Alt 11. Aug 2005, 11:44
Zitat von Brueckenhauer:
vielen Dank, wie erstelle ich einen eigenen Thread? Hab sowas leider noch nicht gemacht.
lol? Ja nee ist klar...was ist denn das hier dann?

Edit: Ups, sry, geht ja um was ganz anderes.. ..hab wieder mal nicht alles gelesen
  Mit Zitat antworten Zitat
Brueckenhauer

Registriert seit: 17. Jun 2004
50 Beiträge
 
#10

Re: FTP Client

  Alt 11. Aug 2005, 18:06
vielen Dank dafür.
Aber ich habe
Delphi-Quellcode:
  FTPThread := TFTPThread.Create(true);
  FTPThread.Resume;
  // Durch das Resume wird der Thread gestartet
  // Alternativ ein false als Parameter nehmen,
  // dann wird der Thread sofort gestartet und das "Resume" wird nicht gebraucht
  FTPThread.Destroy; // Destructor aufrufen
auf einen Button gelegt und wenn ich den drücke bekomme ich zum testen nichtmal eine showmessage ausgegeben. Ist da noch was falsch?
MfG
Brueckenhauer
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:31 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