AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Textdatei runterladen - lokal speichern - ohne User-Eingriff
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei runterladen - lokal speichern - ohne User-Eingriff

Ein Thema von Tazidus · begonnen am 24. Aug 2009 · letzter Beitrag vom 25. Aug 2009
Antwort Antwort
Tazidus

Registriert seit: 29. Mär 2005
Ort: Hilchenbach
44 Beiträge
 
#1

Textdatei runterladen - lokal speichern - ohne User-Eingriff

  Alt 24. Aug 2009, 17:21
Hallo,
ich habe ein Programm, welches Daten aus einer Text-Datei benutzt und dann Berechnungen durchführt.

Die Textdatei wird viermal im Jahr zu bestimmten Zeiten (letzter Werktag im Monat) geändert und dann bereitgestellt wird.

Hierzu benutze ich einen Link.
Wenn man jetzt aber im Browser auf diesen Link klickt, erscheint die übliche Meldung: speichern oder öffnen.

Meine Vorstellung ist jetzt, dass mein Programm am Datum erkennen soll, dass wieder ein Update fällig ist. Dies habe ich schon fertig.
Mein Problem ist es, die Datei runter zu laden, ohne dass der Benutzer was dabei tun muss.

Daher erbitte ich Hilfe bei folgenden Schritten:

- Verbindung zu einem HTTP-Link aufbauen
- Datei empfangen
- lokal speichern

und das alles ohne das Benutzer was machen muss.

Würde mich über ein bisschen Hilfe sehr freuen.

Gruß
Daniel
Es gibt nichts Gutes, außer man tut es!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 24. Aug 2009, 17:23
Das sollte sehr einfach mit den Indys gehen

Evtl. vorher mit IdHTTP.Head() nachgucken, ob die Datei runtergelden werden muss, und mit IdHTTP.Get() kannst edie Datei runterladen.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 24. Aug 2009, 18:35
Delphi-Quellcode:
uses ...,URLMon;

function DownLoadInternetFile(const Source, Dest : String): Boolean;
begin
   Result := URLDownloadToFile(nil,PChar(Source),PChar(Dest),0,nil) = 0
end;
....

if not DownloadInternetFile('http://www.deinserver.de/pfad/datei.txt', 'C:\datei.txt') then
   raise Exception.Create('Datei bla bla konnte nicht heruntergeladen werden');
Andreas
  Mit Zitat antworten Zitat
lowF

Registriert seit: 18. Dez 2008
37 Beiträge
 
#4

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 25. Aug 2009, 16:49
Delphi-Quellcode:

var lFileStream : TFileStream;
begin
  lFileStream := TFileStream.create('C:\',fmCreate);
  IdHTTP1.Get('http://www.url.de/file.txt',lFileStream);
  lFileStream.destroy;
end;
Funktioniert natürlich auch mit Memory- oder Stringstreams, Stringstream sinnvoll, wenn du die Textdatei sofort auslesen willst, um damit weiterzuarbeiten.

Brauchst natürlich Indy9/Indy10, welches eh sinnvoll ist, bei Delphi zu installieren.

mfg
lowF

PS: Am besten noch mit try - except abfragen umgeben, um sicher zu gehen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 25. Aug 2009, 16:52
Das würde ich aber ein wenig erweitern.
Delphi-Quellcode:
var lFileStream : TFileStream;
begin
  lFileStream := TFileStream.create('C:\',fmCreate or fmOpenWrite or fmShareDenyWrite);
  try
    IdHTTP1.Get('http://www.url.de/file.txt',lFileStream);
  finally
    lFileStream.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lowF

Registriert seit: 18. Dez 2008
37 Beiträge
 
#6

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 25. Aug 2009, 16:58
Danke dafür, wusste den Trick mit "or" gar nicht. Gut zu wissen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Textdatei runterladen - lokal speichern - ohne User-Eing

  Alt 25. Aug 2009, 17:07
Zitat von lowF:
Danke dafür, wusste den Trick mit "or" gar nicht. Gut zu wissen.
http://www.delphipraxis.net/internal...t.php?t=113482
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:52 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