Downloader - Speicherort wählen

  • Hallo Leute,

    ich habe mir einen sehr simplen Downlaoder gemacht nun möchte ich aber noch das ich wählen kann wohin die sachen gespeichert werden.
    Undzwar sieht mein kleiner Downloader so aus..

    [autoit]


    $vorher = 0
    $Refresh = 200 ;Zeit in Millisekunden wie oft das ganze refresht werden soll

    InetGet("http://mein-server.de/update/datei.exe", "datei.exe", 1, 1)
    While @InetGetActive
    $speed = ((@InetGetBytesRead - $vorher) / 1024) * (1000 / $Refresh)
    $vorher = @InetGetBytesRead
    TrayTip("Download der Datei", "MegaBytes = " & @InetGetBytesRead / 1024 &@CRLF&"Geschwindigkeit:" & $speed & " kb/s", 10, 16)
    Sleep($Refresh)
    Wend

    $vorher = 0
    InetGet("http://mein-server.de/update/datei.exe", "datei.exe", 1, 1)
    While @InetGetActive
    $speed = ((@InetGetBytesRead - $vorher) / 1024) * (1000 / $Refresh)
    $vorher = @InetGetBytesRead
    TrayTip("Download der Datei", "MegaBytes = " & @InetGetBytesRead / 1024 &@CRLF&"Geschwindigkeit:" & $speed & " kb/s", 10, 16)
    Sleep($Refresh)
    Wend
    MsgBox(48, "Download & Update","Der Download war Erfolgreich. Das Programm ist nun auf dem Neusten stand.")

    [/autoit]

    Einmal editiert, zuletzt von Zero2q (16. Dezember 2009 um 22:40)

  • Ich denke so wärs am einfachsten ;)


    [autoit]

    $pfad = FileSaveDialog( "Choose a name.", @Desktopdir, "All (*.*)", 2)
    InetGet("http://mein-server.de/update/datei.exe",$pfad, 1, 1)

    [/autoit]
  • Soweit so gut. Es muss nur der Datei name dabei sein.
    Sonst macht mir das ganze probs. weil die wo das dann benutzen keinen plan haben, was Sie eingeben müssen...

  • Was denn jetzt Speicherort oder Dateiname? Oder doch beides?^^

    Dateiname --> einfachster Weg führt wahrscheinlich über ne Inputbox
    Speicherort --> FileSelectFolder
    beides --> wie Schnitzel schon richtig sagte: FileSaveDialog

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Ich habe es so probiert, das prob war nur, das man ein Datei name eingeben musste und das sollte nicht sein.
    der Datei name sollte schon vorhanden sein und nicht änderbar sein wenn möglich.

  • Na dann so:

    [autoit]

    $dateiname = "hab_ich_kp_von.exe"
    $ort = FileSelectFolder("Speicherort auswählen", "")
    InetGet("http://mein-server.de/update/datei.exe",$ort&$dateiname, 1, 1)

    [/autoit]

    Edit:
    Du musst noch prüfen ob das letzte zeichen das FileSelectFolder ausgibt ein / (slash) ist, wenn nicht musst dus halt noch reinmachen

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Mach halt 'n FileDelete rein..

    [autoit]

    $dateiname = "hab_ich_kp_von.exe"
    $ort = FileSelectFolder("Speicherort auswählen", "",3,@ScriptDir)
    If Not @error Then
    FileDelete($ort&"\"&$dateiname)
    InetGet("http://mein-server.de/update/datei.exe",$ort&$dateiname, 1, 1)
    Else
    MsgBox(16,"","Kein Pfad ausgewählt!")
    EndIf

    [/autoit]

    //Edit: whoa, bin ich heut' langsam

  • Da muss ein fehler drin sein. Denn die datei wo geladen wird, benennt er nach dem Ordner um zu dem er die Datei läd.

    edit:

    so ist es richtig..

    [autoit]


    $dateiname = "Sender.urls"
    $ort = FileSelectFolder("Speicherort auswählen", "",3,@ScriptDir)
    If Not @error Then
    FileDelete($ort&"\"&$dateiname)
    InetGet("http://shop.cid-radio-chat.de/player/updates/Sender.urls",$dateiname, 1, 1)
    Else
    MsgBox(16,"","Kein Pfad ausgewählt!")
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von Zero2q (16. Dezember 2009 um 21:34)