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

Beiträge von Douky

  • Newszeile & Frage zu Menüpunkten

    • Douky
    • 7. März 2011 um 01:14

    Zu1.

    Da gibt es hier ein schönes beispiel von progandy. Musst allerdings aus Alibenable Alibregister machen.

    http://www.autoit.de/index.php?page=Thread&threadID=5040

    Zu2.

    Spoiler anzeigen

    1. Du erstellst einfach in Koda ein Mainmenü Control.
    2. Das Doppelklickst du.
    3. Dann erscheint der Menüeditor.
    4. Rechtsklicke die blaue Fläche und wähle: Einfügen (dadurch erstellst du Obermenüs)
    5. Rechtsklicke das Vorhandene obermenü und Klicke auf: Untermenü erstellen
    6. Rechtsklicke auf das leere untermenü und wähle: einfügen
    Schritt 5 und 6 so oft wiederhollen bist du die gewünschte Anzahl an Menüspunkten erstellt hast.
    7.Menü-Editor beenden. nun sollte dir in der Gui das Menü als vorschau angezeigt werden.
    8. Klapp die Menüs aus und doppelklicke sie. In dem darauf erscheinenden dialog wählst du dann "Notife" oder "Benachrichtigen" (jeh nachdem ob du es auf englisch oder deutsch hast.
    9. Code erstellen.

    Lg

  • Datei teilen

    • Douky
    • 7. März 2011 um 00:58

    ja, grundsätzlich ist das realisierbar.
    Das kommt auf die Codierung an.

    Solange man nur mit dem lateinischen Alphabet arbeitet, wird in der Regel für jedes Zeichen 1 Byte verwendet, wobei dann maximal 256 verschiedene Zeichen möglich sind. Nachdem von den 256 Zeichen normalerweise nur wenige häufig genutzt werden, lassen sich die Texte natürlich noch komprimieren.

    Wenn man auch andere Schriftzeichen braucht, reichen 256 verschiedene Zeichen u. U. nicht mehr aus, dann werden 2 Byte oder mehr pro Zeichen benötigt. Je nach Codierung wird dann aber gar nicht für jedes Zeichen die gleiche Anzahl von Bytes verwendet, bei UTF-8 wird für ASCII-Zeichen beispielsweise weiterhin nur 1 Byte benötigt, für die deutschen Umlaute, griechische oder kyrillische Buchstaben dagegen 2 Byte, und für exotischere Zeichen sogar 3 oder 4 Byte.

  • Consolwrite an Editbox

    • Douky
    • 6. März 2011 um 02:02

    Vlt. hilft dir dieses Thema weiter.

    http://www.autoit.de/index.php?page=Thread&postID=65793

    oder diese udf

    http://www.autoit.de/index.php?page=Thread&threadID=25634

  • Consolwrite an Editbox

    • Douky
    • 5. März 2011 um 22:50

    So gehts noch einfacher.

    [autoit]


    #include <GuiEdit.au3>
    Func _log($string)
    _GUICtrlEdit_AppendText($E_Log, $string & @CRLF)
    EndFunc

    [/autoit]
  • Filecopy mit Prüfung ob datei bereits vorhanden.

    • Douky
    • 4. März 2011 um 21:43

    Und mit

    [autoit]

    @ProgramFilesDir

    [/autoit]


    Bekommst du den c:/programme oder c:/program files ordner raus

    zur not kannst du dir aber auch mit

    [autoit]

    @OSLang

    [/autoit]


    Die Sprache des Betriebsystems ausgeben lassen.

  • Software reagiert nicht auf ControlClick()

    • Douky
    • 4. März 2011 um 17:49

    Hallo Sharky1337,

    Starte mal das Autoit Window Info tool und zieh das Fadenkreuz auf den button den du gerne drücken möchtest.
    Dann Poste einfach alles was unter Summary steht und ich kann dir dann gerne ein funktionierendes beispiel schreiben ;)

    @sillyboy

    Das ist nicht ganz richtig. Parameter in [ ] sind optionale parameter die nicht zwingend mit angegeben werden müssen.
    Wenn man bei Controlclick x und y nicht mit angibt klickt er automatisch in die mitte des Controls.

    lg

  • OptionSelect

    • Douky
    • 3. März 2011 um 14:44

    bei mir funktiniert dein code...

    ich habe allerdings auch nur eine html aus dem formular erstellt und daran getestet.

    Wenn du mir den link schickst dann kann ich es dir noch genauer scripten.
    Ich weiß z.b. nicht ob dieses formular inerhalb eines Frames liegt. Ohne weitere informationen kann ich dir erstma nur dies hier zum testen anbieten.

    [autoit]

    _FFSetValue("33","gstick","name")

    [/autoit]
  • Firefox update 3.6.14 Update ff.au3 FIX (64-Bit)

    • Douky
    • 3. März 2011 um 14:28

    Heyho,

    ich glaube gestern oder vorgestern kam ein neues Firefox update raus.
    Seitdem funktionierte die _ffstart() funktion nicht mehr richtig.
    Das liegt daran das sich der Registrypfad in der 64-bit versin (win7) leicht geändert hat und die funktion __FFStartProcess nicht mehr die .Exe findet.

    Ich habe diese funktion ein wenig modifiziert indem ich sie für die 32 und 64 bit version angepasst habe.

    Spoiler anzeigen
    [autoit]

    ; #INTERNAL_USE_ONLY# ==========================================================
    ; Name ..........: __FFStartProcess
    ; Description ...: Starts the firefox.exe
    ; AutoIt Version : V3.3.0.0
    ; Syntax ........: __FFStartProcess([$sURL = "about:blank"[, $bNewWin = False[, $sProfile = "default"[, $bNoRemote = False[, $bHide = False[, $iPort = 4242[, $iTimeOut = 30000]]]]]]])
    ; Parameter(s): .: $sProfile - Optional: (Default = "default") :
    ; $bNewWin - Optional: (Default = false) :
    ; $bNoRemote - Optional: (Default = false) :
    ; $bHide - Optional: (Default = False) :
    ; $iPort - Optional: (Default = 4242) :
    ; $iTimeOut - Optional: (Default = 30000) : min. 2000ms
    ; Return Value ..: Success - 1
    ; Failure - 0
    ; @ERROR -
    ; @EXTENDED - PID from the firefox.exe
    ; Author(s) .....: Thorsten Willert
    ; Date ..........: Wed Nov 04 16:01:59 CET 2009
    ; ==============================================================================
    Func __FFStartProcess($sURL = "about:blank", $bNewWin = False, $sProfile = "default", $bNoRemote = False, $bHide = False, $iPort = 4242, $iTimeOut = 30000)

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

    If StringInStr(@OSArch, "64") Then

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

    Local Const $sFuncName = "__FFStartProcess"

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

    Local $PID = -1
    Local $sNoRemote = "", $sNewWin
    Local $sProcName = $_FF_PROC_NAME

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

    If $sProfile = "default" Then
    $sProfile = ''
    Else
    $sProfile = ' -P "' & $sProfile & '"'
    EndIf
    If $bNoRemote Then $sNoRemote = "-no-remote"
    If $bNewWin Then $sNewWin = "-new-window"
    $sURL = '"' & $sURL & '"'
    If $iTimeOut < 2000 Then $iTimeOut = 2000

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

    Local $sHKLM = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\3.6.14 (de)\Main" ;Persönliche Anpassung
    Local $sFFExe = RegRead($sHKLM & "\", "Install Directory") & "\Firefox.exe"
    If @error Then
    SetError(__FFError($sFuncName, $_FF_ERROR_GeneralError, "Error reading registry entry for FireFox." & @CRLF & _
    "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe" & @CRLF & _
    "Error from RegRead: " & @error))
    Return 0
    EndIf

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

    Local $sCommand = StringFormat('"%s" %s %s %s -repl %i %s', $sFFExe, $sNewWin, $sURL, $sNoRemote, $iPort, $sProfile)
    $PID = Run($sCommand)
    If $bHide Then BlockInput(1)

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

    Local $iTimeOutTimer = TimerInit()
    While 1
    Sleep(2000)
    If ProcessExists($sProcName) Then ExitLoop
    If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
    SetError(__FFError($sFuncName, $_FF_ERROR_Timeout, "Browser process not exists: " & $sProcName))
    BlockInput(0)
    Return 0
    EndIf
    WEnd

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

    If $bHide Then
    Local $WINTITLE_MATCH_MODE = AutoItSetOption("WinTitleMatchMode", 4)
    WinWaitActive("[CLASS:MozillaUIWindowClass]")
    Sleep(500)
    WinSetState("[CLASS:MozillaUIWindowClass]", "", @SW_MINIMIZE)
    BlockInput(0)
    AutoItSetOption("WinTitleMatchMode", $WINTITLE_MATCH_MODE)
    Else
    Sleep(1000)
    EndIf

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

    If $_FF_COM_TRACE Then ConsoleWrite('__FFStartProcess: "' & $sCommand & @CRLF)

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

    SetExtended($PID)
    Return 1

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

    Else

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

    Local Const $sFuncName = "__FFStartProcess"

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

    Local $PID = -1
    Local $sNoRemote = "", $sNewWin
    Local $sProcName = $_FF_PROC_NAME

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

    If $sProfile = "default" Then
    $sProfile = ''
    Else
    $sProfile = ' -P "' & $sProfile & '"'
    EndIf
    If $bNoRemote Then $sNoRemote = "-no-remote"
    If $bNewWin Then $sNewWin = "-new-window"
    $sURL = '"' & $sURL & '"'
    If $iTimeOut < 2000 Then $iTimeOut = 2000

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

    Local $sHKLM = "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox"
    Local $sFFExe = RegRead($sHKLM & "\" & RegRead($sHKLM, "CurrentVersion") & "\Main", "PathToExe")
    If @error Then
    SetError(__FFError($sFuncName, $_FF_ERROR_GeneralError, "Error reading registry entry for FireFox." & @CRLF & _
    "HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\*CurrentVersion*\Main\PathToExe" & @CRLF & _
    "Error from RegRead: " & @error))
    Return 0
    EndIf

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

    Local $sCommand = StringFormat('"%s" %s %s %s -repl %i %s', $sFFExe, $sNewWin, $sURL, $sNoRemote, $iPort, $sProfile)
    $PID = Run($sCommand)
    If $bHide Then BlockInput(1)

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

    Local $iTimeOutTimer = TimerInit()
    While 1
    Sleep(2000)
    If ProcessExists($sProcName) Then ExitLoop
    If (TimerDiff($iTimeOutTimer) > $iTimeOut) Then
    SetError(__FFError($sFuncName, $_FF_ERROR_Timeout, "Browser process not exists: " & $sProcName))
    BlockInput(0)
    Return 0
    EndIf
    WEnd

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

    If $bHide Then
    Local $WINTITLE_MATCH_MODE = AutoItSetOption("WinTitleMatchMode", 4)
    WinWaitActive("[CLASS:MozillaUIWindowClass]")
    Sleep(500)
    WinSetState("[CLASS:MozillaUIWindowClass]", "", @SW_MINIMIZE)
    BlockInput(0)
    AutoItSetOption("WinTitleMatchMode", $WINTITLE_MATCH_MODE)
    Else
    Sleep(1000)
    EndIf

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

    If $_FF_COM_TRACE Then ConsoleWrite('__FFStartProcess: "' & $sCommand & @CRLF)

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

    SetExtended($PID)
    Return 1

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

    EndIf
    EndFunc ;==>__FFStartProcess

    [/autoit]
  • Webseite nach einem String durchsuchen

    • Douky
    • 2. März 2011 um 23:54

    Wenn du die FF.au3 nutzt kannst du auch die Suchfunktion daraus nutzen.

    bsp.:

    [autoit]

    #include <ff.au3>
    _ffstart("www.google.de")
    If _ffsearch("Datenschutz") Then
    MsgBox(0, "Info", "Gefunden")
    Else
    MsgBox(0, "info", "Nicht gefunden")
    EndIf

    [/autoit]
  • Rekursive Programmierung sinnvoll? Wann und warum?

    • Douky
    • 24. Februar 2011 um 12:22

    Ich wollt mich an dieser Stelle gerne mal bei allen bedanken. =)
    Jetzt weiß ich alles darüber was ich wollte. ^^

  • Login Script

    • Douky
    • 23. Februar 2011 um 16:35
    Zitat
    [autoit]

    If Stringinstr($html,"WAS MUSS HIER HIN??") then

    [/autoit]

    Da muss etwas rein was sich ausschließlich auf der Website befindet wenn man eingelogt ist.

    Z.b. der Logout Button oder sowas halt.

    so ca.

    [autoit]

    If Stringinstr($html,"logout") <> 0 then
    msgbox(0,"","Erfolgreich eingelogt")
    else
    msgbox(0,"","Login Fail")
    endif

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

    Du musst darauf achten was eine Funktion zurück gibt.
    Stringinstr gibt nicht "gefunden" oder "nicht gefunden" (True,False) zurück, sondern dies hier.

    Zitat

    Rückgabewert
    Erfolg:
    Gibt die Position des Unterstrings zurück.
    Fehler:
    Gibt 0 zurück, wenn die Unterstring nicht gefunden wurde.
    @Error
    0 - Normaler Ablauf
    1 - ungültiger "start" oder "occurance" Parameter.

    Alles anzeigen

    Wobei....
    Kein fund = 0 = False
    :)

  • Edit und Inputbox Change event

    • Douky
    • 23. Februar 2011 um 14:59

    @ XovoxKingdom danke dir. nicht 100% das was ich wollte, aber so hab ich mal wieder was über events bei autoit gelernt.

    @ Molaynox Perfekt! manchmal sind die einfachsten wege doch die einfachsten.

  • Wie kann ich Zahlen mit Tausenderzeichen in StringFormat formatieren?

    • Douky
    • 23. Februar 2011 um 14:53

    Hab die Funktion mal für dich rausgesucht.
    Kannst du einfach unter dein Script oder wieder in die String.au3 kopieren.

    Spoiler anzeigen
    [autoit]


    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _StringAddThousandsSep
    ; Description ...: Returns the original numbered string with the Thousands delimiter inserted.
    ; Syntax.........: _StringAddThousandsSep($sString[, $sThousands = -1[, $sDecimal = -1]])
    ; Parameters ....: $sString - The string to be converted.
    ; $sThousands - Optional: The Thousands delimiter
    ; $sDecimal - Optional: The decimal delimiter
    ; Return values .: Success - The string with Thousands delimiter added.
    ; Remarks .......:
    ; Related .......:
    ; Link ..........;
    ; Example .......; Yes
    ; ==============================================================================================================================
    Func _StringAddThousandsSep($sString, $sThousands = ",", $sDecimal = ".")
    Local $aNumber, $sLeft, $sResult = "", $iNegSign = "", $DolSgn = ""
    If Number(StringRegExpReplace($sString, "[^0-9\-.+]", "\1")) < 0 Then $iNegSign = "-" ; Allows for a negative value
    If StringRegExp($sString, "\$") And StringRegExpReplace($sString, "[^0-9]", "\1") <> "" Then $DolSgn = "$" ; Allow for Dollar sign
    $aNumber = StringRegExp($sString, "(\d+)\D?(\d*)", 1)
    If UBound($aNumber) = 2 Then
    $sLeft = $aNumber[0]
    While StringLen($sLeft)
    $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
    $sLeft = StringTrimRight($sLeft, 3)
    WEnd
    $sResult = StringTrimLeft($sResult, 1); Strip leading thousands separator
    If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1] ; Add decimal
    EndIf
    Return $iNegSign & $DolSgn & $sResult ; Adds minus or "" (nothing)and Adds $ or ""
    EndFunc ;==>_StringAddThousandsSep

    [/autoit]
  • Edit und Inputbox Change event

    • Douky
    • 23. Februar 2011 um 13:59

    heyho,

    ich würde gerne darauf reagieren wenn jemand einen Text in eine inputbox bzw edit einträgt.
    Also bei jedem buchstaben der eingegeben wird (onchange) möchte ich gerne eine Funktion aufrufen.

    Um etwas genauer zu werden würde ich gerne wärend ich etwas in Edit1 eintrage ein anderes Steuerelement deaktivieren.
    Nachdem dann so 2-3 sekunden keinerlei eingaben mehr in Edit1 gemacht wurde, dann würd ich gerne das Steuerelement wieder aktivieren.

  • Wie kann ich Zahlen mit Tausenderzeichen in StringFormat formatieren?

    • Douky
    • 23. Februar 2011 um 12:51

    Hiermit gehts: (alles aus der Hilfe kopiert)

    [autoit]

    #Include <string.au3>

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

    _StringAddThousandsSep($sString[, $sThousands = -1[, $sDecimal = -1]])

    [/autoit]

    EDIT:

    Bsp:

    [autoit]

    #include <String.au3>

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

    $nAmount = 89996.31 ;anzuzeigender Wert

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

    $sDelimted = _StringAddThousandsSep($nAmount) ;Wert mit Trennzeichen

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

    MsgBox(64, 'Info', $sDelimted)

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

    $nAmt = '38849230' ;anzuzeigender Wert

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

    $sDelim = _StringAddThousandsSep($nAmt) ;Wert mit Trennzeichen

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

    MsgBox(64, 'Info', $sDelim)

    [/autoit]
  • Rekursive Programmierung sinnvoll? Wann und warum?

    • Douky
    • 23. Februar 2011 um 00:07

    hey Leute,

    ich hab ebend so im Internet ein wenig nach Rekursiver Programmierung gesucht aber habe leider nicht ganz das gefunden was ich wollte. Herraus gefunden habe ich aber das sich rekursiv programmierte Prozeduren, Funktionen oder Methoden selbst aufrufen.

    In wie weit ist das Sinnvoll?
    Gibts da typische Anwendungsbeispiele?
    Sollte man das lieber vermeiden?
    Ist diese Art von programmierung schnell?
    Und wie ist so eure persönliche Meinung dazu?

    Vielen dank schonmal für euer Interesse :)

  • OutlookEX UDF - 2019-11-30: Neue Version 1.4.0.0. freigegeben

    • Douky
    • 17. Februar 2011 um 13:12

    Hi,

    in der "alten" UDF habe ich es einfach nicht hinbekommen Emails aus einem anderen Order als den Posteingang + Unterordner zu lesen.

    Dann Funktioniert das Löschen nach Recive-datum nicht.

    Und die wichtigste Funktion die fehlt ist das abrufen von neuen E-mails, inkl. warten bis sie fertig herrunter geladen sind.

    Ich werd ma weiter grübeln was mir noch fehlt.

    lg

  • Fenster maximieren

    • Douky
    • 16. Februar 2011 um 20:37
    Zitat

    hab´s so:

    Spoiler anzeigen
    [autoit]

    Case $msg = $startbutton
    WinSetState("Warcraft III", "", @SW_MAXIMIZE)
    Sleep(2000)
    _Exit()

    [/autoit]

    klappt aber nich...
    buttons alle definiert und so die 4 anderen alufen ja auch bloß er lässt das maximieren aus


    An dieser Stelle würde ich gerne auf die Forenregeln verweisen.
    Ins besondere Punkt 3

    Zitat

    Folgende Inhalte sind absolut unerwünscht. Das Team behält es
    sich ausdrücklich vor, bei Verstoß gegen diese Regeln je nach
    Schweregrad zu verwarnen, zu löschen oder gar komplett zu sperren.

    • Bots für Spiele jeglicher Art, insbesondere Onlinespiele und ganz besonders Silkroad Online sowie World of Warcraft
    • Tools, um Nachrichten unerwünscht oft zu versenden (Spamming-Tools)
    • Programme, die anderen, auch Freunden, einen Schreck
      einjagen sollen oder sich sonst über andere Nutzer lustig machen
      ("Spaßviren")
    • Automatisierung von Webseiten oder Tools, die das in ihren AGBs verbieten
    • Viren
    • Malware, Spyware
    • Keylogger
    • Umgehen von Captchas


    Diese Liste ist ausdrücklich nicht vollständig. Programme, die dem
    hinter diesen Regeln stehenden Geist widersprechen, sind ebenso als
    nicht erlaubt anzusehen

    Alles anzeigen
  • Fenster maximieren

    • Douky
    • 16. Februar 2011 um 18:38
    [autoit]

    WinSetState ( "title", "text", @SW_MAXIMIZE)

    [/autoit]
  • If... fragen

    • Douky
    • 16. Februar 2011 um 16:31

    Nicht das ich wüsste, aber hier findest du alle "Makros".

    http://translation.autoit.de/onlinehilfe/macros.htm


    EDIT:

    Ich glaube man darf hier keine Scripte supporten die sich selbst in den Autostart kopieren. Das könnten viele auch für Schadsoftware verwenden.

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™