1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Fliwatt

Beiträge von Fliwatt

  • InetGet sehr unzuverlässig

    • Fliwatt
    • 30. März 2013 um 13:06

    Das heisst ich muss auf diese "Unzuverlässigkeit" setzen, wenn ich dieses Feature noch mit drin haben will,
    oder ich mache es total unsauber und packe den Downloader extern in einen zweiten Prozess und der primäre Prozess überprüft dann die Dateigröße und gibt demnach etwas zurück.
    Das ist mir jedoch zu umständlich, ich bin ja nicht Chrome :)
    Ich werde dann wohl die Datei parten müssen.
    Dankeschön
    Fliwatt

  • InetGet sehr unzuverlässig

    • Fliwatt
    • 30. März 2013 um 12:08

    Ich habe diese InetGetInfo Befehle extra eingefügt um in späteren Updates eine ProgressBar für den Download einzuführen zu können.
    Ich habe mir gedacht, dass ich dieses Prinzip am Besten gleich sofort einführe, damit ich es ausführlich testen kann als dass ich dann in späteren Updates Probleme habe.
    Aber anscheinend hat es so seine Macken, wie könnte ich das mit dem Download Progress denn umsetzen ohne den letzten Parameter auf 1 zu setzen?

  • InetGet sehr unzuverlässig

    • Fliwatt
    • 29. März 2013 um 23:23

    Hi Leute,
    ich schreibe gerade ein Programm, welches Dateien von etwa 120MB aus einer Dropbox herunterlädt.
    Jedoch stoße ich dabei mit InetGet häufig auf das Problem, dass der Download häufig unvollständig ist.
    Beim Download der Datei mit einem "normalen" Browser (Firefox,Chrome etc.) habe ich keine Probleme.
    Mit kleinen Dateien über InetGet gibt es auch keine Probleme.
    Ich könnte natürlich auch den großen Download parten, das würde ich aber nur machen,wenn alle Stricke reißen.
    Meine aktuelle Funktion zum Download in den Temp:

    Spoiler anzeigen
    [autoit]


    Func _processDownload($sDownloadLink,$sTargettemp)
    Global $sfullpathtemp = @TempDir & "\" & $sTargettemp
    Local $sDownload = InetGet($sDownloadLink,$sfullpathtemp,1,1)
    Do
    sleep(200)
    Until InetGetInfo($sDownload, 2)
    If not FileExists($sfullpathtemp) Then
    $sDownload = InetGet($sDownloadLink,$sfullpathtemp,1,1)
    Do
    sleep(200)
    Until InetGetInfo($sDownload, 2)
    If Not FileExists($sfullpathtemp) Then
    MsgBox(48,"ERROR","Konnte Datei nicht vom Server herunterladen, Download abgebrochen")
    GUISetState(@SW_HIDE)
    GuiDelete($Form_main1)
    maintool()
    Elseif Not FileGetSize($sfullpathtemp) = InetGetSize($sDownloadLink) Then
    MsgBox(48,"ERROR","Datei konnte nach zwei Versuchen nicht vollständig heruntergeladen werden, Download abgebrochen")
    GUISetState(@SW_HIDE)
    GuiDelete($Form_main1)
    maintool()
    EndIf
    Elseif Not FileGetSize($sfullpathtemp) = InetGetSize($sDownloadLink) Then
    $sDownload = InetGet($sDownloadLink,$sfullpathtemp,1,1)
    Do
    sleep(200)
    Until InetGetInfo($sDownload, 2)
    If Not FileExists($sfullpathtemp) Then
    MsgBox(48,"ERROR","Konnte Datei nicht vom Server herunterladen, Download abgebrochen")
    GUISetState(@SW_HIDE)
    GuiDelete($Form_main1)
    maintool()
    Elseif Not FileGetSize($sfullpathtemp) = InetGetSize($sDownloadLink) Then
    MsgBox(48,"ERROR","Datei konnte nach zwei Versuchen nicht vollständig heruntergeladen werden, Download abgebrochen")
    GUISetState(@SW_HIDE)
    GuiDelete($Form_main1)
    maintool()
    EndIf
    EndIf
    Return $sfullpathtemp
    EndFunc

    [/autoit]


    Das Seltsame dabei ist, dass er nicht erkennt, dass die Datei kaputt ist sondern es erst das Entpackprogramm bemerkt. (7z)
    Wie kann ich die Funktion optimieren, damit solche Probleme nicht auftreten und wo liegt mein Fehler?
    Hoffentlich könnt ihr mir helfen
    Mfg Fliwatt

  • Kopierbefehl abfangen

    • Fliwatt
    • 10. März 2013 um 15:58

    Oder so zum Beispiel um immer den gleichen Wert in der Zwischenablage zu erlangen:

    Spoiler anzeigen
    [autoit]


    $Text = 'Beliebiger Text'
    While 1
    If Not ClipGet() = $Text Then ClipPut($Text)
    sleep(200)
    Wend

    [/autoit]
  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 10. März 2013 um 14:51

    Hab es noch mal hochgeladen
    LINK
    Window Info Summary

    Spoiler anzeigen
    Code
    >>>> Window <<<<
    Title:	Willkommen
    Class:	GLBSWizard
    Position:	710, 341
    Size:	483, 360
    Style:	0x94C80080
    ExStyle:	0x00000101
    Handle:	0x000000000002192C
    
    
    >>>> Control <<<<
    Class:	Button
    Instance:	1
    ClassnameNN:	Button1
    Name:	
    Advanced (Class):	[CLASS:Button; INSTANCE:1]
    ID:	3
    Text:	&Weiter>
    Position:	301, 301
    Size:	73, 23
    ControlClick Coords:	37, 12
    Style:	0x50010001
    ExStyle:	0x00000004
    Handle:	0x000000000002193C
    
    
    >>>> Mouse <<<<
    Position:	1051, 679
    Cursor ID:	0
    Color:	0xF0F0F0
    
    
    >>>> StatusBar <<<<
    
    
    >>>> ToolsBar <<<<
    
    
    >>>> Visible Text <<<<
    &Weiter>
    Abbrechen
    Willkommen im Installationsprogramm für Siege of Avalon Chapter 1+. Dieses Programm installiert  Siege of Avalon Chapter 1+ auf Ihrem Computer.
    Wir empfehlen nachdrücklich, vor Ausführen dieses Installationsprogramms alle Windows-Programme zu beenden. 
    
    
    Auf Abbrechen klicken, um die Installation zu beenden und alle laufenden Programme zu schließen. Auf Weiter klicken, um mit dem Installationsprogramm zu beginnen.
    
    
    WARNUNG: Dieses Programm ist urheberrechtlich sowie durch internationale Verträge geschützt. 
    
    
    Die unzulässige Vervielfältigung oder Verbreitung dieses Programms, ob ganz oder auszugsweise, kann schwere zivil- und strafrechtliche Konsequenzen nach sich ziehen und wird unter voller Ausschöpfung der Rechtsmittel geahndet.
    
    
    
    
    >>>> Hidden Text <<<<
    Alles anzeigen


    Der Text ist nicht mehr aktuell, das erste Kapitel wurde kostenlos zur Vervielfältigung freigegeben
    Fliwatt

  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 10. März 2013 um 11:21

    Ich will ein Setup von einem Spiel namens Siege of Avalon, erstes Kapitel "manipulieren".
    Die Sachen, die ich manipulieren will, sind ganz normale Buttons in einem Fenster und er sollte noch etwas in ein Edit Feld schreiben. Die AutoIT3 Summary kommt bald, ich bin gerade noch an einem anderen Rechner

  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 9. März 2013 um 20:11

    Und wieso geht dann dieser Script nicht, wenn das Datum und Uhrzeit Fenster nicht(!) ausgewählt ist, aber offen?

    [autoit]


    sleep(1000)
    ControlClick("Datum und Uhrzeit","","[CLASS:Button; INSTANCE:1]")
    sleep(1000)
    Exit

    [/autoit]
  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 8. März 2013 um 19:47

    Das Problem ist, dass ControlClick keine Bedienung im Hintergrund erlaubt

  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 7. März 2013 um 21:53

    PUSH

  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 26. Februar 2013 um 19:59

    Dankeschön, aber der Mod ist nicht von mir,
    ich habe mal BlockInput gegoogelt und damit geht es ganz einfach, aber eleganter wäre es, wenn der User seinen PC in den 3 Minuten auch weiter benutzen könnte.
    Fliwatt

  • Fenster im Hintergrund bedienen

    • Fliwatt
    • 26. Februar 2013 um 18:14

    Hi Leute,
    ich arbeite gerade an einem Mod Tool für ein etwas älteres Spiel (Siege of Avalon) und bin dabei auf ein Problem gestoßen:
    Ich will dem Nutzer die Möglichkeit geben, die Mods zu installieren, selbst wenn er nicht Siege of Avalon besitzt.
    Das erste Kapitel von Siege of Avalon gibt es legal kostenlos zum Download und dieses wird auch für die Mods benötigt.
    Ich will jedem Nutzer die Möglichkeit bieten, diese Mods zu spielen, deshalb habe ich die Möglichkeit der Installation von Siege of Avalon in meinen Mod-Tool Installer integriert.
    Das Problem ist, dass die einzelnen Spieldateien nur von dem Installer installiert werden dürfen. Wenn man die Dateien anderweitig weitergibt verstößt dies gegen die Lizenzbedingungen.
    Also habe ich ein kleines Programm programmiert, welches im Installer die entsprechenden Boxen anklickt.
    Jedoch darf man, während das Programm klickt, den PC nicht bedienen, das ist ein Handicap.
    Wie kann ich es hinbekommen, dass das Programm im Hintergrund die entsprechenden Dinger anklickt?
    Ich habe unter anderem ein kleines Edit-Feld, in welches eine Variable eingetragen wird (Installations-Path), das sollte möglichst auch im Hintergrund laufen.
    Vieleicht wisst ihr eine Lösung
    Mfg Fliwatt

  • Taskleiste blendet sich mit Fenster zusammen ein

    • Fliwatt
    • 23. Februar 2013 um 00:56

    Ich empfehle dir als GUI Style $WS_POPUP zu nehmen,
    eine Vollbild GUI ohne Taskleiste würde dann so aussehen:

    [autoit]


    GUICreate("",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP)

    [/autoit]


    Fliwatt

  • Problem mit GuiCtrlCreateAvi

    • Fliwatt
    • 22. Februar 2013 um 23:25

    Danke für die Antwort, diese Variante geht gut, aber ich habe es jetzt auch schon mit Windows Media Player programmiert,
    Problem gelöst
    Fliwatt

  • Problem mit GuiCtrlCreateAvi

    • Fliwatt
    • 22. Februar 2013 um 16:09

    In Ordnung, aber wie wandele ich die .avi Datei in eine lauffähige Datei um?
    Ich habe es jetzt mit diesem Script probiert:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Example()

    [/autoit] [autoit][/autoit] [autoit]

    Func Example()
    Local $ani1, $buttonstart, $buttonstop, $msg

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Meine GUI-Animation", 360, 200)
    $ani1 = GUICtrlCreateAvi(FileOpenDialog("","","Video Files(*.avi)"), 0, 50, 10)

    [/autoit] [autoit][/autoit] [autoit]

    $buttonstart = GUICtrlCreateButton("Start", 95, 150, 70, 22)
    $buttonstop = GUICtrlCreateButton("Stopp", 195, 150, 70, 22)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    ; Die Schleife wiederholt sich, bis der Benutzer eine Beenden-Aktion auslöst
    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $buttonstart
    GUICtrlSetState($ani1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    Case $msg = $buttonstop
    GUICtrlSetState($ani1, 0)

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    WEnd
    EndFunc

    [/autoit]


    Und in das jeweils .avi Dateien von dem Codec MJEPG, XVID, und DIVX, es kommt immer die Fehlermeldung:

    Code
    D:\XXXXXX\XXXXXX\XXXXXXXX.AVI ist entweder nicht für die Ausführung unter Windows vorgesehen oder enthält einen Fehler. Installieren sie das Progreamm mit den Originalinstallationsmedien erneut, oder wenden Sie sich an den Systemadministrator oder Softwarelieferanten, um Unterstützung zu erhalten


    Welchen Codec benötigt man denn, damit es in GuiCtrlCreateAvi funktioniert?
    Fliwatt

  • Problem mit GuiCtrlCreateAvi

    • Fliwatt
    • 21. Februar 2013 um 21:14

    Dankeschön für den Link, aber ich habe mir selbstverständlich schon die Dokumentation durchgelesen, ich habe nur hier im Script-Post das Include vergessen,
    aber in meinem Script ist es:
    So geht es immer noch nicht:

    Spoiler anzeigen
    [autoit]


    #include <AVIConstants.au3>
    $GUI = GUICreate("",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP)
    $avi = GUICtrlCreateAvi(FileOpenDialog("","","Video Files(*.avi)"),0,0,0,@DesktopWidth,@DesktopHeight,$ACS_TRANSPARENT,$ACS_AUTOPLAY)
    GUISetState(@SW_SHOW)
    while 1
    wend

    [/autoit]


    Ich benutze Windows 7 64-bit, der .avi Codec ist XviD ISO MPEG-4, ich weiss nicht, was du mit Ur-Avi meinst, das Programm spielt einfach nur eine 52 sek Avi, die Auflösung der Datei ist übrigens, genau wie meine Bildschirmauflösung: 1920x1080
    Fliwatt

  • Script lässt Dateien aus

    • Fliwatt
    • 21. Februar 2013 um 19:28

    Mein Funktionsaufruf sieht zum Beispiel folgendermaßen aus(es gibt in diesem Script mehrere):

    Spoiler anzeigen


    Global $MainSoAPath = IniRead("ModToolConfig.ini","main","MainSoAPath","error")
    Global $BackupPath = IniRead("ModToolConfig.ini","main","BackupPath",@ScriptDir & "\BackupFiles")
    _DirCopyBackupNoSaves($BackupPath & "\poa",$MainSoAPath,$BackupPath & "\soa")


    Fliwatt

  • Problem mit GuiCtrlCreateAvi

    • Fliwatt
    • 21. Februar 2013 um 19:26

    Hi Leute,
    ich habe ein kleines Problem mit GuiCtrlCreateAvi, es spielt das Video einfach nicht ab, obwohl ich als Parameter $ACS_AUTOPLAY gesetzt habe, benötige ich zum abspielen irgendeinen Codec?
    Wenn ja, wie kann ich diesen per Script installieren?
    Die verwendete Datei war selbstverständlich eine .avi Datei
    Vieleicht findet ihr den Fehler.
    Script:

    Spoiler anzeigen
    [autoit]


    $GUI = GUICreate("",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP)
    $avi = GUICtrlCreateAvi(FileOpenDialog("","","Video Files(*.avi)"),0,0,0,@DesktopWidth,@DesktopHeight,$ACS_TRANSPARENT,$ACS_AUTOPLAY)
    GUISetState(@SW_SHOW)
    while 1
    wend

    [/autoit]


    Fliwatt

  • Script lässt Dateien aus

    • Fliwatt
    • 18. Februar 2013 um 21:35

    Hi Leute,
    ich erwecke diesen Thread einmal wieder von den toten, weil ich wieder ein ähnliches Problem habe
    Das Script lässt schon wieder Dateien aus, ich habe einfach nur ein "games" beim weglassen eingefügt, aber jetzt kopiert das Programm nur die Dateien, erstellt jedoch kein entsprechendes Backup der Dateien.
    Vieleicht könnt ihr mir noch einmal helfen.
    Script:

    Spoiler anzeigen
    [autoit]


    #region Rekursive Ordnerauflistung Funktion
    #include <Array.au3>
    #include <File.au3>
    #include <Crypt.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;*******************************************************************************************************************************************************************************************************************************************
    ; Funktion _ordner_rekursiv($udf_quellordner[, $udf_Ordner_Dateien[, $udf_unterordner=True[, $udf_spalte_datum=False[, $udf_dateityp = "*"[, $udf_auslassen = ""]]]]])
    ; Beschreibung ermittelt alle Dateien/Ordner des angegebenen Verzeichnisses
    ; Parameter $udf_quellordner: der zu durchsuchende Ordner (Angabe: einzelner Ordner als String oder mehrere Ordner im Array beginnend bei 1)
    ; optional $udf_Ordner_Dateien: 1 = Dateien auflisten (Standard) 2 = Ordner auflisten
    ; optional $udf_unterordner: True = Unterordner miteinbeziehen (Standard) False = Unterordner nicht miteinbeziehen
    ; optional $udf_spalte_datum: True = Änderungsdatum der Datei ermitteln False = Änderungsdatum der Datei nicht ermitteln (Standard)
    ; optional $udf_dateityp: einzuschließende Dateitypen (mehrere Typen durch | trennen) "*" >>> alle (Standard)
    ; optional $udf_auslassen: Wörter, die im Pfad oder Dateinamen vorkommen, auslassen (mehrere durch | trennen) "" <<< Standard
    ; Rückgabewert Erfolg: Gibt ein Array mit 3 Spalten zurück (Dateiname, Dateipfad, Änderungsdatum)
    ; Fehler: 0 setzt @error
    ; @error = 1 mindestens 1 Pfad existiert nicht
    ; Autor Tweaky (http://www.autoit.de)
    ;*******************************************************************************************************************************************************************************************************************************************

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;********************************************
    ; Ordner rekursiv (Hauptfunktion) *
    ;********************************************

    [/autoit] [autoit][/autoit] [autoit]

    Func _ordner_rekursiv($udf_quellordner, $udf_Ordner_Dateien = 1, $udf_unterordner = True, $udf_spalte_datum = False, $udf_dateityp = "*", $udf_auslassen = "")
    Local $verzeichnisse_alle[1] ;Array für die Ordner
    Local $array_alles[1000000][3] ;Array für die Ordner und Dateien
    Local $szDrive, $szDir, $szFName, $szExt

    [/autoit] [autoit][/autoit] [autoit]

    If Not IsArray($udf_quellordner) Then ;Falls der Quellordner kein Array ist, ein Array erstellen
    $udf_quellordner_tmp = $udf_quellordner
    Dim $udf_quellordner[2]
    $udf_quellordner[0] = 1
    $udf_quellordner[1] = $udf_quellordner_tmp
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($udf_quellordner) - 1
    If Not FileExists($udf_quellordner[$i]) Or Not StringInStr($udf_quellordner[$i], ":") Then
    SetError(1) ;mindestens 1 Pfad existiert nicht
    Return 0
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If StringRight($udf_quellordner[$i], 1) <> "\" Then $udf_quellordner[$i] &= "\"

    [/autoit] [autoit][/autoit] [autoit]

    $udf_quellordner_einzeln = $udf_quellordner[$i]

    [/autoit] [autoit][/autoit] [autoit]

    If $udf_unterordner = True Then ;mit Unterordner
    _ordner_rekursiv_mit_unterordner($udf_quellordner_einzeln, $verzeichnisse_alle)
    _ArrayAdd($verzeichnisse_alle, $udf_quellordner_einzeln)
    Else ;ohne Unterordner
    $verzeichnisse_alle = $udf_quellordner
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($verzeichnisse_alle) Then $verzeichnisse_alle[0] = UBound($verzeichnisse_alle) - 1 ;In die erste Zeile die Anzahl der Dateien schreiben

    [/autoit] [autoit][/autoit] [autoit]

    $zaehler_fortlaufend = 0

    [/autoit] [autoit][/autoit] [autoit]

    If $udf_Ordner_Dateien = 1 Then ;Dateien auflisten

    [/autoit] [autoit][/autoit] [autoit]

    If Not IsArray($verzeichnisse_alle) Then
    $verzeichnisse_alle_tmp = $verzeichnisse_alle
    Local $verzeichnisse_alle[2] ;Array für die Ordner
    $verzeichnisse_alle[1] = $verzeichnisse_alle_tmp
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    For $u = 1 To UBound($verzeichnisse_alle) - 1
    $array_alle_dateien = _FileListToArray($verzeichnisse_alle[$u], "*", 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $k = 1 To UBound($array_alle_dateien) - 1
    $kriterien_ok = 0

    [/autoit] [autoit][/autoit] [autoit]

    If $udf_dateityp = "*" Then ;Dateityp nicht angegeben oder alle Dateien
    $kriterien_ok = 1
    Else ;1 oder mehrere Dateitypen angegeben
    $dateityp_split = StringSplit($udf_dateityp, "|")
    $udf_dateiendung_array = _PathSplit($array_alle_dateien[$k], $szDrive, $szDir, $szFName, $szExt)
    $udf_dateiendung = $udf_dateiendung_array[4]
    For $i = 1 To UBound($dateityp_split) - 1
    If "." & $dateityp_split[$i] = StringRight($array_alle_dateien[$k], StringLen($udf_dateiendung)) Then
    $kriterien_ok = 1
    ExitLoop
    EndIf
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $udf_auslassen <> "" Then ;Wörter in dem Pfad und Datei auslassen
    $auslassen_split = StringSplit($udf_auslassen, "|")
    For $i = 1 To UBound($auslassen_split) - 1
    If StringInStr($array_alle_dateien[$k], $auslassen_split[$i]) Or StringInStr($verzeichnisse_alle[$u], $auslassen_split[$i]) Then
    $kriterien_ok = 0
    ExitLoop
    EndIf
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Papierkorb und System Volume Information wird nicht aufgelistet
    If StringInStr($array_alle_dateien[$k], 'RECYCLER') Or StringInStr($verzeichnisse_alle[$u], 'RECYCLER') _
    Or StringInStr($array_alle_dateien[$k], 'RECYCLED') Or StringInStr($verzeichnisse_alle[$u], 'RECYCLED') _
    Or StringInStr($array_alle_dateien[$k], 'System Volume Information') Or StringInStr($verzeichnisse_alle[$u], 'System Volume Information') _
    Or StringInStr($array_alle_dateien[$k], '$RECYCLE.BIN') Or StringInStr($verzeichnisse_alle[$u], '$RECYCLE.BIN') Then
    $kriterien_ok = 0
    ExitLoop
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;wenn der Dateityp passt und die Datei bzw. der Ordner nicht ausgelassen werden soll
    If $kriterien_ok = 1 Then
    $zaehler_fortlaufend += 1
    $array_alles[$zaehler_fortlaufend][0] = $verzeichnisse_alle[$u]
    $array_alles[$zaehler_fortlaufend][1] = $array_alle_dateien[$k]
    If $udf_spalte_datum = True Then $array_alles[$zaehler_fortlaufend][2] = FileGetTime($verzeichnisse_alle[$u] & $array_alle_dateien[$k], 0, 1)
    EndIf
    Next
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Else ;Ordner auflisten
    For $i = 1 To UBound($verzeichnisse_alle) - 1
    $kriterien_ok = 1

    [/autoit] [autoit][/autoit] [autoit]

    ;Papierkorb und System Volume Information wird nicht aufgelistet
    If StringInStr($verzeichnisse_alle[$i], 'RECYCLER') Or StringInStr($verzeichnisse_alle[$i], 'RECYCLED') _
    Or StringInStr($verzeichnisse_alle[$i], 'System Volume Information') Or StringInStr($verzeichnisse_alle[$i], '$RECYCLE.BIN') Then
    $kriterien_ok = 0
    ExitLoop
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $kriterien_ok = 1 Then
    $zaehler_fortlaufend += 1
    $array_alles[$zaehler_fortlaufend][0] = $verzeichnisse_alle[$i]
    EndIf
    Next
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    ;Leere Zeilen am Ende löschen
    ReDim $array_alles[$zaehler_fortlaufend + 1][3]

    [/autoit] [autoit][/autoit] [autoit]

    ;In die erste Zeile die Anzahl der Dateien schreiben
    If IsArray($array_alles) Then $array_alles[0][0] = UBound($array_alles) - 1

    [/autoit] [autoit][/autoit] [autoit]

    $verzeichnisse_alle = 0 ;Array löschen

    [/autoit] [autoit][/autoit] [autoit]

    Return $array_alles ;Array zurückgeben
    EndFunc ;==>_ordner_rekursiv

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;**************************************
    ; Unterordner durchsuchen *
    ;**************************************

    [/autoit] [autoit][/autoit] [autoit]

    Func _ordner_rekursiv_mit_unterordner($udf_quellordner, ByRef $verzeichnisse_alle)
    $verzeichnisse = _FileListToArray($udf_quellordner, "*", 2)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To UBound($verzeichnisse) - 1
    $verzeichnisse[$i] = $udf_quellordner & $verzeichnisse[$i] & "\"
    _ArrayAdd($verzeichnisse_alle, $verzeichnisse[$i])
    _ordner_rekursiv_mit_unterordner($verzeichnisse[$i], $verzeichnisse_alle)
    Next
    EndFunc ;==>_ordner_rekursiv_mit_unterordner
    #endregion Rekursive Ordnerauflistung Funktion
    Func _DirCopyBackupNoSaves($sSource,$sTarget,$sBackupFolder)
    Local $iCounterDirCopyBackup = 1
    Local $iCounterDirCopyBackup2 = 1
    Local $fFound = 0
    Local $aSourceRekursiv = _ordner_rekursiv($sSource,1,True,False,"*","games")
    Local $aTargetRekursiv = _ordner_rekursiv($sTarget,1,True,False,"*","games")
    For $iCounterDirCopyBackup = 1 To UBound($aSourceRekursiv) - 1
    For $iCounterDirCopyBackup2 = 1 To UBound($aTargetRekursiv) - 1
    If StringTrimLeft($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], StringLen($sSource)) = StringTrimLeft($aTargetRekursiv[$iCounterDirCopyBackup2][0] & $aTargetRekursiv[$iCounterDirCopyBackup2][1], StringLen($sTarget)) Then
    If _Crypt_HashFile($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], $CALG_MD5) <> _Crypt_HashFile($aTargetRekursiv[$iCounterDirCopyBackup2][0] & $aTargetRekursiv[$iCounterDirCopyBackup2][1], $CALG_MD5) Then
    FileCopy($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], $sBackupFolder & StringTrimLeft($aTargetRekursiv[$iCounterDirCopyBackup2][0] & $aTargetRekursiv[$iCounterDirCopyBackup2][1], StringLen($sTarget)), 9)
    FileCopy($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], $aTargetRekursiv[$iCounterDirCopyBackup2][0] & $aTargetRekursiv[$iCounterDirCopyBackup2][1], 1)
    $fFound = 1
    Else
    $fFound = 1
    EndIf
    EndIf
    Next
    If $fFound = 0 Then
    FileCopy($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], $sTarget & StringTrimLeft($aSourceRekursiv[$iCounterDirCopyBackup][0] & $aSourceRekursiv[$iCounterDirCopyBackup][1], StringLen($sSource)), 9)
    Else
    Local $fFound = 0
    EndIf
    Next
    Return $aSourceRekursiv[0][0]
    _Crypt_Shutdown()
    EndFunc

    [/autoit]


    Fliwatt

  • Liniendiagramm erstellen

    • Fliwatt
    • 23. Januar 2013 um 19:52

    Danke minx,
    ich benutze jetzt die NON-GDI Variante von dem Script, jedoch habe ich es noch nicht so recht verstanden:
    Wie füge ich jetzt meinen Graphen ein und wie bekomme ich es hin, dass an den Achsen Markierungen sind, muss ich das von Hand mit Labels machen?
    Code bis jetzt:

    [autoit]


    #include <GUIConstants.au3>
    #include "Graph UDF.au3"
    #Include <File.au3>
    FileWrite("a.txt",Random(1,30,1) & @CRLF & Random(1,30,1) & @CRLF & Random(1,30,1)) ; Nur fürs Testen des Scripts
    Local $array[_FileCountLines("a.txt")]
    _FileReadToArray("a.txt",$array)
    $Gui = GUICreate("Graf der Parabel",600,600)
    GUISetState(@SW_SHOW)
    $Graph = _Graph_Create(0,0,590,590)
    While 1
    If GUIGetMsg($Gui) = $GUI_EVENT_CLOSE Then Exit
    sleep(100)
    WEnd

    [/autoit]


    Fliwatt

  • Liniendiagramm erstellen

    • Fliwatt
    • 22. Januar 2013 um 18:41

    Ich habe mir mal die Variante aus dem Thread von progandy herausgesucht, jedoch verstehe ich noch nicht, wie ich dort meine Werte einfüge,
    immer wenn ich etwas in der Dim verändere, kommen skurrile Werte heraus.
    Wie muss ich die Variable anpassen und was bedeuten die beiden Werte?
    Benutzung für das Programm:
    Ich habe verschiedene Nutzungszeiten eines Computers pro Session und will diese grafisch darstellen.
    Fliwatt

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™