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

Beiträge von CrazyER

  • GUI soll nur angezeigt werden wenn ein Fenster aktiv ist.

    • CrazyER
    • 16. April 2012 um 13:16

    chip danke, funktioniert ;o)

    autoBert das hatte ich mir auch schon angeschaut, aber der Button soll sich über eine IE Seite UND auf eine Anwendung legen. Hab auch schon einen Button in das IE Fenster mit _IEBodyWrite eingebaut, aber dann funktionieren alle anderen Links auf der Seite nicht mehr, weil diese dynamisch aufgebaut ist. Bin da auch kein Spezialist drin, daher scheint diese Lösung für mich momentan am einfachsten zu sein.

  • GUI soll nur angezeigt werden wenn ein Fenster aktiv ist.

    • CrazyER
    • 16. April 2012 um 09:31

    Hallo zusammen,

    ich bastel mir mal wieder was zusammen und stosse mal wieder an meine Grenzen ;o)

    Ich möchte ein AutoIT Script im Hintergrund laufen lassen, das solange wartet, bis ein bestimmes Fenster aktiv ist. Dann soll eine GUI (in dem Fall nur ein Button) über das aktive Fenster gelegt werden.

    Mein Script macht das zwar, aber das aktive Fenster und der Button flackert nur (sieht aus wie aktiv, nicht aktiv, aktiv, nicht aktiv) und der der Button lässt sich aus dem Grund auch nicht betätigen. Wie sollte ich dieses Thema richtig angehen ??

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <array.au3>

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

    $x=1
    $y=1

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 244, 244, $x, $y,$WS_POPUP)
    $Button1 = GUICtrlCreateButton("Button1", 1, 1, 244, 244,$BS_BITMAP)
    GUICtrlSetImage (-1, "SPSconnectD3.bmp")
    GuiSetState(@SW_HIDE, $Form1)
    WinSetOnTop ( "Form1", "", 1)

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

    #EndRegion ### END Koda GUI section ###

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

    DIM $temp[4]
    $showButton =0

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

    While 1

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

    If WinActive("WAK Service Store - WAK Bestellübersicht") Then _ShowButton()

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

    If NOT WinActive("WAK Service Store - WAK Bestellübersicht") Then _HideButton()

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

    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1

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

    ProgressOn("SPSconnectD3", "Bitte warten ...")
    For $i = 1 to 100
    ProgressSet( $i, $i & " Prozent")
    Sleep(5)
    Next

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

    sleep(500)
    ProgressOff()

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

    MsgBox(0,"","DANKE")
    Exit

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

    EndSwitch

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

    WEnd

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

    Func _ShowButton()
    If $showButton =0 Then
    GuiSetState(@SW_SHOW, $Form1)
    $showButton =1
    EndIf

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

    $temp = WinGetPos("WAK Service Store - WAK Bestellübersicht")
    $x = $temp[2] + $temp[0] -252
    $y = $temp[3] + $temp[1] -252
    WinMove("Form1","",$x,$y)

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

    EndFunc

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

    Func _HideButton()
    If $showButton =1 Then
    GuiSetState(@SW_HIDE, $Form1)
    $showButton =0
    EndIf

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

    EndFunc

    [/autoit]

    Bin für jeden Tip dankbar.

  • Variable weiter verarbeiten aus einem Array bringt Fehlermeldung

    • CrazyER
    • 12. April 2012 um 11:27

    Obergrenze=3
    D:\AUTOIT\SPSconnectD3\SPSconnectD3.au3 (151) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
    $temp = String($ergebnis[$x])
    $temp = String(^ ERROR
    ->11:25:34 AutoIT3.exe ended.rc:1

    man muss es nicht verstehen ;o)

    Spoiler anzeigen
    [autoit]

    Func _Create_D3Link($ergebnis)
    $d3l = FileOpen(@ScriptDir&"\temp.d3l",2)
    FileWriteLine($d3l, "idlist" & @CRLF)
    If IsArray($ergebnis) Then ConsoleWrite('Obergrenze=' &UBound($ergebnis))
    For $x = 0 To UBound($ergebnis) - 1
    $temp = String($ergebnis[$x])
    FileWriteLine($d3l, $temp & @CRLF)
    Next
    FileClose($d3l)

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

    EndFunc

    [/autoit]
  • Variable weiter verarbeiten aus einem Array bringt Fehlermeldung

    • CrazyER
    • 12. April 2012 um 11:16

    hier mal das _sql.au3

  • Variable weiter verarbeiten aus einem Array bringt Fehlermeldung

    • CrazyER
    • 12. April 2012 um 11:05

    hier mal der komplette Code:

    Spoiler anzeigen
    [autoit]


    #include <_sql.au3>
    #include <Process.au3>
    #include <Array.au3>
    #include <IE.au3>

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

    If $CmdLine[0] > 0 Then

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

    Select
    Case $CmdLine[1] == "2D3"
    Select
    Case $CmdLine[2] == "BAID"

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

    $Warenkorbnummer = $CmdLine[3]
    $Search = "dok_dat_feld_82"

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

    $ergebnis= _Check_Oracle($Search, $Warenkorbnummer)
    _Create_D3Link($ergebnis)

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

    Case $CmdLine[2] == "Ticket"

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

    $TicketID = $CmdLine[3]

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

    EndSelect

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

    EndSelect

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

    Else
    _RunDOS("echo Bitte Parameter mit angeben")
    exit 3
    EndIf

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

    Func _Check_Oracle($Search, $ID)

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

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Driver={Microsoft ODBC for Oracle};" & _
    "CONNECTSTRING=(DESCRIPTION=" & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=SRV.XXX.de)(PORT=XXX))" & _
    "(CONNECT_DATA=(SERVICE_NAME=XXX))); Uid=XXX;Pwd=XXX;"
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )

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

    $rs.Open( "select Doku_ID from Firmen_spezifisch where "&$Search&" = "&$ID, $conn )
    $ergebnis = $rs.GetRows
    $conn.close

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

    Return $ergebnis

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

    EndFunc

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

    Func _Create_D3Link($ergebnis)
    $d3l = FileOpen(@ScriptDir&"\temp.d3l",2)
    FileWriteLine($d3l, "idlist" & @CRLF)
    _ArrayDisplay($ergebnis)
    MsgBox(0,"",$ergebnis[0])
    $x = 0
    While $x < UBound($ergebnis)-1
    $temp = _ArrayToString($ergebnis[$x])
    FileWriteLine($d3l, $temp & @CRLF)
    $x = $x + 1
    WEnd
    FileClose($d3l)

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

    EndFunc

    [/autoit]

    auch hier erhalte ich den gleichen Fehler auf den Verweis mit der ZEile der MSGBOX

  • Variable weiter verarbeiten aus einem Array bringt Fehlermeldung

    • CrazyER
    • 12. April 2012 um 10:55

    Erstmal danke für die schnelle Mithilfe.

    $x ist bei mir 2, aber selbst wenn ich MsgBox(0,"",$ergebnis[0]) ausgeben lasse, erhalte ich den selben Fehler, obwohl ich mit _ArrayDisplay($ergebnis) eindeutig Inhalte sehe.
    Ich bin komplett ratlos.

  • Variable weiter verarbeiten aus einem Array bringt Fehlermeldung

    • CrazyER
    • 12. April 2012 um 10:40

    Hallo zusammen,

    ich habe ein komische Problem.

    ich erhalte durch einen Oracle connect ein Array durch $object.GetRows
    Diese Array enthält definitiv 3 Zeilen (ich lasse es mir anzeigen).
    Wenn ich nun irgendeine Zeile verarbeiten will, sei es auch nur mit ner MSGBox erhalte ist den Fehler:

    Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded.

    Kann mir jemand sagen, was ich falsch mache ??

    [autoit]


    $ergebnis = $object.GetRows
    $d3l = FileOpen(@ScriptDir&"\temp.d3l",2)
    FileWriteLine($d3l, "idlist" & @CRLF)
    $x = 0
    While $x <= UBound($ergebnis)-1
    $temp = _ArrayToString($ergebnis[$x])
    FileWriteLine($d3l, $temp & @CRLF)
    $x = $x + 1
    WEnd
    FileClose($d3l)

    [/autoit]
  • Datenbank Return als Aarray

    • CrazyER
    • 3. April 2012 um 15:23

    Tach zusammen,

    ich verbinde mich mit einer Oracle Datenbank, somit kann ich leider nicht das _SQL UDF nutzen.

    hier mein momentaner Code:

    [autoit]

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Driver={Microsoft ODBC for Oracle};" & _
    "CONNECTSTRING=(DESCRIPTION=" & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=XXX)(PORT=1521))" & _
    "(CONNECT_DATA=(SERVICE_NAME=XXX))); Uid=XXX;Pwd=XXX;"
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )

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

    $rs.Open( "select Doku_ID from Firmen_spezifisch where dok_dat_feld_82 = 30034099", $conn )
    $ergebnis = ($rs.Fields("Doku_ID").Value)

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

    $conn.close

    [/autoit]

    Damit erhalte ich zwar ein String zurück, aber das SELECT Statement gibt mir eigentlich 3 Ergebnisse zurück.
    Wie bekomme ich es hin, dass das Return ein Array mit allen Ergebnissen wird ??

    Danke im Voraus.

    Grüße
    CrazyER

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 13:52

    sooo, nun funtkioniert es. Hab mich mal einbisschen in die VBA Welt eingelesen und somit die entsprechende Hinweise gefunden.

    Hier mein funktionierender Code:

    [autoit]

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Driver={Microsoft ODBC for Oracle};" & _
    "CONNECTSTRING=(DESCRIPTION=" & _
    "(ADDRESS=(PROTOCOL=TCP)" & _
    "(HOST=XXX)(PORT=1521))" & _
    "(CONNECT_DATA=(SERVICE_NAME=XXX))); Uid=XXX;Pwd=XXX;"
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )
    $rs.Open( "select BANNER from v$version where banner like 'Oracle%'", $conn )
    MsgBox(0, "AutoIT-SQL Result", "Value = " & $rs.Fields( "BANNER" ).Value )
    $conn.close

    [/autoit]

    Vorteil, die Einstellungen von der TNSNAMES.ORA wird gleich mit gegeben und somit ist die TNSNAMES.ORA für die Verbindung nicht nötig.

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 12:20

    da bringt der Error Handler garkein Fehler.

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 11:40

    wirklich schlauer bin ich nun auch nicht. Noch immer der selbe Fehler in der Selben Zeile ($conn.Open($DSN) Error Number 80020009) ;o)

    [autoit]

    Global $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

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

    ;----------------------------------------------------------------------------------------------------------
    ; Com Error Handler
    ;----------------------------------------------------------------------------------------------------------
    Func MyErrFunc($oMyError)
    Local $HexNumber
    Local $strMsg

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

    $HexNumber = Hex($oMyError.Number, 8)
    $strMsg = "Error Number: " & $HexNumber & @CRLF
    $strMsg &= "WinDescription: " & $oMyError.WinDescription & @CRLF
    $strMsg &= "Script Line: " & $oMyError.ScriptLine & @CRLF
    MsgBox(0, "ERROR", $strMsg)
    SetError(1)
    Endfunc

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

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Provider=OraOLEDB.Oracle;Data Source=XXX;User Id=XXX;Password=XXX";
    ;MsgBox(0,"ConnectString",$DSN)
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )
    $rs.Open( "select BANNER from v$version where banner like 'Oracle%'", $conn )
    MsgBox(0, "AutoIT-SQL Result", "Value = " & $rs.Fields( "BANNER" ).Value )
    $conn.close

    [/autoit]
  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 11:17

    $conn = ObjCreate( "ADODB.Connection" )
    $DSN = "Provider=OraOLEDB.Oracle;Data Source=d3aa;User Id=Master;Password=XXX";
    ;MsgBox(0,"ConnectString",$DSN)
    $conn.Open($DSN)
    $rs = ObjCreate( "ADODB.RecordSet" )
    $rs.Open( "select BANNER from v$version where banner like 'Oracle%'", $conn )
    MsgBox(0, "AutoIT-SQL Result", "Value = " & $rs.Fields( "BANNER" ).Value )
    $conn.close

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 11:09

    bekomme ich dennoch die gleiche fehlermeldung

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 11:02

    Als Benutzer- oder System DSN ?? ;o)) Also man findet nicht wirklich etwas dazu.
    Ich hab bislang auch noch nie den Microsoft Treiber verwendet, sondern immer den Oracle Instant Client installiert. Aber das hilft mir hier erstmal auch nicht weiter.

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 10:50

    danke erstmal,

    natürlich habe ich das Forum durchsucht und Google gefragt. Aber überall bekomme ich nur Fragmente ;o) Die dann immer zu dieser Fehlermeldung führt:
    ==> The requested action with this object has failed.

    Wäre halt interessant zu wissen was als Source verlangt wird ?? FQDN ?? IP ?? Listener ?? ODBC Verbindung ??

  • Connect auf Oracle 11r2 Database

    • CrazyER
    • 3. April 2012 um 10:01

    Hallo zusammen,

    ich möchte mit AutoIT auf eine Oracle 11 Datenbank lesend zu greifen. Kann mir jemand einen Tipp geben?? Wenn möglich würde ich auch gerne auf TNSNAMES.ORA Einträge verzichten.

    Bin für jede Idee dankbar.

    Grüße
    CrazyER

  • Auf einer IE Seite Text OnDisplay anzeigen lassen ??

    • CrazyER
    • 22. Juni 2011 um 09:43

    zu welcher UDF gehört CreateTextRgn ?? ich finde leider nicht wirklich was darüber und ScITE will auch nichts ausspucken.

  • Auf einer IE Seite Text OnDisplay anzeigen lassen ??

    • CrazyER
    • 21. Juni 2011 um 16:36

    Hallo zusammen,

    ich habe hier ein Ticketsystem mit einem Webfrontend. Nun möchte ich auf dieser IE Seite einen Text anzeigen lassen (der Text wird später mittels Variabler verändert). Wie geh ich am besten dieses Thema an ?? Kann ich mit GDI+ ein bestehendes IE Fenster "bemalen" ?? Wenn ja, wie ?? Kann ich ein Bild suchen lassen um dessen Position zu ermittlen, damit ich den Text an die richtige Stelle anzeigen lassen kann ??

    Bin für jeden Tipp dankbar, und falls jemand die Zeit hat, darf er sich auch gerne in Skype oder MSN mit mir darüber unterhalten.

    VIELEN DANK im voraus.
    Grüße CrazyER

  • Script um AD Gruppenmitglieder einer OU rekursiv auslesen

    • CrazyER
    • 13. Januar 2011 um 07:57

    Tach zusammen,

    folgendes Problem. Immerwieder rufen mich Leute an und fragen, wer denn alles Zugriff (und vorallem was für ein Zugriff) auf ein bestimmtes Verzeichnis inkl. aller Unterverzeichnisse hat.

    Da ich das Rad nicht neu erfinden möchte, wollte ich fragen ob jemand so ein Script schonmal mit AutoIT gebaut hat. Also man gibt eine AD OU an, dann werden alle Gruppen und Untergruppen der OU ausgelesen und deren Mitglieder angezeigt. Ausgabe natürlich in einer brauchbaren Form als txt oder Excel oder sonst was für ne Datei.

    Falls noch niemand sowas gebaut hat, dann werde ich mir wohl doch ein Rad bauen ;o))

    Schonmal vielen Dank im voraus.

    Grüße
    CrazyER

  • Suche UDF _GetFilesFolder_Rekursiv.au3

    • CrazyER
    • 16. Dezember 2010 um 10:23

    Habe es nun endlich gefunden ;o))

    https://autoit.de/index.php?page…Folder_Rekursiv

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™