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

Beiträge von Schumi

  • Tutorial für ADO Zugriffe auf SQL-Datenbanken, Excel, Textfiles etc. erstellen

    • Schumi
    • 23. Januar 2014 um 18:50

    ja, das glaube ich auch.
    Die UDL-Datei kann man eben schnell anlegen, auch ohne Berechtigungen.
    Bei einer ODBC-Verbindung braucht man (glaub ich ?) Berechtigungen.

  • Tutorial für ADO Zugriffe auf SQL-Datenbanken, Excel, Textfiles etc. erstellen

    • Schumi
    • 23. Januar 2014 um 15:37

    Oh, häufig (?) - ich kann nur für mich sprechen.
    UDL-Dateien sind für mich eine schöne schnelle Sache. In der Praxis wird vielleicht mehr mit ODBC-Verbindungen gearbeitet.

    Gruß Schumi

  • Tutorial für ADO Zugriffe auf SQL-Datenbanken, Excel, Textfiles etc. erstellen

    • Schumi
    • 21. Januar 2014 um 15:03

    Hallo Water,
    da hast du dir ja eine Wahnsinnsarbeit gemacht – super.

    Mal so auf die Schnelle... vielleicht ist so etwas noch brauchbar?

    Spoiler anzeigen
    [autoit]


    Func CreateUdl($UdlFile)
    ; erstellt eine UDL-Datei
    Local $file
    $UdlFile = $UdlFile & ".udl" ; evtl. .udl erzwingen?
    If FileExists($UdlFile)=0 Then
    $file = FileOpen($UdlFile, 2)
    ; prüfen, ob Datei zum Schreiben geöffnet wurde
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die UDL-Datei konnte nicht angelegt werden.")
    Return -1 ; Fehler
    EndIf
    FileClose($file)
    EndIf
    ;starte den Assistenten und warte (oder nicht ?)
    ;return ShellExecute 0, "open", $UdlFile, vbNullString, vbNullString, SW_SHOWNORMAL=1
    return ShellExecuteWait($UdlFile, '', $UdlFile, 'open', 1)
    EndFunc

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

    Func GetConnectionObj($UDLfile)
    ; liefert ein ConnectObj aus UDL-Datei oder -1 bei Fehler
    Local $sqlCon
    $sqlCon = ObjCreate("ADODB.Connection")
    If IsObj($sqlCon) <> 1 Then
    MsgBox(0, "Fehler", "Kein ADO-Objekt möglich!" )
    Return -1 ; Fehler
    EndIf
    $sqlCon.ConnectionString = "File Name=" & $UDLfile & " ;"
    $sqlCon.Open
    ; state connection 0 = N-OK, 1 = Ok, 2 = Connecting
    if $sqlCon.State <> 1 Then
    MsgBox(0, "Fehler", "Keine Connection-Verbindung möglich!" )
    Return -1 ; Fehler
    EndIf
    Return $sqlCon
    EndFunc

    [/autoit]


    Gruß Schumi

  • Bildobjekt vom Fenster erstellen

    • Schumi
    • 7. Oktober 2013 um 18:40

    Hallo UEZ,

    es funktioniert super.
    Vielen vielen Dank.

    Gruß Schumi

  • Bildobjekt vom Fenster erstellen

    • Schumi
    • 7. Oktober 2013 um 17:55

    Hallo zusammen,

    ich habe mal wieder eine Frage und hoffe auf eure Hilfe.
    Hier im Beisp. erstelle ich ein Bildobjekt von einem Win.-Fenster. (Das glaube ich zumindest ;) )
    Im Beisp. mache ich das über den Umweg einer PNG-Datei.

    Spoiler anzeigen
    [autoit]


    #include <ScreenCapture.au3>
    #Include <String.au3>
    #include <File.au3>
    #Include <WinAPI.au3>
    #Include <GDIPlus.au3>

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

    $File = "C:\BilddateiTest.png"

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

    Run("notepad.exe")
    WinWait("[CLASS:Notepad]", "")
    $handle = ControlGetHandle("[CLASS:Notepad]", "", "Edit1")

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

    If @error Then
    MsgBox(4096, "Fehler ...", "Das richtige Fenster konnte nicht gefunden werden")
    Exit
    Else
    ; MsgBox(0, "i.O.", "alles iO.")
    EndIf

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

    ; Erstellt eine Bilddatei von einem Fenster
    _ScreenCapture_CaptureWnd ($File, $handle)

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

    _GDIPlus_Startup()
    ; Lade das Bild aus der Datei
    $hBitmap = _GDIPlus_ImageLoadFromFile ($File)

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

    $y = _GDIPlus_ImageGetHeight ($hBitmap)
    $x = _GDIPlus_ImageGetWidth ($hBitmap)

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

    MsgBox(0,"Fenstergröße","X ist:" & $x & " Y ist:" & $y)
    ; ...und so weiter
    ; ...und so weiter
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_Shutdown()

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


    Meine Frage ist jetzt:
    Wie kann ich mir das Speichern der Bilddatei sparen und gleich zu dem Bildobjekt kommen?
    Vielen Dank.

    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 4. Juli 2012 um 18:11

    Hallo,
    sorry hat etwas gedauert.
    Vielen Dank für den Tipp aber leider hat nichts funktioniert.

    Gruß Schumi

  • StrVar = Shell("C:\MyScript.exe") aber wie ?

    • Schumi
    • 28. Juni 2012 um 18:26

    Hallo,
    also ich denke es geht nicht.
    Ich habe einiges getestet und -wie vermutet- ich konnte nichts übergeben, werder eine bestimmte Zahl noch Text.

    Danke für das Interesse.
    Gruß Schumi

  • StrVar = Shell("C:\MyScript.exe") aber wie ?

    • Schumi
    • 28. Juni 2012 um 14:32

    Hallo Bugfix,

    Shell ist nur ein Beispiel für eine andere Anwendung bzw. Script.

    Was habe ich vor:
    In einer externen Eigenentwicklung (auch so eine Art Script) brauche ich noch ein paar Funktionen.
    Ich kann in diesem "externen" Script diese Funktionen leider nicht einfügen.
    Ich habe aber die Möglichkeit eine Art ShellExecuteWait aufzurufen.

    Nun ist meine Idee:
    An den entsprechenden Stellen rufe ich "MyScript.exe" mit meinen Funktionen auf und komme so an die Funktionsergebnisse.
    Also von hinten durch die Brust ins Auge...

    Ja, und wenn das so geht wäre das die Lösung...so der Plan. Ein script habe noch nicht... weil kein Plan..
    Im Script hätte ich es so versucht:

    Exit("MyScript war hier")

    Aber vielleicht kann man auch was über die "parameters" machen? i.s. von ShellExecuteWait ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )
    Ich hatte so etwas noch nicht, also keine Ahnung. Ich fürchte nur das geht alles nicht.. weil nicht vorgesehen ..oder doch?

    Gruß Schumi

  • StrVar = Shell("C:\MyScript.exe") aber wie ?

    • Schumi
    • 28. Juni 2012 um 12:57

    Hallo zusammen,

    wie mache ich das damit ein Script einen StringWert über einen Shellaufruf zurückgeben kann?
    Ich tippe mal es handelt sich um den Return Code von Exit.
    Lt. Hilfe sind aber nur INT-Werte möglich.

    Hat jemand noch eine Idee?

    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 25. Juni 2012 um 17:37

    Hallo,

    recht herzlichen Dank für den Tipp.
    Mein erster Test war leider ohne Erfolg. Ich habe alle Namen duchgetestet. Das Gleiche auch mit #Include <SendMessage.au3>. Lt. Hilfe gehört die ja dazu, oder?
    Der Link ist auch interessant. Das teste ich auch noch und melde mich dann wieder.

    Vielen Dank.
    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 25. Juni 2012 um 11:27

    Hallo,
    es ist eine Art Terminal-Programm. Man arbeitet also an einem Großrechner und das Terminalfenster ist in eine GUI verpackt.
    Man kann also nicht mal eben bei sich auf dem heimischen PC das Zeug installieren und testen.
    Wäre aber toll wenn ich weitere Lösungsansätze zum Testen bekomme.

    Bisher habe ich das hier versucht.

    Spoiler anzeigen
    [autoit]


    #Include <Array.au3>
    Local $i
    Local $WinFenster = "Basissystem"
    Local $Text = WinGetClassList($WinFenster)
    $Text = StringSplit($Text,@lf)

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

    Local $Classliste1[UBound($Text)][2]
    Local $Classliste2[UBound($Text)][2]

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

    For $i = 0 To UBound($Text) - 1
    $Classliste1[$i][0] = $Text[$i]
    $Classliste1[$i][1] = ControlGetText("[Class:MaxMainForm]","","[CLASS:" & $Text[$i] & "; INSTANCE:1]")

    $Classliste2[$i][0] = $Text[$i]
    $Classliste2[$i][1] = ControlGetText("[Class:MaxMainForm]","","[CLASS:TRzStatusBar]")
    Next
    ; Inhalte anzeigen
    _ArrayDisplay($Classliste1, " mit INSTANCE:1")
    _ArrayDisplay($Classliste2, " ohne ")

    [/autoit]


    Das hat aber nichts gebracht.
    Was könnte ich noch testen?

    Gruß Schumi

  • Statusbar auslesen

    • Schumi
    • 25. Juni 2012 um 00:13

    Hallo zusammen,

    ich suche noch immer nach einer Möglichkeit eine Statusbar auszulesen, wie ich hier
    geschrieben habe. Ich könnte mir damit viel Arbeit ersparen.

    Und genau dafür suche ich Hile.
    Kann mir dabei jemand helfen?

    Gruß Schumi

  • MSSQL2005 Rückgabewert mit Update und Output Inserted.Feld

    • Schumi
    • 19. Juni 2012 um 18:13

    Ich hab's doch noch gefunden..

    Code
    So geht es ... (VBA)
    
    
    Set Comm = CreateObject("ADODB.Command")
    With Comm
                    .ActiveConnection = ConnectString
                    .CommandText = " Update Table set Feldname = 'Neuer Wert'  Output Inserted.Feldname " 
                    .CommandType = 1    
    Set Recordset = .Execute   
    End With
    Rueckgabewert = Recordset.Fields("Feldname").Value
    Alles anzeigen

    Gruß Schumi

  • MSSQL2005 Rückgabewert mit Update und Output Inserted.Feld

    • Schumi
    • 19. Juni 2012 um 17:23

    Hallo zusammen,

    M$ beschreibt hier:
    "Im folgenden Beispiel wird die OUTPUT-Klausel in einer DELETE-Anweisung verwendet, um die gelöschte Zeile an die aufrufende Anwendung zurückzugeben."

    USE AdventureWorks2012;
    GO
    DELETE TOP(1) dbo.DatabaseLog WITH (READPAST)
    OUTPUT deleted.*
    WHERE DatabaseLogID = 7;
    GO

    Und genau das bekomme ich nicht hin - mit Update und Inserted.
    Wie bekomme ich einen Rückgabewert?
    Hat einer eine Idee, Bsp. oder Link für mich?

    Vielen Dank vorab.
    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 11. Juni 2012 um 09:58

    Hallo,
    noch eine Frage dazu:
    Kann man mit _Memory die richtige Class finden und dann die Statusbar auslesen?

    Gruß Schumi

  • StringRegExp problem

    • Schumi
    • 7. Juni 2012 um 22:22

    Hallo,

    als Regex ich hätte es so versucht \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|(?<=\[)\d{1,7}(?=\])
    (keine Ahnung ob der Port 7 Stellen haben kann, evtl anpassen)

    Beschreibungen findest du in der Hilfe und hier:
    https://autoit.de/index.php?page=Thread&amp;threadID=19071

    Ein kleines Tool zum Testen findest du hier:
    http://n2b.ch/2011/01/22/autoit-regexp-tester-utility/

    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 7. Juni 2012 um 10:16

    Hallo,

    ..mit ControlGetText klappt es nicht..

    Gruß Schumi

  • Statusbar auslesen / Memory

    • Schumi
    • 7. Juni 2012 um 00:31

    Hallo zusammen,

    jede Statusbar kann man ja nicht auslesen. Nur zur Sicherheit die Frage.
    Hat es jemand evtl. mit dieser Class geschafft?

    Ich versuche diese Statusbar auszulesen und bekomme es nicht hin.
    Mal wird hier eine Prozessbar und mal ein Text gezeigt. Und ich brauche den Text.

    >>>> Window <<<<
    Title: MAX - system
    Class: MaxMainForm
    Position: 0, 0
    Size: 1024, 738
    Style: 0x16CF0000
    ExStyle: 0x00050100
    Handle: 0x000B01BC

    >>>> Control <<<<
    Class: TRzStatusBar
    Instance: 1
    ClassnameNN: TRzStatusBar1
    Name:
    Advanced (Class): [CLASS:TRzStatusBar; INSTANCE:1]
    ID: 459452
    Text:
    Position: 24, 670
    Size: 989, 19
    ControlClick Coords: 358, 8
    Style: 0x56000000
    ExStyle: 0x00010000
    Handle: 0x000802BC

    Hat einer eine Idee?

    Gruß Schumi

  • wie ODBC-Datenquelle (System-DSN) nutzen

    • Schumi
    • 31. Mai 2012 um 19:43

    Hallo Andy,
    so richtig hat dein Tipp bei mir nicht funktioniert.

    Dafür konnte ich das hier testen und das funktioniert.

    [autoit]


    $sqlCon = ObjCreate("ADODB.Connection")
    $sqlCon.Open ("DSN=MeineVerbindung;Uid=sa;Pwd=xxx") ; mit User und PW

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

    ; oder (ungetestet)
    ; $sqlCon.Open ("DSN=MeineVerbindung") ; mit NT Authentifizierung

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

    Danke für den Versuch.
    Gruß Schumi

  • wie ODBC-Datenquelle (System-DSN) nutzen

    • Schumi
    • 30. Mai 2012 um 21:30

    Hallo Andy,

    vielen Dank für die Info. Das sieht alles sehr "spannend" aus...
    Ich teste das mal.

    Besten Dank.
    Gruß Schumi

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™