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. qon

Beiträge von qon

  • i=zufall

    • qon
    • 16. März 2010 um 15:03

    Hi,

    Schau dir mal die Funktion Random in der (deutschen) Hilfe an.

    Greetz

  • FTP-Uploader

    • qon
    • 15. März 2010 um 21:14

    Hi,

    sieht gut aus :)
    Du kannst ja noch eine Funktion einbauen, dass du einen Kontextmenü-Eintrag von Windows ( also eben Rechtsklick auf irgendeine Datei ) erstellst,
    wo dann steht: Hochladen zu FTP,
    und dann läd er eben die ausgewählten Dateien zu einem vorher eingestellten FTP hoch,
    das wäre super praktisch:)

    Hier mal ein Beispiel, wo ich diesen Kontext-Menü Eintrag erstellt hatte, aber eben um ein BMP einfach in ein JPG umzuwandeln.
    Man muss das Skript erst einmal ausführen, damit der Eintrag erstellt wird ( es muss aber vorher compilet werden, da dann die Registry auf diese Exe zugreift ).

    Code:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=..\ICO's\shell32-217(48-32).ICO
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GDIPlus.au3>

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

    If $CmdLine[0] = 0 Then
    $ProgPath = @ScriptFullPath
    msgbox(0,"installed","installed: menu entry created!")
    RegWrite("HKEY_CLASSES_ROOT\*\shell\Convert to JPG\command", "", "REG_SZ", '"' & $ProgPath & '" "%1"')
    Exit
    EndIf

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

    $ImagePath = $CmdLine[1]
    _BmpToJpg($ImagePath)

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

    Func _BmpToJpg($filename)
    ; GDI+ initialisieren.
    _GDIPlus_Startup()
    ; falls mehrere Dateien mit FileOpenDialog ausgewählt wurden ...
    If StringInStr($filename, '|') Then
    $aFilenames = StringSplit($filename, '|')
    For $i = 1 To $aFilenames[0]
    ; Handle zu Imageobjekt erhalten.
    $hImg = _GDIPlus_ImageLoadFromFile($filename)
    ; Imageobjekt als Bitmapdatei abspeichern.
    _GDIPlus_ImageSaveToFile($hImg,StringTrimRight($filename ,3)& "jpg")
    ; Imageobjekt auflösen.
    _GDIPlus_ImageDispose($hImg)
    Next
    ; ... falls nicht.
    Else
    ; Handle zu Imageobjekt erhalten.
    $hImg = _GDIPlus_ImageLoadFromFile($filename)
    ; Imageobjekt als Bitmapdatei abspeichern.
    _GDIPlus_ImageSaveToFile($hImg,StringTrimRight($filename ,3)& "jpg")
    ; Imageobjekt auflösen.
    _GDIPlus_ImageDispose($hImg)
    EndIf
    ; GDI+ beenden.
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]

    Greetz

  • Ordner Synchronisation

    • qon
    • 15. März 2010 um 20:37
    Zitat von dph_dph

    selber volltrottel!!!!

    ansonsten nice prog
    habs zwar noch net ausprobiert aber ich hatte ja die idee :P und wenn es klappt MUSS es gut sein.


    Danke^^
    Ja dann probier es mal aus, schließlich hast du ja danach gefragt :P

  • Ordner Synchronisation

    • qon
    • 15. März 2010 um 20:16

    Hi,

    wollte hier mal ein Programm von mir vorstellen, was ich vor nicht allzu langer Zeit geschrieben habe.
    Es heisst:

    Ordner Synchronisation (Version 1.2 Beta)

    Kurz gesagt wozu es dient:
    Es synchronisiert zwei Ordner ( Zielordner mit Quellordner, wobei Quellordner der Ordner auf dem neusten Stand sein soll ) unter angegebenen Optionen,
    die da wären:
    Synchronisiere neue Dateien (kopiere neue Quelldatei nach Zielordner)
    Synchronisiere veränderte Dateien (ersetze Zieldatei mit Quelldatei wenn unterschiedlich)
    Synchronisiere gelöschte Dateien (lösche Zieldatei wenn Quelldatei gelöscht wurde)

    Er Synchronisiert anhand der Größe zweier Dateien oder dem Datum.

    Es wird vor dem eigentlichen Vorgang eine Liste mit den Aktionen erstellt, welche man dann bearbeiten kann.
    Es ist auch möglich, Synchronisationsshortcuts zu erstellen, um mit einem Klick zu synchroniseren.
    Was praktisch ist: Man kann auch mit Netzwerkpfaden und natürlich USB-STicks oder sonst etwas synchronisieren.

    Für eine ausführlichere Erläuterung im Programm unter "Hilfe" schauen oder hier lesen:

    Spoiler anzeigen

    Ordner Synchronisation Hilfe 1.2 Beta


    1.0 Ordnertypen

    1.1 Was ist der Zielordner?
    Der Zielordner ist der Ordner, der bei der Synchronisation bearbeitet wird.
    In dem Zielordner werden beispielsweise Dateien ersetzt, wenn in dem Quellordner
    eine andere/neue Datei vorliegt. der Zielordner ist also der 'veraltete' Ordner,
    welcher aktualisiert wird. Auch Netzwerk-Ordner oder Datenträger wie
    USB-Stick's / externe Festplatten werden unterstützt.

    1.2 Was ist der Quellordner?
    Der Quellordner ist der Ordner, der dem Zielordner die (aktuelleren) Daten lieftert,
    damit der Zielordner sich aktualisieren kann. Auch Netzwerk-Ordner oder Datenträger wie
    USB-Stick's / externe Festplatten werden unterstützt.


    2.0 Optionen

    2.1 Synchronisiere neue Dateien
    Diese Option bewirkt, dass Dateien, die im Quellordner vorhanden sind,
    im Zielordner allerdings nicht, vom Quellordner in den Zielordner kopiert werden.
    Diese Option sollte Bestandteil einer Synchronisation sein,
    um sich so die neusten Dateien aus dem Quellordner zu kopieren.

    2.2 Synchronisiere veränderte Dateien
    Diese Option bewirkt, dass wenn eine Datei in beiden Ordnern vorhanden ist,
    die Datei aus dem Quellordner die Datei aus dem Zielordner überschreibt.
    Somit werden Dateien aktualisiert, und zwar die 'alte' Datei aus dem Zielordner
    wird mit der neuen Datei aus dem Quellordner ersetzt.

    2.3 Synchronisiere gelöschte Dateien
    Diese Option bewirkt, dass Dateien, die im Zielordner vorhanden sind,
    im Quellordner allerdings nicht, im Zielordner gelöscht werden.
    Diese Option sollte vorsichtig verwendet werden, da sie Dateien
    aus dem Zielordner löschen könnte, die eventuell noch benötigt werden.


    3.0 Log-Dateien

    3.1 Logdateien Speichern
    Sie können im Menü unter dem Menüpunkt Erweitert -> Logs -> Logs erstellen entscheiden,
    ob Log-Dateien angelegt werden sollen oder nicht. Eine Log-Datei wird
    nach jeder Synchronisation angelegt, und beinhaltet alle Aktionen die getätigt wurden.

    3.2 Logdateien Speicherpfad
    Unter dem Menüpunkt Erweitert -> Logs -> Log Speicherpfad den Pfad, wo die
    Log Dateien gespeichert werden sollen, bestimmen. Der aktuelle log Speicherpfad
    steht in Klammern.


    4.0 Synchronisations-Shortcuts

    4.1 Was ist ein Synchronisations-Shortcut?
    Ein Synchronisations-Shortcut ist eine Datei, die man anlegen kann, um mit
    einem Klick eine Synchronisation durchzuführen. Die Optionen der Synchronisation legt man
    vorher fest und speichert sie in dem Shortcut. Somit ist es möglich, sich mehrere
    Shortcuts anzulegen, um somit verschiedene Synchronisationen schnell durchzuführen,
    wenn man es benötigt.

    4.2 Synchronisations-Shortcut erstellen
    Um ein Synchronisations-Shortcut zu erstellen, startet man Ordner Synchronisation Version 1.1 Beta
    wie gewöhnlich und wählt den Zielordner, Quellordner, sowie die Optionen nach belieben aus. Auch eine
    Log-Datei wird in Abhängigkeit der Logeinstellungen bei einer Synchronisation per Shortcut erstellt.
    Statt nun jedoch die Synchronisation zu starten, wählt man im Menü den Eintrag
    'Erweitert -> Synchronisations-Shortcut anlegen'. Nach der Eingabe des Namens und des Speicherorts
    erhält man eine Bestätigung, mit welchen Einstellungen das Shortcut erstellt wurde.
    Bei jeder Ausführung dieses erstellten Shortcuts wird eine Synchronisation mit diesen
    Einstellungen durchgeführt. Achtung: Bei der Synchronisation mit einem Shortcut wird vorher KEINE
    Aktionsliste erstellt, die bearbeitet werden könnte.

    Ich nutze das Programm, um meinen Schul-USBstick mit meinem Ordner auf dem Rechner zu synchronisieren, um meine AutoIt Backups auf unserem Heimserver auf dem aktuellen Stand zu haben und auch meine Mp3s :) Deshalb hab ich auch die Synchronisations-Shortcut-Funktion erstellt.

    Hier der Sourcecode, auch mit compilter Exe:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    changelog 1.1 Beta -> 1.2 Beta:
    Felder Quellordner und Zielordner vertauscht
    "Neuer Ordner" Button bei Zielordner hinzugefügt
    "Neuer Ordner" Button bei "setze Log-Speicherpfad" hinzugefügt

    Freue mich auf Kritik und Anregungen!! :)

    Grüße, Max

    Dateien

    OrdnerSync1.2.zip 413,39 kB – 891 Downloads
  • WordEditor

    • qon
    • 15. März 2010 um 19:03

    Sieht gut aus :)

  • Guiname mittig

    • qon
    • 12. März 2010 um 18:40

    Hi,

    wenn der Name des GUI-Titels immer gleich bleibt, einfach eine bestimmte Anzahl Leerzeichen vor den Guinamen setzen,
    wenn die GUI-Titellänge immer anders ist ( so wie hier, weiss aber nich warum das von nöten ist ), aber der eigentliche GUI immer gleich breit ist,
    könnte man schauen, wieviel Leerzeichen in die ganze Titelleiste passen,
    dann diesen Wert minus die Länge des GUI-Titels, dann das ganze durch 2,
    und diese Anzahl Leerzeichen dann vor den Gui-Titel setzen xD
    Müsste ja theoretisch funktionieren, wenn Leerzeichen gleich groß sind wie andere Buchstaben?.

    Greetz^^

    Edit: ich sehe gerade die GUI Größe ist immer anders, abhängig von der Auflösung, dann muss man scheinbar noch die Gesamtleerzeichenanzahl der Titelleiste rausfinden, das könnte man ja relativ zur desktopwidth dann machen.
    Vielleicht gibts ja aber auch nen ganz simplen Befehl dazu, den ich wenn dann aber nicht kenne

  • Elektronisches Telefonbuch

    • qon
    • 12. März 2010 um 15:26

    Hi,

    dass man das Programm ohne .ini nicht starten kann finde ich blöd/überflüssig,
    du kannst doch eine neue erstellen lassen wenn keine da ist, mit vorheriger Abfrage ob das gewünscht ist.

    Greetz ;)

  • Icons per relativer Pfadangabe in ein Script einbinden, welches in ein anderes eingebunden wird

    • qon
    • 11. März 2010 um 18:48

    Schau dir mal Fileinstall in der Hilfe an, damit kannst du Dateien in die Exe einbinden und nachher an einen beliebigen Ort entpacken ;)

  • Icons per relativer Pfadangabe in ein Script einbinden, welches in ein anderes eingebunden wird

    • qon
    • 11. März 2010 um 17:19

    Es muss doch irgend ein Muster geben, wie die Icon's liegen.
    Werd vll mal etwas konkreter mit den Pfaden.

  • Icons per relativer Pfadangabe in ein Script einbinden, welches in ein anderes eingebunden wird

    • qon
    • 11. März 2010 um 15:03

    das verstehe ich jetzt nicht, der pfad kann doch auch in der include sein Oo
    Beispiel:

    [autoit]

    ;die include.au3
    $Pfad = "blalala" ;oder @scriptdir oder whatever

    [/autoit][autoit]

    ;Hauptscript
    #include "include.au3"
    Msgbox(0,"",$Pfad)

    [/autoit]

    @scriptdir ist allerdings egal wo man es aufruft immer das selbe, weils nunmal ein und das selbe script is un auch ein und die selbe exe sein wird.

  • Anzahl Ordner und dateien Aufzählen...

    • qon
    • 11. März 2010 um 14:58

    Habe mal beide Funktionen gegeneinander getestet mit jeweils 10 durchläufen nacheinander, die _GetFileList ist minimal schneller,
    bei 10 durchläufen nacheinander von immer 5000 dateien ist sie gradmal 500ms schneller, also pro durchlauf ca 50ms auf 5000 dateien ;)

  • Icons per relativer Pfadangabe in ein Script einbinden, welches in ein anderes eingebunden wird

    • qon
    • 11. März 2010 um 14:40

    Hi,

    also #include ist ja das selbe, wie einfach den code aus der include in das originalscript zu kopieren. (soweit ich weiss).
    Das heisst, wenn du erst beispielsweise eine Variable $Pfad anlegst ( im Hauptscript ), danach das andere Unterscript includest, müsstest du in dem Unterscript auf die Variable Pfad zugreifen können.
    Beispiel:

    [autoit]

    ;Hauptscript
    $Pfad = @scriptdir
    Msgbox(0,"","Ich bin das hauptscript.")
    #include "unterscript.au3"

    [/autoit][autoit]

    ;unterscript.au3
    Msgbox(0,"","Pfad des Hauptscriptes: " & $Pfad)

    [/autoit]

    Hoffe hab dich richtig verstanden.
    greetz

  • Anzahl Ordner und dateien Aufzählen...

    • qon
    • 10. März 2010 um 20:14
    Spoiler anzeigen
    [autoit]

    Func _GetFileList($T_DIR, $T_MASK, $DIR_ONLY = 0)
    Dim $N_DIRNAMES[200000] ; max number of directories that can be scanned
    Local $N_DIRCOUNT = 0
    Local $N_FILE
    Local $N_SEARCH
    Local $N_TFILE
    Local $N_OFILE
    Local $T_FILENAMES
    Local $T_FILECOUNT
    Local $T_DIRCOUNT = 1
    Local $FILEMASK
    ; check Filemask \ for empty File-Array by GetDirOnly
    If $FILEMASK = "n" Then $FILEMASK = "*.no"
    ; remove the end \ If specified
    If StringRight($T_DIR, 1) = "\" Then $T_DIR = StringTrimRight($T_DIR, 1)
    $N_DIRNAMES[$T_DIRCOUNT] = $T_DIR
    ; Exit if base dir doesn't exists
    If Not FileExists($T_DIR) Then Return 0
    ; keep on looping until all directories are scanned
    While $T_DIRCOUNT > $N_DIRCOUNT
    $N_DIRCOUNT = $N_DIRCOUNT + 1
    ; find all subdirs in this directory and save them in a array
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\*.*")
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib($N_TFILE), "D") > 0 Then
    $T_DIRCOUNT = $T_DIRCOUNT + 1
    $N_DIRNAMES[$T_DIRCOUNT] = $N_TFILE
    EndIf
    WEnd
    FileClose($N_SEARCH) ; find all Files that mtach the MASK
    $N_SEARCH = FileFindFirstFile($N_DIRNAMES[$N_DIRCOUNT] & "\" & $T_MASK)
    If $N_SEARCH = -1 Then ContinueLoop
    While 1
    $N_FILE = FileFindNextFile($N_SEARCH)
    If @error Then ExitLoop
    ; skip these references
    If $N_FILE = "." Or $N_FILE = ".." Then ContinueLoop
    $N_TFILE = $N_DIRNAMES[$N_DIRCOUNT] & "\" & $N_FILE
    ; if Directory than add to the list of directories to be processed
    If StringInStr(FileGetAttrib($N_TFILE), "D") = 0 Then
    $T_FILENAMES = $T_FILENAMES & $N_TFILE & @CR
    $T_FILECOUNT = $T_FILECOUNT + 1
    ;MsgBox(0,'filecount ' & $T_FILECOUNT ,$N_TFILE)
    EndIf
    WEnd
    FileClose($N_SEARCH)
    WEnd
    If $DIR_ONLY = 0 Then
    $T_FILENAMES = StringTrimRight($T_FILENAMES, 1)
    $N_OFILE = StringSplit($T_FILENAMES, @CR)
    Return ($N_OFILE)
    Else
    ReDim $N_DIRNAMES[$N_DIRCOUNT + 1]
    $N_DIRNAMES[0] = $N_DIRCOUNT
    Return $N_DIRNAMES
    EndIf
    EndFunc ;==>_GetFileList

    [/autoit]

    Diese Funktion sollte das Selbe tun, weiss aber grad nicht mehr wo ich sie her habe und ob sie schneller ist.
    Greetz

    edit: oh, das langsam bezog sich ja garnicht auf die Funktion =D
    egal, man könnte ja mal einen Geschwindigkeitsvergleich durchführen..

  • YouTube Stream without IE-Objekt!

    • qon
    • 10. März 2010 um 20:11

    Hi,

    also ich kann mir nicht vorstellen, dass das gehen soll :/
    Wenn man sich regulär ein Video anschaut, läd er ja auch die ganze Datei runter, weil doch Video und Audiospur in der selben Datei sind.
    Wie will man die Audiospur abspielen, ohne vorher alles runterzuladen?
    Wenns doch geht bin ich echt erstaunt :huh:

    greetz

  • Compile Error

    • qon
    • 10. März 2010 um 20:07

    Also das kommt bei mir immer, wenn ich angenommen die datei script.au3 compile, es aber im selben ordner schon eine script.exe gibt und diese ausgeführt wird.
    ich glaube auch ehrlich das es daran liegt ;D
    ganz sicher, dass das nich auch bei dir der fall ist?
    schau die prozesse auch durch ;)

  • plus oder minus als Variable?

    • qon
    • 27. Februar 2010 um 16:16

    Aus dem Codeteil wird mir jetzt erstmal nichts verständlich, aber vielleicht meinst du es ja so:

    [autoit]

    $Zeichen = "-"
    $a = 5
    $b = 4
    $ergebnis = Execute($a & $Zeichen & $b)
    msgbox(0,"",$ergebnis)

    [/autoit]

    Für $Zeichen kannst du nun + - * / oder was sonst noch geht (ka?:D) einsetzen.

  • Zeit

    • qon
    • 27. Februar 2010 um 16:09

    Jetzt ist Helveticus bestimmt eh schon durcheinander xD

    Zitat von Helveticus

    Dann halt

    if (@hour > 14) or (@hour = 13 and @min >= 15) then..

    Nein , das mit @hour > 13 statt 14 war schon richtig. :P

  • Zeit

    • qon
    • 27. Februar 2010 um 12:37
    Zitat von Jonathan


    nein, weil um 14:10 wäre die bedingung nicht erfüllt.. weil das heißt ja wenn Stunde größer als 13 UND minute größer als 15

    NEIN Das kommt nicht aufs selber raus !!! !!! lies meinen post weiter oben!


    ja wer war denn das :rolleyes:


    Ist auch falchs... weil dann laut Script auch 12:40 später als 13:15 wäre :!: bsit du cnoh nciht ganz wach? immerhin sit halb 5 :thumbup:

    jetzt schläfst du aber Jonathan (nicht schnitzel^^)!!
    Entweder hour größer 13, oder hour gleich 13 und min größer/Gleich 15.
    Ist doch richtig :)

    Zitat von Jonathan


    JA, das ist falsch

    [autoit]

    If @Hour & @Min > 1315 Then

    [/autoit]

    ist richtig

    das ist beides richtig?!

  • Bußgeldrechner

    • qon
    • 26. Februar 2010 um 21:08

    lol danke^^
    hatte eben das gefühl ich wurde geblitzt..

  • ICQ - Client

    • qon
    • 26. Februar 2010 um 09:15

    Bist du mitlerweile weiterkommen?^^
    Ich schaffe es nichtmal, ne Nachricht an jemanden zu senden..
    Welche Funktion brauch ich dafür?

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™