![]() |
Mit delphi eine text datei auslesen
hallo ich versuch gerade ein programmzu machen dass eine text datei von einem ftp server holt und dann soll delphi ermitteln wie viele zeilen die datei hat und jeder zeile eine nummer geben. Anschließend kann man in ein edit feld ein Zahl eingeben und wenn man dann auf einen button klickt wird die zeile mit der eingegebenen Zahl gelöscht. zum schluß wird die datei auf dem ftp server gelöscht und die bearbeitete wird hochgeladen. Die sachen mit dem ftp server kann ich(also dass uploaden, downloaden und ersetzen). Aber beim rest weiß ich nicht weiter.
|
AW: Mit delphi eine text datei auslesen
Schau dir mal
![]() |
AW: Mit delphi eine text datei auslesen
ok wie sieht das dann aus wie öffne ich die text datei? wie kann ich jede einzelne zeile in die list einfügen
|
AW: Mit delphi eine text datei auslesen
TStringlist alleine dürfte da wohl nicht ausreichen. Er benötigt ja auch noch eine Anzeige wo der Text zu sehen ist, möglichts mit Zeilennr.
zB noch ein Memo oder Richedit und kann somit die Daten gleich bearbeiten und wieder Speichern! €: z.B.
Delphi-Quellcode:
Memo1.Lines.Loadfromfile('Deine Datei');
Gruss alfold |
AW: Mit delphi eine text datei auslesen
Also in die Stringlist lädst du so :
Delphi-Quellcode:
// so kannst du einfach Löschen "liste.Delete(Strtoint(edit1.text);"
var
Liste : TStringlist; begin Liste := tstringlist.Create; Liste.LoadFromFile(*pfad*); // aber die Stringlist kannst du nicht sehen, deswegen wie alfold sagte mittels Memo oder Richedit, dort gibt es auch "loadfromfile" und so Löscht du dann : "smemo1.Lines.Delete(strtoint(edit1.text));" |
AW: Mit delphi eine text datei auslesen
ich kapier nicht so kanz wie die for schleife dann aussehen soll und wie sie dann funktioniert. außerdem wie speichere ich dann die text datei. damit keine probleme auftauchen wenn man dass programm des nächste mal ausführt muß man die text datei löschen doch wie macht man so etwas?(sorry aber ich habe noch nie mit textdatein in delphi gearbeitet:-D)
|
AW: Mit delphi eine text datei auslesen
keine FOR-Schleife...
Delphi-Quellcode:
smemo1.Lines.LoadFromFile(*pfad*); // laden
smemo1.Lines.Delete(strtoint(edit1.text)); // löschen smemo1.lines.savetofile(*pfad*); // speichern // Zum Löschen einer Datei benutze ich immer diese Funktion : Zitat:
|
AW: Mit delphi eine text datei auslesen
danke :-D
|
AW: Mit delphi eine text datei auslesen
|
AW: Mit delphi eine text datei auslesen
Nein?! Er läd sie ja runter?!
Zitat:
|
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 |
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:
|
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 |
AW: Mit delphi eine text datei auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
ich wollte mein programm mal bishierhin testen griege aber folgende fehlermeldung
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. |
AW: Mit delphi eine text datei auslesen
Irgendwie ja auch logisch.
Du müsstest einen Dateinamen übergeben, stattdessen gibt's du einen Pfad. |
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 |
AW: Mit delphi eine text datei auslesen
ja das war der fehler danke.:-D
|
AW: Mit delphi eine text datei auslesen
Zitat:
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:
|
AW: Mit delphi eine text datei auslesen
Zitat:
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. |
AW: Mit delphi eine text datei auslesen
Zitat:
nein spass das ist mir kar nicht auf gefallen dass die zwei ereignisse gibt. |
AW: Mit delphi eine text datei auslesen
Sinn macht Dein Timer2 nur, wenn du auch ne Anzeige dafür machst wie lange es dauert bis die Verbindung steht!
Und Dein Timer1 kannst du weglassen wenn Du alles in
Delphi-Quellcode:
reinschreibst :wink:
if IdFTP1.Connected then
begin .....//mache hier was du willst ..... end; Gruss alfold |
AW: Mit delphi eine text datei auslesen
nun habe ich ein weiteres problem. Die Text datei nütze ich für ein php scribt
![]() |
AW: Mit delphi eine text datei auslesen
Delphi-Quellcode:
So ungefähr
PictToDelete:=x;
... DeleteFile(List[PicToDelete].BilName); List.delete(PicToDelete); ... Gruß K-H |
AW: Mit delphi eine text datei auslesen
das beantwortet irgentwie nicht meine frage das bild ist auf dem ftp server.
|
AW: Mit delphi eine text datei auslesen
Zitat:
Gruß K-H |
AW: Mit delphi eine text datei auslesen
das löschen ist nicht das problem den DATEINAMEN AUS DER TEXTDATEI zufinden ist das problem
|
AW: Mit delphi eine text datei auslesen
Wie sieht den die Text Datei aus!
Gruss alfold |
AW: Mit delphi eine text datei auslesen
die zeilen der textdatei sehen so aus : "bildname|titel|inhalt"
|
AW: Mit delphi eine text datei auslesen
|
AW: Mit delphi eine text datei auslesen
ich habe nur deshalb einen neuen beitrag eröffnet da hier keiner so wirklich geblickt hatt was ich meine
|
AW: Mit delphi eine text datei auslesen
Der senkrecht strich dient als trenner? Und Bildname beinhalted hoffentlich den gesamten Pfad.
Dann mach es mit posex so als Vorschlag
Delphi-Quellcode:
Gruss alfold
i:= posex('|', tempstrg);
bildstrg:= leftstr(tempstrg,i-1); |
AW: Mit delphi eine text datei auslesen
Zitat:
Zitat:
Du weißt doch wo der Dateiname steht ? Gruß K-H Edith: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr. |
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-2025 by Thomas Breitkreuz