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

Beiträge von ip_trainer

  • Outlook com Objekt erstellen schlägt fehl

    • ip_trainer
    • 29. August 2009 um 02:18

    Hi zusammen,

    hat jemand eine Idee, warum das fehl schlägt? Kann das an Outlook 2007 liegen?

    [autoit]

    $ol = ObjCreate ("Outlook.Application")

    [/autoit]

    Mit Excel (wobei das auch 2007 ist, fällt mir gerade ein) funktioniert es einwandfrei 8| :

    [autoit]

    $objXL = ObjCreate("Excel.Application")

    [/autoit]

    Danke und Gruß
    trainer

  • Texteld(er) und evtl. andere Elemente auf Änderungen überwachen

    • ip_trainer
    • 28. August 2009 um 14:16

    Wahnsinn, ihr seid einach spitze.

    Sowas habe ich bisher noch in keinem Forum erlebt. So schnelle und freundliche Antworten auf offensichtlich (für die Antworter) recht einfach Fragen, ohne blöde Kommentare!

    :thumbup: Bleibt so, bitte!

    Gruß
    trainer

  • Texteld(er) und evtl. andere Elemente auf Änderungen überwachen

    • ip_trainer
    • 28. August 2009 um 14:01

    Super, danke!

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <String.au3>

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

    ;Passwort-Zeichen definieren
    $ES_PASSWORD = 0x0020

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

    $Form1_1 = GUICreate("MoonyDialer Konfiguration", 484, 426, 323, 147)
    $Group1 = GUICtrlCreateGroup("Fritzbox-Einstellungen", 16, 8, 449, 401)
    $save = GUICtrlCreateButton("Speichern", 368, 40, 75, 25, 0)
    $apply = GUICtrlCreateButton("Übernehmen", 368, 72, 75, 25, 0)
    $cancel = GUICtrlCreateButton("Abbrechen", 368, 120, 75, 25, 0)
    $Group2 = GUICtrlCreateGroup("Standard MSN und Port", 32, 32, 305, 89)
    $MSN_1 = GUICtrlCreateInput("", 88, 64, 89, 21)
    $Label_MSN_1 = GUICtrlCreateLabel("MSN 1", 48, 64, 37, 17)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT)
    $Label_Port_1 = GUICtrlCreateLabel("Zug. Portnr.", 197, 63, 60, 17)
    $Port_1 = GUICtrlCreateInput("", 261, 63, 65, 21)
    $Label1 = GUICtrlCreateLabel("... werden verwendet, falls keine Zuordnung möglich ist", 53, 95, 264, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Weitere MSNs und Ports", 32, 136, 305, 137)
    $MSN_2 = GUICtrlCreateInput("", 85, 167, 89, 21)
    $Port_2 = GUICtrlCreateInput("", 261, 167, 65, 21)
    $MSN_3 = GUICtrlCreateInput("", 85, 199, 89, 21)
    $Port_3 = GUICtrlCreateInput("", 261, 199, 65, 21)
    $MSN_4 = GUICtrlCreateInput("", 85, 231, 89, 21)
    $Port_4 = GUICtrlCreateInput("", 261, 231, 65, 21)
    $Label_Port_4 = GUICtrlCreateLabel("Zug. Portnr.", 197, 231, 60, 17)
    $Label_Port_3 = GUICtrlCreateLabel("Zug. Portnr.", 197, 199, 60, 17)
    $Label_Port_2 = GUICtrlCreateLabel("Zug. Portnr.", 197, 167, 60, 17)
    $Label_MSN_2 = GUICtrlCreateLabel("MSN 2", 45, 167, 37, 17)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT)
    $Label_MSN_3 = GUICtrlCreateLabel("MSN 3", 45, 199, 37, 17)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT)
    $Label_MSN_4 = GUICtrlCreateLabel("MSN 4", 45, 231, 37, 17)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("Passwort und IP-Adresse", 32, 288, 305, 105)
    $Passwort = GUICtrlCreateInput("", 109, 319, 217, 21, $ES_PASSWORD)
    $IP = GUICtrlCreateInput("", 109, 351, 217, 21)
    $Label_IP_Adresse = GUICtrlCreateLabel("IP-Adresse", 45, 351, 55, 17)
    $Label_Passwort = GUICtrlCreateLabel("Passwort", 45, 319, 47, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label_Hilfe = GUICtrlCreateLabel("Hilfe", 408, 368, 31, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)

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

    ;INI-Datei auslesen
    $MSN_Port_Settings = IniReadSection ("moony_dialer_settings.ini", "MSN_Port_Settings")
    $FritzBox_Settings = IniReadSection ("moony_dialer_settings.ini", "FritzBox_Settings")
    If @error Then
    MsgBox(4096, "", "Fehler! Die ini-Datei ist nicht vorhanden oder fehlerhaft und wird neu erstellt.")

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

    ;Alte ini löschen
    FileRecycle ("moony_dialer_settings.ini")

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

    ;Neue ini erzeugen
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "MSN_1", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "Port_1", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "MSN_2", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "Port_2", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "MSN_3", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "Port_3", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "MSN_4", "")
    IniWrite("moony_dialer_settings.ini", "MSN_Port_Settings", "Port_4", "")
    IniWrite("moony_dialer_settings.ini", "FritzBox_Settings", "Passwort", "")
    IniWrite("moony_dialer_settings.ini", "FritzBox_Settings", "IP_Adresse", "")

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

    ;...und wieder einlesen
    $MSN_Port_Settings = IniReadSection ("moony_dialer_settings.ini", "MSN_Port_Settings")
    $FritzBox_Settings = IniReadSection ("moony_dialer_settings.ini", "FritzBox_Settings")
    EndIf

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

    ;Werte in die Felder eintragen
    GUICtrlSetData($MSN_1, $MSN_Port_Settings[1][1])
    GUICtrlSetData($Port_1, $MSN_Port_Settings[2][1])
    GUICtrlSetData($MSN_2, $MSN_Port_Settings[3][1])
    GUICtrlSetData($Port_2, $MSN_Port_Settings[4][1])
    GUICtrlSetData($MSN_3, $MSN_Port_Settings[5][1])
    GUICtrlSetData($Port_3, $MSN_Port_Settings[6][1])
    GUICtrlSetData($MSN_4, $MSN_Port_Settings[7][1])
    GUICtrlSetData($Port_4, $MSN_Port_Settings[8][1])
    GUICtrlSetData($Passwort, _StringEncrypt(0, $FritzBox_Settings[1][1], "ETWAS INDIVIDUELLES",2))
    GUICtrlSetData($IP, $FritzBox_Settings[2][1])

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

    ;Die Funktionen _collect_data und _save_to_ini werden sowohl beim Speichern als auch beim Übernehmen verwendet, daher als Funktion
    Func _collectData()
    $MSN_Port_Settings[1][1] = GUICtrlRead($MSN_1)
    $MSN_Port_Settings[2][1] = GUICtrlRead($Port_1)
    $MSN_Port_Settings[3][1] = GUICtrlRead($MSN_2)
    $MSN_Port_Settings[4][1] = GUICtrlRead($Port_2)
    $MSN_Port_Settings[5][1] = GUICtrlRead($MSN_3)
    $MSN_Port_Settings[6][1] = GUICtrlRead($Port_3)
    $MSN_Port_Settings[7][1] = GUICtrlRead($MSN_4)
    $MSN_Port_Settings[8][1] = GUICtrlRead($Port_4)

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

    $FritzBox_Settings[1][1] = _StringEncrypt(1, GUICtrlRead($Passwort), "ETWAS INDIVIDUELLES",2)
    $FritzBox_Settings[2][1] = GUICtrlRead($IP)
    EndFunc

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

    Func _save_to_ini()
    IniWriteSection("moony_dialer_settings.ini", "MSN_Port_Settings", $MSN_Port_Settings)
    IniWriteSection("moony_dialer_settings.ini", "FritzBox_Settings", $FritzBox_Settings)
    EndFunc

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

    ;Meldungen der GUI abfangen
    While 1
    $nMsg = GUIGetMsg(1)
    ;... und auswerten:
    Select

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

    ; SAVE: Daten speichern und Fenster schließen
    Case $nMsg[0] = $save
    _collectData() ;Daten aus GUI auslesen
    _save_to_ini() ;Daten wieder in die .ini-Datei schreiben
    ExitLoop

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

    ; APPLY: Daten speichern, sonst nichts
    Case $nMsg[0] = $apply
    _collectData() ;Daten aus GUI auslesen
    _save_to_ini() ;Daten wieder in die .ini-Datei schreiben
    GUICtrlSetState($cancel, $GUI_DISABLE) ;Cancel-Button disablen

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

    ; CANCEL: Fenster schließen ohne zu speichern
    Case $nMsg[0] = $cancel
    ExitLoop

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

    ; Im Hilfefall...
    Case $nMsg[0] = $Label_Hilfe
    run("hh.exe moony_dialer_help.chm","")

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

    ;Bei Veränderungen in den Textfeldern den Cancel-Button wieder enabeln
    Case $nMsg[0] = $MSN_1 Or $nMsg[0] = $MSN_2 Or $nMsg[0] = $MSN_3 Or $nMsg[0] = $MSN_4 Or $nMsg[0] = $Port_1 Or $nMsg[0] = $Port_2 Or $nMsg[0] = $Port_3 Or $nMsg[0] = $Port_4
    GUICtrlSetState($cancel, $GUI_ENABLE)

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

    ; CLOSE-BUTTON: Rotes Kreuz schließt Fenster ohne zu speichern
    Case $nMsg[0] = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

    [/autoit]
  • Texteld(er) und evtl. andere Elemente auf Änderungen überwachen

    • ip_trainer
    • 28. August 2009 um 13:49

    Ok, danke schon mal für die schnellen Antworten!

    Raupi :

    Zitat von Raupi

    [...] und Prüfe ob sich der Inhalt der Input´s geändert hat.

    Das ist ja genau das Problem, wie überprüfe ich das?
    Viel mehr Code ist es momentan noch nicht, am Anfang werden halt noch die GUI-Elemente erzeugt, das war's dann aber auch schon :) :

    [autoit]


    $save = GUICtrlCreateButton("Speichern", 368, 40, 75, 25, 0)
    $apply = GUICtrlCreateButton("Übernehmen", 368, 72, 75, 25, 0)
    $cancel = GUICtrlCreateButton("Abbrechen", 368, 120, 75, 25, 0)
    $Group2 = GUICtrlCreateGroup("Standard MSN und Port", 32, 32, 305, 89)
    $MSN_1 = GUICtrlCreateInput("", 88, 64, 89, 21)

    [/autoit]

    nuts:

    Vielen Dank, das würde wohl klappen, nur leider kann ich es nicht auf ein Textfeld ummünzen, soweit steige ich leider noch nicht durch. Vielleicht kannst du es noch ein bißchen konkreter machen, das wäre super!

    Gruß
    trainer

  • Texteld(er) und evtl. andere Elemente auf Änderungen überwachen

    • ip_trainer
    • 28. August 2009 um 12:47

    Hallo, ich habe mal wieder eine Frage:

    Das Problem betrifft die Buttons: "Speichern", "Übernehmen" und "Abbrechen". Ich möchte nach dem Drücken des "Übernehmen"-Buttons den "Abbrechen"-Button ausgrauen, und bei Veränderungen in Textfeldern (oder anderen Elementen) wieder aktivieren. "Speichern" schließt das ganze Dialogfeld, daher ist nur der "Übernehmen"-Button das Problem. Klar könnte ich ihn auch weglassen, oder mir das Ausgrauen sparen - es interessiert mich nur einfach, ob es bzw. wie es gehen könnte.

    Meine Versuche bisher:

    [autoit]


    While 1
    $nMsg = GUIGetMsg(1)
    Select
    Case $nMsg[0] = $Textfeld_1 Or $nMsg[0] = $Textfeld_2
    GUICtrlSetState($cancel, $GUI_ENABLE)
    EndSelect
    WEnd

    [/autoit]

    Nun weren die Änderungen im Textfeld zwar abgefangen, aber erst wenn der Cursor das Feld wieder verläßt (über Tab oder Mausklick).

    Gibt es denn eine Möglichkeit alle Tastendrücke (und evtl. auch DragnDrops) abzufangen, um das "Problem" zu lösen?

    Gruß
    trainer

  • String nach UTF-16 konvertieren

    • ip_trainer
    • 27. August 2009 um 11:58

    Vielen Dank, das war natürlich noch viel mehr als ich mir erhofft hatte!

    LG Trainer

  • String nach UTF-16 konvertieren

    • ip_trainer
    • 27. August 2009 um 10:07

    Hallo zusammen,

    ich möchte einen String nach UTF-16LE (ohne BOM und abschließende 0-Bytes) konvertieren. Leider gelingt mir das nicht. Ich brauche das, um mich via http-request in meine FritzBox 7270 einzuloggen (vergleiche: http://www.avm.de/de/Extern/Technical_Note_Session_ID.pdf). Unter VBA scheint das nicht nötig zu sein, und unter php kann ich die Funktion iconv() dazu verwenden, da klappt das auch:

    PHP
    function Str2Utf16($string) { 
    $string = iconv("ISO-8859-1", "UTF-16", $string); 
    return substr($string, 2, strlen($string)-2);

    Hat jemand eine Idee, ich mache da schon seit Tagen dran rum und sehe keine Lösung. Folgender Ansatz hat mich auch nicht weitergebracht:

    [autoit]


    ; string conversion: UTF-8 --> UTF-16
    Func _Utf8ToUtf16($Utf8String)
    Local $struct = _WinAPI_MultiByteToWideChar($Utf8String, 65001)
    Return($struct)
    EndFunc

    [/autoit]

    Bin dankbar für jede Hilfe! :thumbup:

    Gruß
    trainer

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™