Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit delphi eine text datei auslesen (https://www.delphipraxis.net/158971-mit-delphi-eine-text-datei-auslesen.html)

alfold 9. Mär 2011 21:01

AW: Mit delphi eine text datei auslesen
 
Ja und, bearbeiten tut er sie auf seinen Rechner, Löschen oder überschreiben kann er sie nur auf dem FTPServer, hat also nix mit Delete File aus Windows gemein!

Gruss alfold

-Phantom- 9. Mär 2011 21:05

AW: Mit delphi eine text datei auslesen
 
Ich habs so verstanden das er die .txt auf sein Rechner löschen will. Weil er ja sagt das er
Zitat:

Die sachen mit dem ftp server kann ich(also dass uploaden, downloaden und ersetzen).
das kann. Er kann auf dem ftp server ersetzten so wie er sagt. Deshalb dachte ich mir das er die Datei die auf sein rechner ist löschen will

alfold 9. Mär 2011 21:12

AW: Mit delphi eine text datei auslesen
 
is ja auch richtig :wink:
Löschen muss er die Datei ja dann auch auf seinem Rechner, - irgendwann:-D
Es sei, er macht Move zum FTP 8-)
Gruss alfold

fox67 9. Mär 2011 21:51

AW: Mit delphi eine text datei auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
unit artikelloeschen;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, IdComponent, IdTCPConnection, IdTCPClient,
  IdFTP, IdBaseComponent, IdIntercept, IdLogBase, IdLogDebug, ExtCtrls;

type
  TForm1 = class(TForm)
    IdLogDebug1: TIdLogDebug;
    IdFTP1: TIdFTP;
    DebugListBox: TListBox;
    StatusBar1: TStatusBar;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    procedure onStatus(axSender: TObject; const axStatus: TIdStatus;
      const asStatusText: String);
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure OnLogItem(ASender: TComponent; var AText: String);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
    procedure getfile();
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.onStatus(axSender: TObject; const axStatus: TIdStatus;
  const asStatusText: String);
begin
DebugListBox.ItemIndex := DebugListBox.Items.Add(asStatusText);
StatusBar1.Panels[0].Text := asStatusText;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IdFTP1.Connect;
timer2.Enabled:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if IdFTP1.Connected = true then
 begin
 button1.Visible:=false;
 button2.Visible:=true;
 edit1.Visible:=true;
 button3.Visible:=true;
 end;
if IdFTP1.Connected = false then
 begin
 button1.Visible:=true;
 button2.Visible:=false;
 button3.Visible:=false;
 button4.Visible:=false;
 Label1.Visible:=false;
 edit1.Visible:=false;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IdFTP1.Disconnect;
end;

procedure TForm1.OnLogItem(ASender: TComponent; var AText: String);
begin
DebugListBox.ItemIndex := DebugListBox.Items.Add(AText);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if IdFTP1.Connected then
begin
getfile();
timer2.Enabled:=false;
end;
end;

procedure TForm1.getfile();
begin
IdFTP1.Get('anzeigen.txt', extractfilepath(application.ExeName), true);
end;
end.
ich wollte mein programm mal bishierhin testen griege aber folgende fehlermeldung

Sir Rufo 9. Mär 2011 22:08

AW: Mit delphi eine text datei auslesen
 
Irgendwie ja auch logisch.

Du müsstest einen Dateinamen übergeben, stattdessen gibt's du einen Pfad.

alfold 9. Mär 2011 22:09

AW: Mit delphi eine text datei auslesen
 
Ich glaube da fehlt irgenwie der Dateiname

Delphi-Quellcode:
IdFTP1.Get('anzeigen.txt', extractfilepath(application.ExeName)+'meinedatei.txt', true);

mist wieder zu langsam :stupid:

Mal ne andere Frage:
Warum startest Du da noch einen 2.Timer?
Du solltest auch mindestens ne exeption abfangen wenn es zu keinem Connect kommt bzw ne meldung generieren!

den Timer als solche sbrauchst Du doch gar nicht1
Delphi-Quellcode:
try
  IdFTP1.Connect(true,5000);//5 sek warten auf verbindung
  if IdFTP1.Connected then
  begin
   .....//mache hier was du willst
   .....
  end;
except
    raise; // Exception warum die Verbing fehlschlug ausgeben
end;
//alles in ordnung

gruss alfold

fox67 9. Mär 2011 22:14

AW: Mit delphi eine text datei auslesen
 
ja das war der fehler danke.:-D

fox67 10. Mär 2011 11:22

AW: Mit delphi eine text datei auslesen
 
Zitat:

Mal ne andere Frage:
Warum startest Du da noch einen 2.Timer?
Du solltest auch mindestens ne exeption abfangen wenn es zu keinem Connect kommt bzw ne meldung generieren!

den Timer als solche sbrauchst Du doch gar nicht1
doch den brauche ich. Der erste timer schaute ob die verbindung steht oder nicht und dementsprechend die buttons sichbar und unsichtbar mach.
der zweite timer geht an wenn man auf den verbinden button klickt und wartet dann bisman mit dem server verbunden ist dann holt er die textdatei vom server und schält sich aus. würde dass der erste timer machen(der muß anbleiben da er ja überprüft ob die verbindung an oder aus ist) würde die text datei die ganze zeit erneut vom server geladen werden was dann auf die dauer bestimmt zu errors kommen würde(außerdem könnte man die datei nich mehr bearbeiten).
Zitat:

Ich habs so verstanden das er die .txt auf sein Rechner löschen will. Weil er ja sagt das er
Zitat: Die sachen mit dem ftp server kann ich(also dass uploaden, downloaden und ersetzen).das kann. Er kann auf dem ftp server ersetzten so wie er sagt. Deshalb dachte ich mir das er die Datei die auf sein rechner ist löschen will

Das hast du richtig verstanden den ursprünglich wollte ich die datei auf dem rechner löschen nur dann habe ich gemerkt dass man beim downloaden die datei gleich überschreiben kann.

himitsu 10. Mär 2011 11:38

AW: Mit delphi eine text datei auslesen
 
Zitat:

Zitat von fox67 (Beitrag 1087254)
doch den brauche ich.

Timer1:
Und jetzt rate mal, warum diese Komponente bestimmt irgendwelche Ereignisse ala OnConnect/OnDisconnect bereitstellt?

Timer2:
Nach dem .Connect ist man verbunden und wenn nicht, dann kommt es auch nicht später nach.
Und selbst wenn diese Komponente assynchron arbeiten würde, dann gäbe es ein entsprechendes Ereignis.


Ereignisse sind dafür da, damit die Komoponente uns sagt, was mit ihr los ist
und nicht damit wir ständig sinnlos anfragen müssen was mit ihr los ist.

fox67 10. Mär 2011 11:41

AW: Mit delphi eine text datei auslesen
 
Zitat:

Und jetzt rate mal, warum diese Komponente bestimmt irgendwelche Ereignisse ala OnConnect/OnDisconnect bereitstellt?
warum einfach machen wenn es auch komlieziert geht?:-D:-D

nein spass das ist mir kar nicht auf gefallen dass die zwei ereignisse gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:01 Uhr.
Seite 2 von 4     12 34      

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