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

Beiträge von Landfloh

  • SQL-Datenbank: variable must be of type "object" - Fehler

    • Landfloh
    • 27. Mai 2015 um 13:47

    Hallo zusammen

    Ich krieg die Krätze. Muss ein Tool umschreiben, damit es via SQL Abfrage auf eine Datenbank zugreift.

    Nun, ich habe weder Ahnung von SQL und in AutoIT bin ich auch nicht die hellste Kerze auf dem Kuchen.

    Ich habe mir Microsoft SQL Server Studio 2012 installiert, und mal etwas herumgespielt. Dabei eine kleine Datenbank erstellt. Insofern begreif ich jetzt mal wenigstens n paar SQL Statements.

    Aber dann kam AutoIT... *lol*...

    Folgendes habe ich gefunden:


    Code
    #include<array.au3>
    #include <string.au3>
    
    
    $adCN = ObjCreate("ADODB.Connection")
    $sql_server="MeineMaschine\SQLEXPRESS"
    $sql_db="Leute"
    $sql_user="[mein Benutzer]"
    $sql_pass="[MeinPasswort]
    $adCN.Open("DRIVER={SQL Server};SERVER=" & $sql_server & ";DATABASE=" & $sql_db & ";uid=" & $sql_user & ";pwd=" & $sql_pass & ";")
    ;SQL Abfrage
    $query = $adCN.Execute("Select * from Daten;")
    $ergebnis = ($query.Fields("Vorname").Value)
    ConsoleWrite($ergebnis)
    Alles anzeigen

    Joa und wenn ich das Teil jetzt laufen lasse erhalte ich eine Fehlermeldung:

    Zitat von MeinPrgramm

    "C:\AutoIT\IPchecker\IPChecker 5.0\readsql.au3" (12) : ==> Variable must be of type "Object".:
    $ergebnis = ($query.Fields("Vorname" ).Value)
    $ergebnis = ($query^ ERROR


    Hat da jemand Ahnung davon? Wär wirklich spitze wenn Ihr mir da weiter helfen könntet....

    Mit liebem Gruss vonner Kleinkerze Floh

  • Seitenspezifische Icons des Internet Explorer verwenden...

    • Landfloh
    • 26. Mai 2014 um 14:46

    Ey, DANKE !!

    Ich wusste ja dass das von der Seite ausgegeben wird. Aber ich wusste nicht, wo das hinterlegt wird.

    Habe an anderer Stelle jedoch dank Deinem Hint ne Lösung gefunden:

    [autoit]

    #include <INet.au3>
    #Include <String.au3>
    get_favicon('http://www.theglobeandmail.com')
    func get_favicon($page)
    $source=_INetGetSource($page)
    $resultarray= _StringBetween($source ,'href="', '"')
    for $i =0 to UBound($resultarray)
    if StringInStr($resultarray[$i],"favicon.ico") Then
    $hDownload1=InetGet($resultarray[$i], @DesktopDir&'\Icon1.jpg')
    ExitLoop
    EndIf
    Next
    EndFunc

    [/autoit]

    Ich guck mal ob ich damit das realisieren kann was ich möchte.

    Lieber Gruss

    Florian

  • Seitenspezifische Icons des Internet Explorer verwenden...

    • Landfloh
    • 26. Mai 2014 um 14:10

    Salü miteinander

    Am Anfang in der Adresszeile des Internet Explorers ist doch vor der Adresse ein Icon. Oft ein "Internet-e", aber wenn die Seite eins bereitstellt, ist dort das Icon/Logo der Seite zu finden.

    Frage: Ist es möglich, mit Auto-It auf dieses Icon zuzugreifen sodass AutoIT das Icon als Bild verwenden kann?

    Wär super wenn da jemand was wüsste.

    Lieber Gruss


    Florian

  • Problem mit FileOpenDialog() und anschliessendem Run()

    • Landfloh
    • 7. Februar 2014 um 15:57

    OOOH... jetzt verstehe ich Dich erst...

    FileOpenDialog verändert das WorkingDirectory. Und die BAT arbeitet mit dem WorkingDirectory... Du bist n Genie.. lol... und ich kotzdämlich. Danke vielmals.. hihi.

    Ich wünsch Dir ein schönes Wochenende.

  • Problem mit FileOpenDialog() und anschliessendem Run()

    • Landfloh
    • 7. Februar 2014 um 15:54
    Zitat von AspirinJunkie

    Die Batch ruft die Datei psexec auf. Allerdings sucht es die Datei nicht im Skriptverzeichnis sondern in dem Verzeichnis in welchem die Datei liegt, welche du mit FileOpenDialog aufgerufen hast.
    Gibt es die Datei psexec in diesem Pfad?


    Also ich hab zwei Verzeichnisse: IPchecker und IPChecker\Scripts

    im IPchecker ist die BAT und das PSEXEC.

    Die anzuwählenden Scripts sind im Unterordner "Scripts". Da ich ja die BAT explizit im @scriptdir suche (und finde), sollte die gewählte Datei ja überhaupt keinen Einfluss auf den BAT-Suchpfad haben.

    Ich habe spasseshalber aber die Bat und das PSexec mal in den Ordner Scripts kopiert. Und siehe da: es funktioniert. Ich verstehe es nicht, und halte das ganze für nen Bug. Aber ich hab ne Umgehungslösung gefunden. Vielen Dank für die Hilfe.

  • Problem mit FileOpenDialog() und anschliessendem Run()

    • Landfloh
    • 7. Februar 2014 um 15:37

    Also in der BAT steht folgendes:


    psexec -h \\xxx.xxx.xxx.xxx -u USER -p PASSWORD -i "\\xxx.xxx.xxx.xxx \c$\TimeServer.bat" -d

    Ich kopiere in einer Funktion erst einen File auf das Zielsystem. Dann rufe ich die Batch auf, und führe diese kopierte Datei aus... die Batch wird jeweils gemäss angewähltem Zielsystem und File erstellt. D.h. damit hats nix zu tun. Ich habe dann angefangen, mit einem fixfertigen Batch zu arbeiten, der funktioniert wenn man ihn selbst anklickt. Er funktioniert auch, wenn ich ihn via "Run()" anwähle. Er funktioniert NICHT wenn ich vorher die Funktion FileOpenDialog() verwende, sogar dann nicht, wenn ich mit der zurückgegebenen Variable (=Kompletter Pfad zum gewählten Script) gar nichts tue. (!!)

    Das ist doch mehr als schräg, oder?

  • Problem mit FileOpenDialog() und anschliessendem Run()

    • Landfloh
    • 7. Februar 2014 um 15:16

    Also nur damit niemand denkt, ich würde was illegales mit psexec machen:

    Ich möchte Scripts auf unseren Kassensystemen ausführen können. Statt alle Scripts hard-zu-coden und mit Button zu versehen, möchte ich via FileOpenDialog die Möglichkeit geben, irgend ein Script auswählen zu können.... macht ja irgendwie Sinn, oder? *g*

    Und um PSexec benutzen zu können, brauch ich die erforderlichen Rechte auf den Kassen, und die hab ich ja... ist also alles sehr legal... hihi...

    Also bitte, wenn jemand von Euch Cracks da was dazu weiss... her damit... bitte... wär mir ne riesen Hilfe... ich hab schon in den Tisch gebissen und ein Wut-Bier hinter mir, und das mitten am Nachmittag... tss..

  • Problem mit FileOpenDialog() und anschliessendem Run()

    • Landfloh
    • 7. Februar 2014 um 15:09

    Salü miteinander

    Das Problem klingt komisch, und ist es auch:

    Nachdem ich FileOpenDialog(,,,) benutzt habe, funktioniert die Funktion Run([programm]), _RunDOS([programm] etc. nicht mehr. Das Programm wird einfach nicht aufgerufen.

    Ich wähle NICHT mit FileOpenDialog() das auszuführende Programm aus. Ich wähle ein anderes. Dieses wird - sobald ich "FileOpenDialog()" weglasse, aufgerufen und durchgeführt.

    [autoit]


    $ScriptFileOpener=FileOpenDialog("Bitte File wählen",@scriptdir&"\Scripts","All Files (*.*)",1)
    Run(@scriptdir&"\batfile.bat")

    [/autoit]

    Ach ja... der Batfile, dessen Inhalt ich in einer Funktion erzeuge, greift schlussendlich auf psexec zu... und es funktioniert tatsächlich, wenn ich FileOpenDialog() weglasse... *kopfkratz*

    Ich greif mir an die Rübe... kennt das jemand? Weiss jemand, wie das umgangen werden kann? Oder ist das nur auf meiner verk**** Maschine so? Habe n Windows 7

    Wär froh um etwas Input....

  • Script pausiert einfach so: Gründe / Lösung

    • Landfloh
    • 3. Februar 2014 um 12:23

    Vielen Dank. Du bist n Genie...

    Liebe Grüsse aus der Schweiz.


    Florian

  • Script pausiert einfach so: Gründe / Lösung

    • Landfloh
    • 30. Januar 2014 um 12:03

    Salü miteinander

    Für unsere Kassensysteme habe ich eine halb transparente GUi gebastelt, mit welcher man zwischen Applikationen hin- und her hüpfen kann. Diese Gui habe ich mit $WS_EX_TOPMOST zuvorderst. Leider arbeitet unsere Kassenapplikation ebenso mit diesem Flag, sprich, sie überdeckt bei einer bestimmten Aktion einfach meine GUI.

    Um dem Abhilfe zu schaffen, lasse ich (hab keine andere Lösung, bislang) eine zweite Applikation laufen, welche alle 7 Sekunden die GUI wieder in den Vordergrund schiebt.

    Diese Applikation läuft im Hintergrund einfach mit.

    An und für sich funktioniert das, wenn's auch nicht allzu schön ist, wenn wegen einer App gleich zwei laufen müssen.

    Heute jedoch ging ich zu einer im prod. Feld eingesetzten Kasse, und sah: mein GUI ist weg. Als ich die Überwachungs-Applikation überprüfte, war diese auf "paused" gestellt.

    nun, das war bis jetzt ein Einzelfall. Aber ich muss diesen verhindern.

    Drum: Was sind die Gründe, warum eine App einfach so Pause machen kann? (ohne Fremdeinwirkung)

    Falls das Fremdeinwirkung war: ich werde dem mit dem Break(0) - befehl Abhilfe schaffen.

    Dennoch: Falls das ohne Fremdeinwirkung geschah, hab ich da ein Problem, das es zu lösen gilt.

    Hat mir da jemand einen Hint?

    Das Überwachungsscript ist relativ simpel:

    [autoit]

    while 1
    if WinExists("FloDock") then

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

    WinSetOnTop("FloDock", "", 1)
    WinSetOnTop("Switch","",1)
    Else
    run(@scriptdir&"\FLOdock.exe")

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

    EndIf
    sleep(10000)

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

    WEnd

    [/autoit]
  • Problem mit @GUI_CtrlID

    • Landfloh
    • 16. Januar 2014 um 14:49

    Salü miteinander

    Folgendes Problem hab ich:

    Ein kleines GUI. Wenn ich den darin enthaltenen Button drücke, vergrössert sich das GUI, und weitere Buttons stehen zur Auswahl. Ich habe das von (...) geschriebene CreateRoundButtons() verwendet.

    $Button2 = _GuiCreateRoundButton($background, 120, 5, 50, 50, '_Button', 0xFF5500, @CR & '|' & @CR, 20, 0, 2, @scriptdir& '\backoffice.bmp')

    In der Funktion _Button() frage ich dann mit einer If-Schleife ab, ob die Gui klein ist. Wenn ja, dann mach sie gross. Soweit so gut.

    Aber jetzt kommts: Ich frage darunter natürlich auch mit einer If-Schleife, ob die Gui gross ist. Wenn ja, dann mach sie klein.

    Der Effekt: Das Gui wird kurz gross, und dann automatisch wieder klein. So als würde die letzte geklickte ControlID in @GUI_CtrlID permanent drinne bleiben. Logisch, kehrts dann gleich wieder zurück zum Ursprungszustand.

    Ich frage mich, wie ich das lösen kann. Gibt es eine Möglichkeit, @GUI_CtrlID zu überschreiben?

    Kennt jemand einen solchen Effekt?

    Ich wäre froh um Schützenhilfe..

    Lieber Gruss


    Flo

  • LED - Laufschrift

    • Landfloh
    • 10. Januar 2014 um 15:55

    verdammt..

    Danke vielmals, das hat das Problem tatsächlich geklärt. :S

    Tut mir leid für meinen voreiligen Beitrag.

    Das Script ist nämlich wirklich grosse Klasse.

    Danke an den Urheber !

  • LED - Laufschrift

    • Landfloh
    • 10. Januar 2014 um 15:30

    Salü miteinander

    Benutze WIN 7 64 bit, leider funzt das tolle Script ned.

    D.h. es wird einfach das leere, dunkle LED - Fenster angezeigt, und keinerlei Buchstaben als Laufschrift... und das Script wär sehr nützlich für mich.

    Weiss da jemand was?


    Edit: ach ja.. und die erste Seite hab ich angeguckt - von wegen Thread lesen - das darin enthaltene hat mein Problem nicht verändert. :)

  • _IECreateEmbedded und Compatibility-Mode off

    • Landfloh
    • 25. November 2013 um 15:24

    Salü miteinander

    Ich benütze die Funktion _IECreateEmbedded um eine Intranet-Seite anzuzeigen. Diese wird im IE nur korrekt dargestellt, wenn man den Kompatibilitätsmodus ausschaltet.

    Nun... ob er aus oder ein ist, ist _IECreateEmbedded wurst... die Seite wird falsch dargestellt. (Ohne Formatierungen)

    Darum die Frage: wie kann ich dem _IECreateEmbedded beibringen, dass es sich ohne Kompatibilitäts-Modus starten soll?

    (Andere Seiten werden in meinem eingebetteten Browser korrekt dargestellt)

    Wär froh um etwas Schützenhilfe.

    Weiss da jemand was darüber?

  • AutoIT und Linux?

    • Landfloh
    • 18. November 2013 um 12:58

    au fein... vielen Dank für Deine Hilfe :)

  • AutoIT und Linux?

    • Landfloh
    • 18. November 2013 um 10:12

    Salü miteinander

    Ich hab auf meinem Windows Rechner ein AutoIT Programm laufen, welches auf eine Linux Umgebung zugreifen müsste. Genauer gesagt: ich müsste auf dem Zielsystem , welches mit Linux läuft, die DNS Settings des benutzten LAN Adapters auslesen.

    Vielleicht ist schon die Frage danach schwachsinnig, kann sein.. ich frag trotzdem ob das mit AutoIT machbar ist. (ist es?)

    Ich bitte um Feedback.

    Lieber Gruss

    Floh

  • _ExcelBookClose reagiert nicht

    • Landfloh
    • 4. November 2013 um 13:35

    Ey, danke vielmals.. ich hab inzwischen gemerkt, dass es in funktionen klappt, da ja die $oExcel als "local" existiert. So kann ich das ganze umgehen, nach Verlassen der jew. Funktionen wird die Excel-Instanz gekillt.

    Trotzdem danke für die Hilfe, ist lieb von Dir.


    Lieber Gruss


    Flo

  • _ExcelBookClose reagiert nicht

    • Landfloh
    • 4. November 2013 um 12:08

    Salü miteinander

    Ich hab hier ein völlig schräges Problem, und ich DREH DURCH!

    Folgendes (abgespecktes) Script:

    Spoiler anzeigen

    #include <GuiConstantsEx.au3>
    #include <Excel.au3>
    #include <Array.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <WinAPI.au3>
    #include <File.au3>
    #include <Inet.au3>


    InitializeMoneygramExcel()

    ; ------- Das ist der Teil, der mich zum heulen bringt weil excel prozess nicht schliesst ------------------------

    Local $oExcel = _ExcelBookOpen(@scriptdir&"\MONEYGRAM MASTERLISTE.xlsx", @SW_HIDE)

    _ExcelBookClose($oExcel)

    ;excel sollte verschwunden sein, tut es aber nicht.

    ; ---------------------------- Teil Ende, der mich zum heulen bringt ----------------------


    ; --------------------------- hier funktionierts , excel prozess geht auf und wieder zu ---------------------------------

    Func InitializeMoneygramExcel()
    Local $oExcel = _ExcelBookOpen(@scriptdir&"\MONEYGRAM MASTERLISTE.xlsx", @SW_HIDE)

    Local $i=1
    Local $sCellValue="xxx"
    Global $CountMoneygramLines=0
    ProgressOn("Records einlesen","Records")
    while NOT($sCellValue=="")

    ProgressSet(Round($CountMoneygramLines/10, -1) , $CountMoneygramLines& " Records")
    $sCellValue = _ExcelReadCell($oExcel, $i, 1)


    $CountMoneygramLines=$CountMoneygramLines+1
    $i=$i+1


    WEnd


    $CountMoneygramLines=$CountMoneygramLines-1
    Global $aVST_List = _ExcelReadArray($oExcel, 1, 1, $CountMoneygramLines, 1) ;Direction is Vertical


    ProgressOff()
    _ExcelBookClose($oExcel)


    EndFunc



    Nun, ich lese ja erst die Anzahl Zeilen im Programm. Dazu öffne ich das Excel Sheet, lese, schreibe in den Array, schliesse via Excel handler $oExcel. <- funktioniert

    Dann, an einer anderen Stelle des Programms möchte ich das Excel wieder öffnen (um eine Zeile zu lesen), um es danach wieder zu schliessen. Und das funktioniert nur an genau dieser Stelle des 7000 schweren programms nicht. Ich hab via Taskmanager die Instanzen überprüft. Es ist genau keine drin wenn ich an jene Stelle komme... der Fehler MUSS hier drin sein, aber ich verstehe nicht was daran falsch sein soll.

    Kann mir hier jemand weiterhelfen oder eine Erlärung dafür liefern?

    Ich bitte ganz dringend um Rückmeldung.

  • ipconfig / DNS server Einträge auf Remotecomputer?

    • Landfloh
    • 24. Oktober 2013 um 12:27

    Joa... ok, den Schlüssel hab ich gefunden. Ich geh jedoch davon aus, dass dieser Identifyer auf jeder Maschine ein anderer ist. Korrekt?

    Ich frag mich demnach grad, wie ich einem Programm beibringen kann, welches dann der "richtige" Identifyer ist... hm.. *kopfkratz*

    Aber danke, das hat mir schon mal weitergeholfen.

  • ipconfig / DNS server Einträge auf Remotecomputer?

    • Landfloh
    • 24. Oktober 2013 um 11:30

    Salü miteinander

    Ich möchte auf einem Computer feststellen, welche DNS-Einträge er hat. Lokal kann ich das ja mit ipconfig /all rausfinden.

    Geht das remote? Wenn ja... lässt sich das mit AutoIT realsieren? Wenn wiederum ja: kann mir da jemand auf die Sprünge helfen?

    Wär super...

    Lieber Gruss

    Flo

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™