Beiträge von Code4Fun

    Hallo zusammen,


    ich habe heute mal eine Frage leicht außerhalb von Autoit. Vor vielen Monden haben ich mir mal ein Script gebaut, welches diverse Datenbanken abfrägt, das Ergebnis in eine Datei schreibt, parallel ein HTML Gerüst baut. Am Ende ruft das Autoit Script die HTML Datei "lokal" auf, das HTML Gerüst zieht sich dann den Inhalt der Datei rein und ich "sah" eine perfekte Tabelle. Soweit alles gut.


    Jetzt ... viele Monde später ... bekomme ich nur noch mein H1 Überschrift zu sehen. Erst dachte ich, die Zugangsdaten zu den Datenbanken hätten sich geändert, aber als ich Step by Step nochmals alles durch ging, konnte ich feststellen, das meine Datei noch generiert wird. Alle notwendigen Dateien liegen in ein und demselben Verzeichnis.


    In der Zwischenzeit habe ich das Problem gefunden, hätte auch eine Lösung, suche aber eine andere Lösung.


    Code
    So geht es nicht: file:///C:/C4F/MeineTabelle.html
    Code
    So geht es: https://127.0.0.1/MeineTabelle.html

    sprich, wenn ich lokal z.B. einen XAMPP laufen lasse und die Datei aus dem Webserver aufrufe, dann ist alles OK. Wird die Datei aber direkt aus dem Filesystem aufgerufen, dann wird Sie nicht eingelesen.


    Jetzt meine Frage: Gibt es eventuell noch eine andere Lösung als einen lokalen Webserver? Wenn nein, was wäre den der kleinste performante Webserver ohne viel Schnick Schnick drum rum?


    Hier noch der Inhalt der HTML Datei:



    Vielen Dank

    OK, damit sind wir mal bei dem Schritt, das es eine SDK gibt. Da ich mich außerhalb von Autoit noch nicht mit Programmiersprachen versucht habe, bin ich hier der völlige Laye. Ich gehe mal davon aus, das man so ein SDK auf seinem PC installieren muss. Gibt es dann Schnittstellen, um das SDK direkt in Autoit zu verwenden? Vielleicht kann mir hier mal jemand Starthilfe geben. Danke

    Hallo alpines,


    danke für den Hinweis. Ich dachte die Nummer wäre so genug geschwärzt, aber sicher ist sicher. Die Skype4COM Bibliothek, ist die nur für "Skype" (also das Ursprungsprodukt), oder auch für "Skype for Business" (ehemals Lync). Es sind ja 2 unterschiedliche Produkte, mit "fast" dem gleichen Namen.

    Hallo zusammen,


    wir verwenden in der Firma Skype 4 Business. Wenn ich von jemanden angerufen werden, sehe ich folgendes Fenster rechts unten im Eck des Monitors erscheinen


    <Edit alpines: BILD ZENSIERT. Nummer immer noch erkennbar>

    Wenn ich dann mit dem AutoIt V3 Windows Info Tool versuche dieses Fenster auszulesen (da ich die Rufnummer gerne als Variable hätte), bekomme ich nur folgende Informationen angezeigt:

    Satz mit X, war wohl nix.


    Wie komme ich dann an diese Informationen ran. Vielleicht kann man da was mit SDKs oder APIs machen, aber ich kenne mich damit noch gar nicht aus. Wenn ja, wäre es schön, wenn mir jemand mal den Weg ebnen könnte (anhand von einem Beispiel), wie man mit solchen SDKs / APIs arbeitet, wie man diese in Autoit integriert usw.


    Vielen Dank.

    Guten Morgen,


    so, wie versprochen, weitere Fragen. Sicherlich was einfaches, aber irgendwie stehe ich auf der Leitung. Auf Grund der Tatsache, das mein Script aktuell 5 Excelspalten a` ca. 10000 Zeilen bearbeitet, dauert das ganze halt seine Zeit (was auch nicht schlimm ist). Ich habe also mehrere Funktionen, in welchen jeweils eine For $i = 0 To UBound($aLeseSpalteH) - 1 Schleife integriert ist. Vielleicht gibt es eine elegantere Lösung, aber die tut es mir aktuell voll und ganz.


    Ich möchte jetzt gerne nach Abarbeitung von jeweils 500 Excelzeilen einen Consolewrite rauspipen, damit ich einfach sehe, wo das Script ungefähr ist. Die Lösung ist hierbei sicherlich dieses Beispielscript


    Code
    For $i = 0 To 10000 Step 500
    Consolewrite("aktuelle Excelzeilennummer ist: " & $i & @CRLF)
    Next


    Leider bekomme ich die beiden Forschleifen irgendwie nicht vernünftig miteinander verknüpft. Kann mir hier bitte jemand helfen.

    Es soll erreicht werden, wenn in der Hauptschleife die Variable $i 500, 1000, 1500 usw. bis zum Ende erreicht hat, dass dann jeweils ein Consolewrite erfolgt.


    Vielen Dank

    Hallo zusammen,


    ich habe die ehrenvolle Aufgabe bekommen eine Kontake Excel Tabelle zu normieren. Konkret heißt das, das es einige Felder gibt, die automatisiert angepasst werden müssen.


    Aktuell möchte ich mit einem StringRegExpReplace; erreichen, das alle Telefonnummernfelder analysiert werden.


    Es sind in den Nummern ziemliche Wildwuchse vorhanden. Erreicht werden soll, das sämtliche Zeichen außer Zahlen von 0 bis 9, sowie das + (Plus Zeichen) durch "" ersetzt werden.

    MIt Local $_sNumber = StringRegExpReplace($Input, '[^+]\D', '') ; hat das leider nicht funktioniert.

    Könnte mir hier jemand behilflich sein, wie dieser Reguläre Ausdruck aussehen müsste?


    Vielen Dank.


    P.S. Ich habe die Überschrift so gewählt, da hier sicherlich noch ein paar weitere Fragen zu diesem Thema kommen werden. Somit habe ich gleich mal einen Sammeltask erstellt.

    Kleine Entwarnung. Prinzipiell geht es, wenn ich die Datei in den DB Umgebung laufen lasse. Das Problem ist, dass die Zeile

    $sqlCon = _MSSQL_Con($sLeseIP, $sLeseDBUser, $sLeseDBPassword, $sLeseDBName)

    nach ca. 90 Sekunden in der Programmierumgebung abbricht und das Script dann gar nicht in die If Schleife kommt.


    Also kann ich erst mal weiter machen

    So recht will das noch nicht laufen!


    Ich habe jetzt ein Script, welches mir das MyDB.au3 Script includiert

    C
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Change2CUI=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <MyDB.au3>
    ConsoleWrite($sDatenbanken & @CRLF)
    _DB()

    Der Aufruf ConsoleWrite($sDatenbanken & @CRLF) funktioniert sauber, aber beim _DB() bleibt es hier hängen.


    Code
    $sqlCon = _MSSQL_Con($sLeseIP, $sLeseDBUser, $sLeseDBPassword, $sLeseDBName)
    If IsObj($sqlCon) Then
    ConsoleWrite("DB konnte verbunden werden" & @crlf)
    Else
    ConsoleWrite("DB konnte nicht verbunden werden" & @crlf)
    EndIf

    In der Programmierumgebung habe ich keinen Zugang zur Datenbank, aber ich müsste dann doch die ConsoleWrite("DB konnte nicht verbunden werden" & @crlf) ansprechen

    Vielleicht ist der Timeout für $sqlCon noch nicht erreicht. Wo kann ich denn sowas einstellen?

    Das bedeutet dann, das ich den Aufruf _DBArray() aus der MyDB.au3 entferne und diesen dann in die MyScriptA.au3 übernehme. Es werden also in den includierten Scripten nur Funktionen und Konstanten geschrieben, aber keine weitere Ablauflogik. Die ist dann im Hauptscript enthalten. Richtig?

    Hallo Bugfix,


    danke erstmal, das hat funktioniert. Wie ich auf die Inhalte zugreife, denke ich zu wissen, da ich das ja in meinen alten Scripten schon gemacht habe. Aber folgender Umstand bereitet mir gerade noch Kopfzerbrechen.


    Das Script hier im Thread soll ja mein "allgemeines Datenbank Verwaltungsscript sein". D.h. wenn sich was an den DBs ändert oder eine neue hinzukommt, mache ich die Anpassung in der INI und gut ist.


    Jetzt erstelle ich "in der Zukunft" ein Script MyScriptA.au3 oder Script MyScriptB.au3 usw, welches unterschiedliche Funktionen hat, aber beide Scripte benötigen die verschiedenen Datenbankzugänge. Gehen wir mal davon aus, das mein "allgemeines Datenbank Verwaltungsscript" den Namen MyDB.au3 hätte.


    Ich kann jetzt im Script MyScriptA.au3 doch ein #include <MyDB.au3> einfügen, um auf die Datenbank zuzugreifen.


    Wie greife ich denn im MyScriptA.au3 die einzelnen Durchläufe ab, die ich im MyDB.au3 mit

    Code
    For $i = 1 To UBound($arDatenbanken) - 1
    _LeseINI($arDatenbanken[$i])
    Next

    erzeuge.


    Ich will erreichen, das MyScriptA.au3 das MyDB.au3 aufruft, die ersten Datenbankverbindung öffnet, dann kommt ein definiertes SQL Statement, dann wird die erste Datenbankverbindung wieder geschlossen und aus MyScriptA.aus soll dann ebenfalls in einer Schleife MyDB.au3 erneut aufgerufen werden, jetzt soll aber die 2. Datenbankverbindung usw. genutzt werden.


    Kannst Du mir da vielleicht ein kleines Konstrukt bauen, wo ich die Logik erkennen kann? Wahrscheinlich ist das nicht schwer, aber mit eigenen includes habe ich noch nie gearbeitet.


    Vielen Dank

    Hallo,


    ich hatte vor 2 Jahren mit diesem Projekt mal hier angefangen, jedoch bin ich seither einfach nicht dazugekommen, was zu machen. Da ich gerade etwas Leerlauf habe, gehe ich die Sache jetzt neu an und möchte hier auch einen neuen Thread starten.


    Aktuell habe ich folgendes.


    Eine INI Datei mit folgendem Aufbau


    Mein Script sieht bisher so aus


    Hier noch Teil aus der MSSQL.au3 für _MSSQL_Con

    Laut der Erklärung sollte ich doch ein "Database-handle" zurück bekommen.


    Wenn ich die EXE auf dem entsprechenden System laufen lasse, bekomme ich hinter

    ConsoleWrite($sLeseName & " hat den $sqlCon Rückgabewert: " & $sqlCon & @CRLF) leider gar nichts angezeigt.


    Muss ich das anders schreiben, oder habe ich ein anderes Problem?

    Hallo,


    ich habe folgendes Problem. Mit IniRead möchte ich eine INI Datei auslesen und die Werte auf der Console ausgeben. In der INI gibt es Umlaute. Habe die INI mit Notepad++ erstellt und bereits ANSI, UTF-8 und UTF-8-BOM Kodierung ausprobiert. Auf der Console werden die Umlaute immer falsch dargestellt.


    Ich rede bei Console von eine CUI kompilierten EXE (nicht die Console in Scite)


    Bräuchte da bitte mal Hilfe.


    Danke