AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eine Datei in dem selben Programm-Verzeichnis herunterladen
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Datei in dem selben Programm-Verzeichnis herunterladen

Ein Thema von thomas2009 · begonnen am 3. Mär 2009 · letzter Beitrag vom 4. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 14:24
Zitat von DeddyH:
(liest eigentlich niemand genau, was ich hier schreibe?)
Hehe ... klar les ich alles Aber Thomas hat in seinem ersten Beitrag auch nicht vom c:\Programme oder Vista gesprochen und du hast verallgemeinert und gleich geschrieben "nö, geht nicht".
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#12

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 22:41
Mit diesem Code, was ich hier in DP gefunden habe, funktioniert aber es erscheint ein Problem zu sein und zwar: Beim ab zweiter Aufruf, wird nicht die Datei direkt vom Server downloadet sondern vom Temp
Ich ändere die Quelle in Server aber wenn ich die Datei downloade, dann finde ich dass der Code die alte Datei vom temp wahrscheinlich geholt hat !!!
Delphi-Quellcode:
uses
  URLMon;

procedure TForm1.Button1Click(Sender: TObject);
var
  Datei,Ziel:PChar;
begin
  try
    Datei := 'http://www.DieSeite/DieDatei.txr';
    Ziel := 'C:\Windows\Desktop\DieDatei.txt';
    UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
     
  except
ShowMessage('Ein Fehler ist aufgetreten! Programm wird beendet!');
Form1.Close;
  end;
end;
end;
http://www.delphipraxis.net/internal...downloadtofile
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 22:45
Das liegt am Cache vom IE (und der wird bei dem Aufruf genutzt) ... das gleiche Verhalten hast du nämlich auch mit dem IE direkt.

IE-Cache löschen und es geht wieder
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 22:53
Zitat von hitzi:
Möglich ... aber portable Anwendungen machen das nur so. Meine Anwendungen (ohne Installer) machen das auch. So kann man diese Anwendungen dann später auch problemlos aus dem System löschen, ohne verstecke Ordner (%appdata%) durchsuchen zu müssen.
Ich überlasse das einfach dem Benutzer. Ich suche zuerst im eigenen Ordner, sind da keine Einstellungen suche ich in den Anwendungsdaten, sind da auch keine, dann zeige ich einen Einstellungsassistenten an, der auch fragt wo die hin sollen. Ganz einfach.

Und so hast du weder ein Problem mit den Rechten noch mit der Möglichkeit der portablen Verwendung.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#15

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 23:16
Hier ist eine Funktion, die eine Datei direkt ohne cache downloadet aber
das Aufruf der Funktion klappt bei mir nicht:
3. Funktion ganz unten :
http://www.swissdelphicenter.ch/torr...ode.php?id=412

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s,k: String;

begin
k:='http://xxx.com/test.gif';
s:='test.gif';
DownloadURL_NOCache(k, s);
end;
es passiert nichts
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 3. Mär 2009, 23:40
Wie wäre es denn, wenn du einfach mit den Indy Komponenten (die ja bei den meisten Delphiversionen bis auf die ganz alten Personal Editions dabei sind) die Datei direkt in den Speicher herunterlädst? Dann landet die gar nicht erst auf der Festplatte.

Da ist ganz einfach die Frage was du vor hast. Wenn du z.B. eine Versionsüberprüfung machen willst, dann ist das die einzig sinnvolle Lösung.

Dass der Download nicht klappt, könnte am fehlenden Pfad liegen, ausprobiert habe ich das jetzt nicht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 4. Mär 2009, 07:22
Zitat von thomas2009:
Hier ist eine Funktion, die eine Datei direkt ohne cache downloadet aber
das Aufruf der Funktion klappt bei mir nicht:
3. Funktion ganz unten :
http://www.swissdelphicenter.ch/torr...ode.php?id=412

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s,k: String;

begin
k:='http://xxx.com/test.gif';
s:='test.gif';
DownloadURL_NOCache(k, s);
end;
es passiert nichts
Welche Delphi Version nutzt Du?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#18

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 4. Mär 2009, 10:54
Indy ist bei mir installiert, gibt es ein Beispiel ?
Ja, es geht um eine Update. Ich wollte die Anwendung updaten
Es geht nur um eine Datei
Die Überprüfung der Update funktioniert wunderbar

Ich habe Delphi 7 Pro
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 4. Mär 2009, 11:44
Gib als Speicherpfad für die Datei generell einen absoluten Pfad an. Wer weiß wo die Datei sonst landet.

Merke dir einfach: Nutze nie relative Pfade. Dann kannst du solche Fehler schonmal ausschließen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#20

Re: Eine Datei in dem selben Programm-Verzeichnis herunterla

  Alt 4. Mär 2009, 14:22
Zitat von thomas2009:
Indy ist bei mir installiert, gibt es ein Beispiel ?
Ja, es geht um eine Update. Ich wollte die Anwendung updaten
Es geht nur um eine Datei
Wie machst du die Überprüfung denn? Ich vermute mal mit IdHttp.Get, oder?
Genauso geht das auch mit einer Datei, nur dass du als zweiten Parameter einen Stream angeben musst. Dann wird die Datei in den Stream gelegt, das kann ein TFileStream sein.
Wie das geht siehst du z.B. hier:
http://www.delphipraxis.net/internal...ct.php?t=44279

Hast du eigentlich die benötigten Adminrechte für ein Update berücksichtigt? Die saubere Vorgehensweise wäre für ein Programmupdate so:
Die neue Datei ins Verzeichnis für temporäre Dateien (GetTempPath) herunterladen. Dann einen Updater mit Adminrechten starten, der entweder extra mitgeliefert wird oder in der Exe mitgeliefert wird oder die Exe selbst mit entsprechenden Parametern.
Unter Vista wird dann die UAC angezeigt, der Nutzer bestätigt die Adminrechte, und dann kannst du erst eine Datei unter c:\programme ersetzen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:53 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