Muss man nicht, aber es ist angemessen. So kann man einfache Fehler vermeiden. Allerdings gilt KDeluxe´s Methode nur für die ersten fünf bzw. überhaupt nur für die Dateien, die den Namen "testdatei" entsprechen. So ist man unflexibel. Eine vielleicht etwas einfachere Variante wäre dann wohl diese:
Code:
#include <String.au3>
Local $DownloadUrl = "Downloadurlauseinemftpserver"
Local $url = "deinhtmldokument"
Local $szData = BinaryToString (InetRead ($url))
Local $szUserDownloadPanel = _StringBetween ($szData, "<Dokumente>", "</Dokumente>")
Global $szDocument, $hStatus = 0
if IsArray ($szUserDownloadPanel) And $szUserDownloadPanel[0] <> "" Then
$szDocument = StringSplit($szUserDownloadPanel[0], "|")
if IsArray ($szDocument) Then
Local $hInput = InputBox ("Datei","Geben Sie einen Dateinamen ein!")
if $hInput <> "" Then
For $i = 0 to UBound ($szDocument)
if $hInput = $szDocument[$i] Then
$hStatus = 1
ExitLoop
Else
MsgBox (46,"Fehler","Datei konnte nicht gefunden werden, oder Sie haben nicht die benötigte Rechte!", 5)
Exit
EndIf
Next
Local $hDownload = InetGet ($DownloadUrl, $FileName, 1+8, 1)
if not @error Then
While True
Local $szDownloadInfo = InetGetInfo ($hDownload)
if IsArray ($szDownloadInfo) and $szDownloadInfo[2] = True Then
MsgBox (64,"Info","Download wurde erfolgreich abgeschlossen!")
Exit
EndIf
WEnd
EndIf
EndIf
EndIf
EndIf
Das musst du natürlich ebenfalls mit einem .html Dokument verknüfpen. Es gibt noch weite Möglichkeiten, habe aber momentan wenig Zeit (wegen meiner Ausbildung), um diese aufzuzählen bzw. zeigen. Habe das ganze auf die schnelle gemacht, deshalb hoffe ich, dass es keine Fehler gibt :)
Achja, das ganze sollte inetwa so aussehen. #.html Dokumet
Code:
<Dokumente>Datei1.txt|Datei2.txt|blödsinn.txt|pipapo.txt|binNunflexibel.exe</Dokumente>
So kannst du bestimmen, was User downloaden können und was nicht.