AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Probleme bei Download auf delphilosen Pc
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei Download auf delphilosen Pc

Ein Thema von Jeff93 · begonnen am 28. Jul 2008 · letzter Beitrag vom 28. Jul 2008
Antwort Antwort
Jeff93

Registriert seit: 25. Mär 2008
Ort: Luxemburg
58 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Probleme bei Download auf delphilosen Pc

  Alt 28. Jul 2008, 16:47
i ist 5^^

habe hier mal einen neuen Code geschrieben, doch mein Programm läuft unsauber, die Form verwackelt und mein alter Pc geht dabei fast drauf, wo kann ich noch ein paar Code-Schnipsel zur Optimierung einbauen?

Delphi-Quellcode:
procedure Tfrm_InstallVocTrainer.bbtn_installClick(Sender: TObject);
var
  Target, UrlFile, Path : String;

  //Name eines Datei im Url-Pfad ausgeben
  function ExtractUrlFileName(Url:String) : String;
  var SPos : Integer;
  begin
    SPos := Pos('/', Url);
    if SPos <> 0 then
    begin
      Result := ExtractUrlFileName(Copy(Url, SPos+1, Length(Url)-1));
    end
    else
    begin
      Result := Url;
    end;
  end;

  //Fehlgeschlagener Download -> Exception auslösen
  function DownloadFile(AFrom, ATo : String) : Boolean;
  var
    Answer : Boolean;
  begin
    Result := True;
    Try
      UrlDownloadToFile(nil, Pchar(AFrom), PChar(ATo), 0, nil);
      Answer := FileExists(ATo);
      if not Answer then raise EDownloadError.Create('Der Download konnte nicht beendet werden');
    Except
      on E : EDownloadError do ShowMessage('Download fehlgeschlagen:'+#13#10+
                                           AFrom+' nach'+#13#10+ATo)
      else ShowMessage('Download fehlgeschlagen:'+#1310+AFrom+' nach'+#13#10+ATo);
      Result := False;
    End;
    Application.ProcessMessages;
  end;

procedure ReadIniFile(HelpIni : String);
  var
    Ini : TIniFile;
    loop, i : Integer;
    Answer : Boolean;
  begin
    Ini := TIniFile.Create(HelpIni);
    Try
      Memo1.Lines.Add('Download gestartet');
      Memo1.Lines.Add('');
      i := Ini.ReadInteger('D-Files','FCount', 0); //Wieviele Dateien
      for loop := 1 to i do
      begin
        UrlFile := Ini.ReadString('D-Files', 'File'+IntToStr(loop), '');
        Answer := DownloadFile(UrlFile, Path + ExtractUrlFileName(UrlFile));
        if Answer then
        begin
          Memo1.Lines.Add('Download erfolgreich');
        end
        else
        begin
          Memo1.Lines.Add('Download von '+UrlFile+' fehlgeschlagen');
        end;
      end;
    Finally
      Ini.Free;
    End;
  end;

begin
  Memo1.Clear;
  //leeres Edit abfangen
  if ed_InstallDir.Text= 'then
    ed_InstallDir.Text := GetProgDir;


  Path := IncludeTrailingBackslash(ed_InstallDir.Text)+'VokabelTrainer\';
  ForceDirectories(Path);
  if DownloadFile(HELPURL, Path+ExtractUrlFileName(HELPURL)) then
  begin
    Memo1.Lines.Add('Hilfsdatei heruntergeladen');
    ReadIniFile(Path+ExtractUrlFileName(HELPURl));
  end;
end;
Mfg, Jeff

Edit: Ich glaube das Problem war vorher dass der Ordner nicht angelegt war dies habe ich mit FoceDirectory behoben.
  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 17:57 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