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

  • Blaumacher :D eigene func in scite über properties färben

    • qon
    • 25. Februar 2008 um 22:15

    Hi,

    ihr wisst ja alle, dass wenn man seine eigenen Funktionen bastelt, sie immer so unschön Schwarz sind.
    Hiermit konfiguriert ihr SciTE gemütlich so, dass eure Funktionen bei euch Blau sind.
    Man kann auch einfach eine Libary/Include/UDF's/Skript Datei wählen, wo dann alle Funktionen blau gefärbt werden die in dieser Datei gebaut sind.
    Ich finde das selbst recht nützlich *g*.
    Lass ich einfach über eine gedownloadede 'UDF' laufen und die Funktionen werden blau, dann weiss ich auch, dass ich sie richtig geschrieben habe.
    Die Funtkionen werden aber nur eingefärbt, wenn sie auch in dem ausgewählten Skript 'gebaut' wurden.

    So, genug gelabert, hier das Skript. [vorläufige version!]

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_icon=icon.ico
    #AutoIt3Wrapper_Res_Comment=color your own or someone others function's in your SciTE
    #AutoIt3Wrapper_Res_Description=color your own or someone others function's in your SciTE
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2008 qon
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <GuiConstants.au3>
    #include <file.au3>
    #include <array.au3>
    #include <String.au3>

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

    $EditorPath = _RegRead("HKEY_CURRENT_USER\Software\Funcadder","EditorPath",RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt","InstallDir") & "\SciTE")

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

    $Gui = GuiCreate("Funcadder 1.0.0.0 © qon",500,235)
    $Label = GuiCtrlCreateLabel("This was made to add functions to SciTE properties, so the function is shown bright blue in SciTE." & @CRLF & "It's kept simply. This tool also can automaticly scan whole files and make all black own functions blue.",5,10)

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

    $SingleGroup = GuiCtrlCreateGroup("Single",20,50,390,60)
    $SingleAddInput = GuiCtrlCreateInput("_ExampleFunc",33,73,240,22)
    $SingleAddButton = GuiCtrlCreateButton("Add",290,71,100)

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

    $FileGroup = GuiCtrlCreateGroup("File",20,120,460,60)
    $FileAddInput = GuiCtrlCreateInput("C:\ExampleFile.au3",33,143,240,22)
    $FileAddButton = GuiCtrlCreateButton("Scan and add",283,141,85)
    $FileSelectButton = GuiCtrlCreateButton("Select...",380,141,85)

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

    $EditorLabel = GuiCtrlCreateLabel("SciTE Path",8,203)
    $EditorPathInput = GuiCtrlCreateInput($EditorPath,73,200,300)
    $EditorBrowse = GuiCtrlCreateButton("Browse...",383,200,101,20)

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

    Global $LastBrowse = @DesktopDir

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

    GuiSetBkColor(0x18C3DF,$Gui)

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

    GuiSetState()

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

    While 1
    Switch GuiGetMsg()
    Case $GUI_EVENT_CLOSE
    RegWrite("HKEY_CURRENT_USER\Software\Funcadder","EditorPath","REG_SZ",GuiCtrlRead($EditorPathInput))
    Exit
    ;;;
    Case $EditorBrowse
    $EditorPathSelect = FileSelectFolder("Select SciTE folder","")
    IF Not @error then GuiCtrlSetData($EditorPathInput,$EditorPathSelect)
    ;;;
    Case $FileSelectButton
    $FilePathSelect = FileOpenDialog("Please choose an Autoit source file",$LastBrowse,"Autoit Source (*.au3)")
    If Not @error Then
    GuiCtrlSetData($FileAddInput,$FilePathSelect)
    Dim $szDrive, $szDir, $szFName, $szExt
    $SplitPath = _PathSplit($FilePathSelect, $szDrive, $szDir, $szFName, $szExt)
    IF Not @Error Then $LastBrowse = $SplitPath[1] & $SplitPath[2]
    EndIf
    ;;;
    Case $SingleAddButton
    $PropertyFilePath = GuiCtrlRead($EditorPathInput) & "\Properties\au3.keywords.properties"
    $PropertyFileHandle = FileOpen($PropertyFilePath,0)
    $PropertyFileText = FileRead($PropertyFileHandle)
    If Not @error Then
    IF StringInStr($PropertyFileText,GuiCtrlRead($SingleAddInput) & " ") Then
    Msgbox(48,"Already exists","This function does already exist.")
    FileClose($PropertyFileHandle)
    Else
    $NewText = _InsertFunc(GuiCtrlRead($SingleAddInput),$PropertyFileText)
    IF Not @error Then
    FileClose($PropertyFileHandle)
    FileDelete($PropertyFilePath)
    $PropertyFileHandle = FileOpen($PropertyFilePath,2)
    FileWrite($PropertyFileHandle,$NewText)
    FileClose($PropertyFileHandle)
    Msgbox(64,"Added","The function was added successfully!")
    Else
    GuiCtrlSetData($SingleAddInput,"error while adding.")
    FileClose($PropertyFileHandle)
    EndIf
    EndIf
    Else
    Msgbox(48,"Error","Error opening property file, maybe SciTE path invalid.")
    EndIf
    ;;;
    Case $FileAddButton
    $SourceFilePath = GuiCtrlRead($FileAddInput)
    If Not FileExists($SourceFilePath) or StringRight($SourceFilePath,4) <> ".au3" Then
    Msgbox(48,"Error","File does not exist or invalid file extension.")
    Else
    $SourceFile = FileOpen($SourceFilePath,0)
    $Source = FileRead($SourceFile)
    If @error Then
    Msgbox(48,"Error","Error while reading source file or file is empty.")
    FileClose($SourceFile)
    Else
    $FuncFound = _StringBetween($Source, 'Func ', '(')
    If @error Then
    Msgbox(64,"No founds","No user functions found.")
    FileClose($SourceFile)
    Else
    FileClose($SourceFile)
    $PropertyFilePath = GuiCtrlRead($EditorPathInput) & "\Properties\au3.keywords.properties"
    $PropertyFileHandle = FileOpen($PropertyFilePath,0)
    $PropertyFileText = FileRead($PropertyFileHandle)
    If @error then
    Msgbox(48,"Error","Error while reading property file.")
    FileClose($PropertyFileHandle)
    Else
    $Founds = 0
    For $i = 0 to UBound($FuncFound)-1
    If Not StringInStr($PropertyFileText,$FuncFound[$i] & " ") Then
    $PropertyFileText = _InsertFunc($FuncFound[$i],$PropertyFileText)
    $Founds += 1
    EndIf
    Next
    FileClose($PropertyFileHandle)
    FileDelete($PropertyFilePath)
    $PropertyFileHandle = FileOpen($PropertyFilePath,2)
    FileWrite($PropertyFileHandle,$PropertyFileText)
    FileClose($PropertyFileHandle)
    Msgbox(64,"Added",$Founds & " functions were made blue")
    EndIf
    EndIf
    EndIf
    EndIf
    EndSwitch
    WEnd

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

    Func _InsertFunc($sFuncName,$sFileText)
    $Pos = StringInStr($sFileText,"au3.keywords.udfs=")
    IF @error Then SetError(1,0,0)
    $Start = StringLeft($sFileText, $Pos + 17)
    $End = StringRight($sFileText, StringLen($sFileText) - $Pos - 17)
    Return $Start & StringLower($sFuncName) & " \" & @CRLF & $End
    EndFunc

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

    ;===============================================================================
    ;
    ; Function Name: _regread()
    ; Description: Reads a registry entry ( with a given standard )
    ; Parameter(s): $iKeyname - The registry key to read
    ; $iValuename - The value to read
    ; $iStandard - The standard that will be returned if registry entry does not exists [optional]
    ; Requirement(s): None
    ; Return Value(s): On Success - Returns the Registry Value, if @error occurres ( can't find key / unknown format ) the standard will be returned.
    ; On Failure - If no standard is set and can't read Key, the @error number from regread will be returned ( Helpfile ).
    ; Author(s): qon
    ;
    ;===============================================================================

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

    func _regread($sKeyname,$sValuename,$vStandard = "")
    Local $vValue
    Local $iError
    $vValue = Regread($sKeyname,$sValuename)
    $iError = @error
    If $iError <> 0 Then
    If $vStandard = "" Then
    Seterror($iError)
    Return ""
    EndIf
    Return $vStandard
    EndIf
    Return $vValue
    EndFunc

    [/autoit]

    Im Anhang nochmal kompiliiert und Source.

    ToDo für mich:
    - schöneren Gui
    - Auflistung aller bereits selbst hinzugefügten Funktionen
    - Löschen hinzugefügter Funktionen

    Gruß
    qon

    Dateien

    Au3 FuncAdd.zip 372,25 kB – 329 Downloads
  • GuiSetHelp

    • qon
    • 25. Februar 2008 um 17:06

    Hi,

    brauchst ja nur einen "kompiler" ders zur CHM macht, rest ist ja html.
    Dazu kann man auch andere Editoren verwenden.
    Ich finde den Compiler leider nicht mehr, er war freeware :(

    greetz

  • GuiSetHelp

    • qon
    • 25. Februar 2008 um 16:00

    Hi,

    wo ist das Problem denn mit HotKeySet?
    Mit _IsPressed in einer Schleife müsstest du auch nachfragen ob das Fenster aktiv ist.
    Ich würde es so machen.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>

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

    HotKeySet("{F1}","_OpenHelp")
    Global $HelpPath = "C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\AutoIt3.chm"
    $Title = "Gui"

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

    $Gui = GuiCreate($Title,500,500)
    GuiSetState()
    While 1
    Switch GuiGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _OpenHelp()
    If WinGetTitle("[ACTIVE]") = $Title then
    Run(@ComSpec & " /C " & '"' & $HelpPath & '"', "", @SW_HIDE)
    Else
    HotKeySet("{F1}")
    Send("{F1}")
    HotKeySet("{F1}","_OpenHelp")
    EndIf
    EndFunc

    [/autoit]

    greetz

  • Process Information

    • qon
    • 25. Februar 2008 um 13:39

    Hi,

    bei mir läuft es auch nicht, er sagt in line 27 unknown function name :z
    Aber zu dem Process Path kriegen gibts doch hier schon eine nette Funktion von Progandy
    Neue Prozess-Funktionen


    greetz

  • if abfrage mit einer inputbox "ok und cancel button"

    • qon
    • 23. Februar 2008 um 12:23

    Hi,

    steht in der Hilfe :P

    Spoiler anzeigen
    Zitat


    Rückgabewert

    Success: Returns the string that was entered.
    Failure: Returns "" (blank string) and sets @error as follows:
    @Error 0 = The string returned is valid.
    1 = The Cancel button was pushed.
    2 = The Timeout time was reached.
    3 = The InputBox failed to open. This is usually caused by bad arguments.

    Alles anzeigen

    Bsp.:

    Spoiler anzeigen
    [autoit]


    $password = InputBox("Security Check", "Enter your password.", "", "*")
    IF @error then
    msgbox(0,"","abbruch")
    Exit
    Endif
    If $password <> "hallo" then
    msgbox(0,"","falsches passwort")
    Exit
    Else
    msgbox(0,"","richtig!")
    Endif

    [/autoit]

    Zu msgbox sag ich jetzt mal extra nichts, das wirst du schon mit der deutschen Hilfe herausfinden ;)
    Die Hilfe ist sowieso dein wichtigster Begleiter, bei mir ist sie beim coden immer offen.

    Greetz

  • diverse noob fragen :)

    • qon
    • 22. Februar 2008 um 19:56

    Hi,

    versteh wirklich nicht warum du dich so provuzierst fühlst...
    Na dann sag ich mal was "zum Topic":

    zu 2)
    Das machst du mit einem Graphic User Interface ( GUI ).
    In der ( deutschen ) Hilfe zu au3 ist das eigentlich recht gut beschrieben, und bei c++ sind gui's sowieso viel schwerer.
    Als erstes einen Gui erstellen mit Guicreate(), dann sich an die Controls setzen wie Labels, Inputs, vll. Groups ( GuiCtrlCreateLabel, GuiCtrlCreateInput, GuiCtrlCreateGroup ... ).

    zu 3)
    Pixelsearch wird da denke ich die Funktion sein, dir am wichtigsten ist. So habe ich bei meinem Bot überprüft ob beispielsweise der Merc tot ist, ob er in Act 5 startet,
    ob ich Realmdown habe, ob ich einen Trank nehmen muss und ob ich noch welche habe, etc..
    Sollte in der Hilfe alles recht gut beschrieben sein.

    Edit: Es gibt schon ein geschlossenes Bot Forum wo viele Themen und Methoden für Bots erklärt sind. Wirst du schon finden.
    Es wurde allerdings geschlossen,

    Spoiler anzeigen
    Zitat


    Hallo!

    Heute wurde das Unterforum "Bot-Coding" wieder geschlossen. Das ist so zu verstehen, dass sich die Verantwortlichen dieses Forums gegen Bots und für faires Spielen aussprechen. Im angesprochenen Forum war die Mithilfe der Fragestellenden oft so frappierend gering, dass wir keinen Sinn in einer Weiterführung sehen.
    Allen, die glauben sich unbedingt mit Bots beschäftigen zu müssen, seien folgende Quellen empfohlen:

    * AutoIt-Hilfe auf Englisch und auf Deutsch (derzeit nicht aktuell!) (Befehle wie PixelSearch, PixelChecksum, AdlibEnable, Mouse..., Send, SendKeepActive usw.)
    * Tutorial unter http://wiki.autoit.de/wiki/index.php/Tutorial
    * Archiv des Bot-Coding-Forums - die meisten grundlegenden Fragen wurden dort geklärt.


    Die Schließung des Unterforums bedeutet auch, dass Bot-Fragen auch an anderer Stelle unerwünscht sind. Das heißt ausdrücklich nicht, dass wir Fragen zu allen oben genannten Funktionen zensieren würden, aber es heißt, dass Fragen die sich eindeutig auf Bots beziehen mit Verweis auf obige Informationsquellen von Moderatoren geschlossen werden werden.

    AutoIt hat so viele schöne Seiten und es gibt so viele sinnvolle Sachen, die man damit machen kann - wirklich! :love:

    peethebee

    p.s. wer meint, seine Meinung hierzu kundtun zu müssen, kann mich per PN kontaktieren, aber ich garantiere in diesem Fall keine Antwort - je nach Zeit und Lust...

    Alles anzeigen

    greetz

  • diverse noob fragen :)

    • qon
    • 22. Februar 2008 um 17:20

    Naja dann viel Spass beim nächsten Blizz scan ;)
    Dann ist er ganz schnell gebannt.

  • diverse noob fragen :)

    • qon
    • 22. Februar 2008 um 17:17

    Hi,

    sorry aber wenn du sagst der Weg dahin ist einfach dann OMG!
    Du musst erstmal Diabl II modden lernen, damit du die Monster erkennbar machen kannst, du musst die ganze Minimap modden usw...
    Das ist absoluter Aufwand.

    Greetz

  • diverse noob fragen :)

    • qon
    • 22. Februar 2008 um 17:13

    Hi,

    also erstmal falsches Forum ;)
    Aber freut mich, dass du D2 Lod zoggst,
    habn ganzen Bot dazu geschrieben ( ist das jetzt schon verboten das zu sagen? ),
    für Pindle. Kannst ja mal reinschauen https://autoit.de/www.qonpage.de.vu und dich registrieren, arbeite gerade auch an einer neueren version.

    Greetz

  • Neue Idee für µIt

    • qon
    • 22. Februar 2008 um 13:46

    Hi,

    ich fände eine Mischung aus beidem am besten :thumbup:
    Also ich finde dieses einfaden von McPoldy gut. Allerdings etwas wenig Zeichen finde ich ;)
    Und vielleicht etwas fließender.

    lG

  • Neue Idee für µIt

    • qon
    • 21. Februar 2008 um 22:19

    Hi,

    oha wie konnte ich dieses geile Thread erst so spät entdecken?!?!^^
    Also ich find alle Lösungen echt geil,
    am besten gefällt mir Oscars, kann mich aber nicht so wirklich entscheiden ob das Erste oder das Zweite ;)
    Hätte garnicht gewusst, wie ich so etwas anzufangen habe, hab mal wieder was dazugelernt.

    Liebe Grüße

  • Brauche eine "kleine" Hilfestellung

    • qon
    • 20. Februar 2008 um 21:52

    Hi,

    Also ich würd den Code ja etwas aufräumen, aber kann nicht wirklich so den Ablauf der Funktion verfolgen,
    also du willst mit Counter ja sagen, wie oft das ganze passiern soll, also wie oft die Funktion durchlaufen soll.
    Dann würde ich das aber mit einer For Loop machen ( For $i = 1 to $counter ).
    Bei deiner aktuellen Funktion wird dir ExitLoop ja nicht helfen, weil dann ja die Funktion immer wieder durchläuft bis counter 0 ist.
    Wenn du aber bei nem Fund Return 1 machst, gibt sie natürlich 1 zurück und wir beendet.

    greetz

  • Random-Number-Generator

    • qon
    • 20. Februar 2008 um 21:35

    Hi,

    damit kann man doch perfekt in einem Schritt Lottozahlen generieren lassen :D *g*
    Und der Speed ist wirklich beeindruckend.

    lG

  • Bildergröße auslesen und schneiden/etwas hinzufügen

    • qon
    • 20. Februar 2008 um 21:33

    Hi,

    tut mir leid ich kenn mich garnicht mit GDI aus :(
    so 0 xD würd dir gerne helfen ;) aber hab echt 0 plan.
    Jenachdem obs mir morgen besser geht kann ich mich allerdings mal damit beschäftigen^^

    lG

  • Bildergröße auslesen und schneiden/etwas hinzufügen

    • qon
    • 20. Februar 2008 um 21:25

    Hi nochma,

    Was mich bei den Hilfedateien sowieso wundert ist,
    dass selbst in der englischen UDF datei die Befehle nicht drin sind ;)
    Versteh das System da nicht so ganz :)

    greetz

  • Bildergröße auslesen und schneiden/etwas hinzufügen

    • qon
    • 20. Februar 2008 um 21:20

    Hi,

    in der englischen Hilfe von der Beta ( im Beta ordner AutoIt3Help.exe ) müsste alles drin sein an Befehlen ;)

    Greetz

  • [IDEE] Teamspeak Automatisierung

    • qon
    • 20. Februar 2008 um 00:02

    Hi!

    Also als erstes wollte ich sagen, dass es irgendwie nicht möglich ist, zu voten :(
    Dieser Fehler tritt auf, wenn ich abstimmen will:

    Zitat


    Du hast einen ungültigen oder nicht mehr gültigen Verweis aufgerufen.

    Und nun zum Thema:
    Also wenn du schon fragst: ich hätte persönlich keine Intresse, ich bin um jedes Programm froh,
    was beim zocken aus ist ;) Haben ja schon zusammen CS gezoggt, mir kommt es 100% auf Performance an.
    Ich denke, User etc auszulesen wäre nicht so wichtig. Allerdings fände ich ein Mute/Unmute per HotKeySet interessant,
    dann muss man nicht immer minimieren :)

    greetz

  • IMG-UP.net Pic uploader

    • qon
    • 19. Februar 2008 um 23:12

    Hi nochmal,

    dein Tool funktioniert jetzt auch bei mir *g*
    Aber da es das erst nicht hatte, und ich sowieso was mit IE.au3 machen wollte,
    hab ich auch mal so etwas gebaut ;)
    Imgage Uploader v 1.0.0.2

    Greetz

  • Hilfe zum auslesen einer verschlüsselten ini-Datei

    • qon
    • 19. Februar 2008 um 23:07

    Hi,

    der zweite Teil sollte wohl wenn ichs richtig verstanden habe so aussehn:

    Spoiler anzeigen
    [autoit]


    $password2 = IniRead(@ScriptDir & "\data.ini", "password", "002", "error")
    If $password2 = "error" then
    msgbox(0,"","error beim password lesen aus der ini")
    Exit
    EndIf
    Send(_StringEncrypt(0,$password2,"12345abcd",1))
    Send("{ENTER}")

    [/autoit]

    Du hast ja als default von Iniread das stringencrypt verwendet, und auchnoch als string "password" genommen Oo
    Ka ob das irgendeinen Sinn hatte :D

    Grüße

  • Imgage Uploader v 1.0.0.2

    • qon
    • 19. Februar 2008 um 20:15

    Hi Leute!
    ich wollte GtaSpider mal etwas Konkurenz machen :D
    Ne eigentlich hatte ich eher Lust, was mim Internet Explorer zu machen.
    Das kam raus:

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_icon=icon.ico
    #AutoIt3Wrapper_Res_Comment=Easy image uploading to bildrian.de or imageshack.us
    #AutoIt3Wrapper_Res_Description=Easy image uploading to bildrian.de or imageshack.us
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.2
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2008 qon
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    ;Dont change anything without asking qon [maxmoppel@yahoo.de]

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

    #include "IE.au3"
    #Include <GuiConstants.au3>
    #include <File.au3>
    #include <string.au3>
    Opt("TrayMenuMode",1)

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

    FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\header1.jpg",@tempdir & "\header1.jpg",1)
    FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\header2.jpg",@tempdir & "\header2.jpg",1)
    FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\minimize.bmp",@tempdir & "\minimize.bmp",1)
    FileInstall("C:\Dokumente und Einstellungen\Maximilian\Desktop\programming\Autoit\ImgageUploader\close.bmp",@tempdir & "\close.bmp",1)

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

    ;GUI
    $MainGui = GuiCreate("Image Uploader v 1.0.0.2 © qon",500,320)
    GuiCtrlCreatePic(@tempdir & "\header1.jpg",40,11,170,90)
    GuiCtrlCreatePic(@tempdir & "\header2.jpg",235,11,240,90)

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

    $Label1 = GuiCtrlCreateLabel("Picture #1",15,122,75)
    $Path1 = GuiCtrlCreateInput("",105,120,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
    $Browse1 = GuiCtrlCreateButton("Browse...",382,119,100,20)

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

    $Label2 = GuiCtrlCreateLabel("Picture #2",15,152,75)
    $Path2 = GuiCtrlCreateInput("",105,150,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
    $Browse2 = GuiCtrlCreateButton("Browse...",382,149,100,20)

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

    $Label3 = GuiCtrlCreateLabel("Picture #3",15,182,75)
    $Path3 = GuiCtrlCreateInput("",105,180,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
    $Browse3 = GuiCtrlCreateButton("Browse...",382,179,100,20)

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

    $Label4 = GuiCtrlCreateLabel("Picture #4",15,212,75)
    $Path4 = GuiCtrlCreateInput("",105,210,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
    $Browse4 = GuiCtrlCreateButton("Browse...",382,209,100,20)

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

    $Label5 = GuiCtrlCreateLabel("Picture #5",15,242,75)
    $Path5 = GuiCtrlCreateInput("",105,240,260,21,$ES_READONLY + $ES_LEFT + $ES_AUTOHSCROLL)
    $Browse5 = GuiCtrlCreateButton("Browse...",382,239,100,20)

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

    $StartButton = GuiCtrlCreateButton("Upload",45,280,140,25)

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

    $LabelMirror = GuiCtrlCreateLabel("select mirror",260,285,120)
    $Mirror = GuiCtrlCreateCombo("",330,282)
    GuiCtrlSetData($Mirror,"Bildrian.de (fast)|Imageshack.us","Bildrian.de (fast)")

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

    ;Color/Font
    GuiSetBkColor(0xFFFFFF,$MainGui)
    GuiCtrlSetBkColor($Path1,0xFFFFFF)
    GuiCtrlSetBkColor($Path2,0xFFFFFF)
    GuiCtrlSetBkColor($Path3,0xFFFFFF)
    GuiCtrlSetBkColor($Path4,0xFFFFFF)
    GuiCtrlSetBkColor($Path5,0xFFFFFF)
    GuiCtrlSetFont($Label1,11,800,2)
    GuiCtrlSetFont($Label2,11,800,2)
    GuiCtrlSetFont($Label3,11,800,2)
    GuiCtrlSetFont($Label4,11,800,2)
    GuiCtrlSetFont($Label5,11,800,2)

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

    ;Some Sets
    Global $LastBrowse = @DesktopDir
    Global $Path_s[5]
    Global $Percent = 0

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

    ;PROGGUI
    $ProgGui = GUICreate("",381,70,-1,-1,$WS_POPUP)
    $Progress = GUICtrlCreateProgress(15, 40, 350, 15, $PBS_MARQUEE)
    $Label = GuiCtrlCreateLabel("Contacting host ...",114,10,200)
    $Minimize = GuiCtrlCreatePic(@tempdir & "\minimize.bmp",345,10,10,10)
    $Close = GuiCtrlCreatePic(@tempdir & "\close.bmp",360,10,10,10)
    GuiSetBkColor(0x000000,$ProgGui)
    GuiCtrlSetColor($Progress,0x18DF18)
    GuiCtrlSetColor($Label,0x18DF18)
    GuiCtrlSetFont($Label,11,800,0,"Comic Sans MS")
    GuiRoundCorners($ProgGui, 2, 2, 5, 5)

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

    ;RESULTGUI
    $ResultGui = GuiCreate("Image URL's",520,170)
    $ResultEdit = GuiCtrlCreateEdit("",10,10,500,150,$ES_READONLY)
    GuiSetBkColor(0x000000,$ResultGui)
    GuiCtrlSetColor($ResultEdit,0xDF1818)
    GuiCtrlSetFont($ResultEdit,10,600)

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

    GuiSetState(@SW_SHOW,$MainGui)

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

    ;Loop
    While 1
    Switch GuiGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $StartButton
    _DoUpload()
    Exit
    Case $Browse1
    _SetPath(1)
    Case $Browse2
    _SetPath(2)
    Case $Browse3
    _SetPath(3)
    Case $Browse4
    _SetPath(4)
    Case $Browse5
    _SetPath(5)
    EndSwitch
    WEnd

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

    Func _DoUpload()
    $Path_s[0] = GuiCtrlRead($Path1)
    $Path_s[1] = GuiCtrlRead($Path2)
    $Path_s[2] = GuiCtrlRead($Path3)
    $Path_s[3] = GuiCtrlRead($Path4)
    $Path_s[4] = GuiCtrlRead($Path5)
    $Host = GuiCtrlRead($Mirror)

    $PathGiven = 0
    For $i = 0 to UBound($Path_s)-1
    If $Path_s[$i] <> "" then $PathGiven = 1
    Next
    If $PathGiven = 0 then Return 0

    GuiDelete($MainGui)
    Dim $ResultText

    GuiSetState(@SW_SHOW,$ProgGui)

    AdlibEnable("_ProgBarAdd",25)

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


    Switch $Host
    Case "Bildrian.de (fast)"
    For $i = 0 to UBound($Path_s)-1
    If $Path_s[$i] = "" then ContinueLoop
    $Upload = _UploadBildrian($Path_s[$i],$i)
    Switch $Upload
    Case -3
    Msgbox(48,"Error","Unknown error, maybe bildrian has changed his hompage or your Internet Explorer is not compatible with this script.")
    Case -2
    Msgbox(48,"Error","Could not contact http://bildrian.de, maybe the homepage is temporary not aviable.")
    Case -1
    Msgbox(48,"Error","Could not upload image #" & $i+1 & " to bildrian, maybe invalid image or temporary bug.")
    Case Else
    $ResultText &= "picture #" & $i+1 & ": " & $Upload & @CRLF
    EndSwitch
    Next
    Case "Imageshack.us"
    For $i = 0 to UBound($Path_s)-1
    If $Path_s[$i] = "" then ContinueLoop
    $Upload = _UploadImageShack($Path_s[$i],$i)
    Switch $Upload
    Case -3
    Msgbox(48,"Error","Unknown error, maybe imageshack has changed his hompage or your Internet Explorer is not compatible with this script.")
    Case -2
    Msgbox(48,"Error","Could not contact http://imageshack.us, maybe the homepage is temporary not aviable.")
    Case -1
    Msgbox(48,"Error","Could not upload image #" & $i+1 & " to imageshack, maybe invalid image or temporary bug.")
    Case Else
    $ResultText &= "picture #" & $i+1 & ":" & @CRLF & $Upload & @CRLF
    EndSwitch
    Next
    EndSwitch

    AdlibDisable()
    GuiSetState(@SW_HIDE,$ProgGui)
    If $ResultText <> "" Then
    GuiCtrlSetData($ResultEdit,$ResultText)
    GuiSetState(@SW_SHOW,$ResultGui)
    While 1
    Switch GuiGetMsg($ResultGui)
    Case $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch
    WEnd
    EndIf
    _Restart()
    EndFunc

    Func _SetPath($Button)
    $File = FileOpenDialog("Choose an image",$LastBrowse,"Images (*.jpg;*.jpeg;*.png;*.gif;*.bmp)")
    If @error then Return 0
    If FileExists($File) = 0 then Return 0
    If FileGetSize($File)/1048576 > 1.5 Then
    Msgbox(48,"Size","Your selected image is too big, maximum 1,5 megabites.")
    Return 0
    EndIf
    Dim $szDrive, $szDir, $szFName, $szExt
    $SplitPath = _PathSplit($File, $szDrive, $szDir, $szFName, $szExt)
    IF @error then Return 0
    $LastBrowse = $SplitPath[1] & $SplitPath[2]
    Switch $Button
    Case 1
    GuiCtrlSetData($Path1,$File)
    Case 2
    GuiCtrlSetData($Path2,$File)
    Case 3
    GuiCtrlSetData($Path3,$File)
    Case 4
    GuiCtrlSetData($Path4,$File)
    Case 5
    GuiCtrlSetData($Path5,$File)
    EndSwitch
    EndFunc

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

    Func _UploadImageShack($ImagePath,$ImgNumber)
    GuiCtrlSetData($Label,"Contacting imageshack ...")
    $oIE = _IECreate("http://www.imageshack.us/",0,0)
    If @error then
    _IEQUIT($oIE)
    Return -2
    EndIf
    _IELoadWait($oIE)
    If @error then
    _IEQUIT($oIE)
    Return -2
    EndIf
    GuiCtrlSetData($Label,"uploading picture #" & $ImgNumber+1)
    $oForm = _IEFormGetCollection ( $oIE, 2 )
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $oInputFile = _IEFormElementGetObjByName($oForm, "fileupload")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    _IEAction($oInputFile, "focus")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $hIE = _IEPropertyGet($oIE, "hwnd")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $ImagePath)
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    _IEFormSubmit($oForm)
    _IELoadWait($oIE)
    $Source = _IEDocReadHTML($oIE)
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $ImgLinks = _StringBetween($Source,'value=>')
    If @error then
    _IEQUIT($oIE)
    Return -1
    EndIf
    $Link = $ImgLinks[0]
    _IEQUIT($oIE)
    Return StringStripWs($Link,3)
    EndFunc

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

    Func _UploadBildrian($ImagePath,$ImgNumber)
    GuiCtrlSetData($Label,"Contacting bildrian ...")
    $oIE = _IECreate("http://www.bildrian.de/content.php",0,0)
    If @error then
    _IEQUIT($oIE)
    Return -2
    EndIf
    _IELoadWait($oIE)
    If @error then
    _IEQUIT($oIE)
    Return -2
    EndIf
    GuiCtrlSetData($Label,"uploading picture #" & $ImgNumber+1)
    $oForm = _IEFormGetCollection ( $oIE, 0 )
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $oInputFile = _IEFormElementGetObjByName($oForm, "datei")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    _IEAction($oInputFile, "focus")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $hIE = _IEPropertyGet($oIE, "hwnd")
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", $ImagePath)
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $oCheckBox = _IEFormElementCheckBoxSelect ($oForm,0,"",1,"ByIndex")
    _IEFormSubmit($oForm)
    _IELoadWait($oIE)
    $Source = _IEDocReadHTML($oIE)
    If @error then
    _IEQUIT($oIE)
    Return -3
    EndIf
    $ImgLinks = _StringBetween($Source,'<DIV class=footer1>Bild-Link: &nbsp;<INPUT style="WIDTH: 300px" value=',' name=link>&nbsp;<INPUT')
    If @error then
    _IEQUIT($oIE)
    Return -1
    EndIf
    $Link = $ImgLinks[0]
    _IEQUIT($oIE)
    Return StringStripWs($Link,3)
    EndFunc

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

    Func _ProgBarAdd()
    GuiCtrlSetData($Progress,$Percent)
    $Percent += 1
    If $Percent > 100 then $Percent = 0
    If GuiGetMsg($ProgGui) = $Minimize Then
    Opt("TrayIconHide",0)
    GuiSetState(@SW_HIDE,$ProgGui)
    EndIf
    If GuiGetMsg($ProgGui) = $Close Then
    Exit
    EndIf
    If TrayGetMsg() = $TRAY_EVENT_PRIMARYDOUBLE Then
    Opt("TrayIconHide",1)
    GuiSetState(@SW_SHOW,$ProgGui)
    EndIf
    EndFunc

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

    Func GuiRoundCorners($h_win, $i_x1, $i_y1, $i_x3, $i_y3)
    $pos = WinGetPos($h_win)
    $ret = DllCall("gdi32.dll", "long", "CreateRoundRectRgn", "long", $i_x1, "long", $i_y1, "long", $pos[2], "long", $pos[3], "long", $i_x3, "long", $i_y3)
    If $ret[0] Then
    $ret2 = DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $ret[0], "int", 1)
    If $ret2[0] Then
    Return 1
    Else
    Return 0
    EndIf
    Else
    Return 0
    EndIf
    EndFunc

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

    Func _restart()
    If @Compiled = 1 Then
    Run( FileGetShortName(@ScriptFullPath))
    Else
    Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
    EndIf
    Exit
    EndFunc

    [/autoit]

    Es kann bis zu 5 Bildern auf einmal auf Imageshack oder Bildrian laden, Bildrian ist dabei wesentlich schneller.
    Man kann es auch bequem im Hintergrund hochladen lassen.
    Im Anhang auch nochmal die mit dem Wrapper kompilte exe und allen Bildern ;)
    Über Bugs/Feedback wäre ich froh.

    lG qon

    Dateien

    ImgageUploader.zip 351,74 kB – 405 Downloads

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™