Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi automatisches verschicken einer datei (https://www.delphipraxis.net/20583-automatisches-verschicken-einer-datei.html)

Paul 20. Apr 2004 01:38


automatisches verschicken einer datei
 
hi,

versuche gerade ein prog zu coden welches automatisch eine log datei aller std. auf ein server transferiert.

den timer hab ich gesetzt, steht auf false soll aber beim programm start auf true gesetzt werden.

meine frage jetzt ist form.create richtig um den timer bei programmstart auf true zusetzen???
versenden geht auch noch nicht so recht :( wie sag ich den prog das er die datei aus dem ordner nehmen soll wo das prog selber drin liegt, ohne über ein button zu gehen.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdAntiFreezeBase, IdAntiFreeze, ExtCtrls,
  IdComponent, IdTCPConnection, IdTCPClient, IdFTP, StdCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    IdAntiFreeze1: TIdAntiFreeze;
    IdFTP1: TIdFTP;
    Label1: TLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Timer1: TTimer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.enabled := true;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin

IdFTP1.Host := '192.168.0.1';
IdFTP1.Username := 'paul';
IdFTP1.Password := '20';
IdFTP1.Connect;
IdFTP1.ChangeDir('/');

IdFTP1.Put('log.log');
IdFTP1.Quit;
IdFTP1.Disconnect;
end;

end.
danke schonmal für eure hilfe :)

mfg Paul

ims 20. Apr 2004 08:00

Re: automatisches verschicken einer datei
 
hi paul

verständlich dass er die datei nicht schickt, er weiss ja nicht woher nehmen. wenn die datei wie beschrieben im gleichen ordner wie die exe liegt, kannst du folgendes verwenden:

Delphi-Quellcode:
IdFTP1.Put(ExtractFilePath(paramstr(0)) + 'log.log')
damit bekommt idFTP den gesamten pfad deines log-files.


zu deiner timer-frage (ich bin mir nicht ganz sicher wie du es meinst):
du startest dein programm am morgen (oder sonst wann) und dann lässt du es den ganzen tag laufen?
wenn ja, sollte das problem mit dem timer gar kein problem sein :). das müsste eigentlich funktionieren.


gruss, dave

Paul 20. Apr 2004 21:10

Re: automatisches verschicken einer datei
 
hmmm

irgendwie versendet er immer noch nix. kann das eventuell am timer liegen??

mfg

a.vollmer 20. Apr 2004 21:45

Re: automatisches verschicken einer datei
 
wie goch hast du den timer denn stehen?


Alex

Paul 20. Apr 2004 22:13

Re: automatisches verschicken einer datei
 
zum testen auf = interval:10

bei events - on timer = formcreate

mfg

flomei 20. Apr 2004 22:15

Re: automatisches verschicken einer datei
 
das heisst alle 10ms?
Probier doch mal eine Minute oder 5 Minuten oder so...
Vielleicht ist er einfach zu langsam um das zu verarbeiten... ;)

MfG Florian :hi:

a.vollmer 20. Apr 2004 22:20

Re: automatisches verschicken einer datei
 
versuchs doch mal so...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.interval := 300000;
timer1.enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
IdFTP1.Host := 'ftp.domain.de';
IdFTP1.User := 'benutzername';
IdFTP1.Password := 'password';
IdFTP1.Connect;
IdFTP1.ChangeDir('/');

IdFTP1.Put('c:\test.txt','test.txt');
IdFTP1.Quit;
IdFTP1.Disconnect;
end;
Gruß

Alex

Paul 22. Apr 2004 00:14

Re: automatisches verschicken einer datei
 
irgendwas stimmt nicht, der versendet immer noch nicht das files.

Code:
procedure TForm1.Timer1Timer(Sender: TObject);
begin

IdFTP1.Host := 'ip';
//IDFTP1.passive := false;
IdFTP1.Username := 'user';
IdFTP1.Password := 'pass';
IdFTP1.Connect;
IdFTP1.ChangeDir('/');
//IdFTP1.TransferType := ftBinary;

IdFTP1.Put(ExtractFilePath(paramstr(0)) + 'log.log');
IdFTP1.Quit;
IdFTP1.Disconnect;
end;
wie gesagt das file liegt im selben ordner wie das prog. das prog soll sich automatisch das file suchen und versenden.

Basilikum 22. Apr 2004 07:37

Re: automatisches verschicken einer datei
 
versuche mal:
Code:
[..]
IdFTP1.Put(ExtractFilePath(paramstr(0)) + 'log.log','log.log');
[..]

Jens Schumann 22. Apr 2004 07:58

Re: automatisches verschicken einer datei
 
Zitat:

Zitat von flomei
das heisst alle 10ms?
Probier doch mal eine Minute oder 5 Minuten oder so...
Vielleicht ist er einfach zu langsam um das zu verarbeiten... ;)

MfG Florian :hi:

Ein Interval von weniger als 52 kann der Delphi Timer nicht auflösen.
Die Begründung habe ich mal gelesen aber leider wieder vergessen.


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz