Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi problem beim download einer datei (https://www.delphipraxis.net/37756-problem-beim-download-einer-datei.html)

tester008 9. Jan 2005 20:36


problem beim download einer datei
 
Delphi-Quellcode:
if Savedialog1.execute then
 begin
  cDownStatus := cDownloadStatusCallBack.Create;
  URLDownloadToFIle(nil,memo.text,SaveToFile(savedialog1.FileName),0,CDownStatus);
end;
end;
weiß vieleicht von euch jemand wo der fehler ist??? und kann mir den source richtig
posten weil irgendwie sitz ich an dieser zeile schon eine habe ewikeit

[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]

Luckie 9. Jan 2005 20:37

Re: problem beim download einer datei
 
Was steht denn in Memo1.Text drinne?

Matze 9. Jan 2005 20:39

Re: problem beim download einer datei
 
Zitat:

tmemo.text
Meinst du wirklich "TMemo", nicht "Memo1" o.Ä?

tester008 9. Jan 2005 20:50

Re: problem beim download einer datei
 
sorry hab mich gerade vertipt aber mit memo1 gehts auch nicht und jetzt hab ich das mal so versucht aber es haut auch noch nicht hin



Delphi-Quellcode:
begin
 lStream:=TFileStream.Create(SaveToFile(savedialog1.FileName), fmCreate or fmShareDenyNone);
 try
   idHTTP1.Get(memo1.text, lStream);
 finally
   lStream.Free;
 end;
end;


Delphi-Quellcode:
lStream:=TFileStream.Create(SaveToFile(savedialog1.FileName), fmCreate or fmShareDenyNone);

(SaveToFile(savedialog1.FileName) undefinierter bezeichner

weiß einer ne lösung?


in memo1 ist eine internet url zu ner zip datei

[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]

SirThornberry 9. Jan 2005 20:52

Re: problem beim download einer datei
 
was soll das "SaveToFile" dort mitten drin?

tester008 9. Jan 2005 20:54

Re: problem beim download einer datei
 
es soll angeben wo die datei gespeichert wird



Delphi-Quellcode:
  if saveDialog1.Execute then hier wird der dialog zum speicher aufgerufen
  begin
 lStream:=TFileStream.Create (SaveToFile(savedialog1.FileName), fmCreate or fmShareDenyNone);
try
   idHTTP1.Get(memo1.text, lStream);
 finally
   lStream.Free;
 end;
end;
end;
und mit (SaveToFile(savedialog1.FileName) will ich angeben das datei dort gespeichert wird

[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]

SirThornberry 9. Jan 2005 20:58

Re: problem beim download einer datei
 
schau dir mal die hilfe an! Es ist ein FileStream den du verwendest, und die hilfe wird dir sagen das dort einfach nur ein Dateiname angegeben werden muss (SaveToFile gibts ja auch nicht als einzelfunktion). Mit der Angabe des Filenames und dem parameter "fmCreate" gibst du ja schon an das die datei erstellt werden soll. Was ich auch nicht verstehe, warum man ein memo als url-eingabefeld nutzt. (nutz mal bitte die "Delphi-Code" tags)

Luckie 9. Jan 2005 20:59

Re: problem beim download einer datei
 
Delphi-Quellcode:
if saveDialog1.Execute then
begin
  lStream:=TFileStream.Create (savedialog1.FileName, fmCreate or fmShareDenyNone);
  try
    idHTTP1.Get(Memo1.text, lStream);
  finally
    lStream.Free;
  end;
end;
Probier es mal so. Und wenn du uns nicht endlich mal die Fehlermeldung nennst, dann bleibt das hier nur ein Rumgerate.

tester008 9. Jan 2005 21:00

Re: problem beim download einer datei
 
weiß den jemand wie ich eine datei downloaden kann wo sich der link in nen memo oder editfeld befindet und ich einen dialog bekomme wo ich die datei speichern möchte

Luckie 9. Jan 2005 21:01

Re: problem beim download einer datei
 
Siehe oben. Aber das funktioniert nur, wenn geneu eine Zeile mit der Url n dem Memo steht. Warum? Nähres dazu in der Hilfe zuz Tmemo.Lines und TMemo.Text.

SirThornberry 9. Jan 2005 21:01

Re: problem beim download einer datei
 
@luckie: Die Fehlermeldung war
Zitat:

(SaveToFile(savedialog1.FileName) undefinierter bezeichner
was ja auch veständlich an der stelle war

@tester008: genau das hat luckie gerade gepostet.

tester008 9. Jan 2005 21:09

Re: problem beim download einer datei
 
hab luckies code snip genommen

aber jetzt bekomm ich nen sokket fehler und zwar #10054

die verbindung wurde von peer zurückgesetzt

SirThornberry 9. Jan 2005 21:11

Re: problem beim download einer datei
 
ich vermute mal es liegt daran das du ein Memo nutzt. bei Memo.Text bekommst du mindestens einen Zeilenumbruch mit und der verursacht das eine ungültige url raus kommt. Benutz einfach ein normales TEdit und es sollte funktionieren.

tester008 9. Jan 2005 21:16

Re: problem beim download einer datei
 
habs jetzt in nen editfeld gemacht
wundert mich aber das es daran lag weil eigendlich
dürfte er dabei ja den zeilenumbruch nicht erkennen
warum ist das so?


daran lags jetzt updatet aber meine gauge nicht

Matze 9. Jan 2005 21:19

Re: problem beim download einer datei
 
Zitat:

Zitat von tester008
daran lags jetzt updatet aber meine gauge nicht

Und was sollen wir nun ohne Code dazu sagen?

SirThornberry 9. Jan 2005 21:20

Re: problem beim download einer datei
 
weil memo.. lines eine Stringliste ist. Bei .Text wird intern vermutlich nix anderes gemacht als
Delphi-Quellcode:
var LText: String;
    LCount: Integer;
begin
  LText := '';
  for LCount := 0 to count - 1 d
    LText := LText + strings[0] + #13#10;
was dazu führt das am ende immer noch der Zeilenumbruch dran hängt. Aber mal bissl nachgedacht-was bringt ein memo zur eingabe einer url? Eine url ist immer einzeilig und somit ist dies in konflikt mit der mehrzeiligkeit des memos.

tester008 9. Jan 2005 21:21

Re: problem beim download einer datei
 
[delphi]begin
Form1.Gauge1.Progress := 0;
Form1.Label1.Caption := 'Der Download wurde gestartet...';
if (UserCancel) then
begin
Result := E_ABORT;
exit;
end;
end;
BINDSTATUS_DOWNLOADINGDATA:
begin
Form1.Gauge1.Progress := MulDiv(ulProgress,100,ulProgressMax);
Form1.Label1.Caption := 'Datei wird heruntergeladen...';
if (UserCancel) then
begin
Result := E_ABORT; exit;
end;
end;[delphi]


was war mein alter source

da hatte ich noch urlmon benutzt


sorry aber ich weiß nicht wie ich das bei indy machen soll

SirThornberry 9. Jan 2005 21:26

Re: problem beim download einer datei
 
neue Frage = Neuer Thread (bzw. fehlt hier überhaupt noch was du wissen willst) und bitte die Delphi-Tags satzen (im Beitragseditor auf den Button "Delphi-Code" klicken, dann dein source schreiben und dann wieder auf "Delphi-Code" klicken)

tester008 9. Jan 2005 21:26

Re: problem beim download einer datei
 
@SirThornberry stimmt aber ich hatte mir gedacht das delphi
da keinen unterschied erkennt das das so ist darauf bin ich
nicht gekommen

ich wollte es einfach in nen memo haben damit man die ganze url
beim download besser sehen kann aber egal so gehts auch

SirThornberry 9. Jan 2005 21:28

Re: problem beim download einer datei
 
Wenn du unbedingt ein memo willst dann benutze einfaach noch StringReplace umd die Zeilenumbrüche zu ersetzen.
Delphi-Quellcode:
[...]
idHTTP1.Get(StringReplace(Memo1.Text, #13#10, '', [rfReplaceAll]), lStream);
[...]
und benutz mal die Hilfe bzw. die Suchfunktion des Forums, denn dein neues problem wurde bereits gelöst.

Matze 9. Jan 2005 21:29

Re: problem beim download einer datei
 
Aber bitte editiere deinen Beitrag und setze dir Delphi Tags und formatiere den Code gleich korrekt, so ist das keinem zumutbar.

Luckie 9. Jan 2005 21:29

Re: problem beim download einer datei
 
Kannst du ja auch, nur dann darfst du nicht die ERigneschfat Text des memos nehmen, denn stahen alle Zeilen des Memos drinne. Aber ich habe dir schon gesagt, wo du in der Hilfe nachgucken sollst.

Und bitte editier deinen vorletzten Eintrag und benutze die Delphi-Tags.

Luckie 9. Jan 2005 21:30

Re: problem beim download einer datei
 
Zitat:

Zitat von SirThornberry
Wenn du unbedingt ein memo willst dann benutze einfaach noch StringReplace umd die Zeilenumbrüche zu ersetzen.
Delphi-Quellcode:
[...]
idHTTP1.Get(StringReplace(Memo1.Text, #13#10, '', [rfReplaceAll]), lStream);
[...]

So dürfte er alle Urls im Memo in einer einzigen Zeile haben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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