Beiträge von bigeasy76

    Das ist wirklich grossartig, vielen Dank, klappt perfekt! Hatte Dir den Key noch per PN gesendet, kam aber offenbar nicht an bei Dir. Aber auf jeden Fall nochmals ein ganz grosses Dankeschön! Werd mir das auch mal genauer ansehen, vieles kapier ich noch nicht.

    Vielen Dank für die Tipps. Beim obigen, letzten Beispiel von Dir ist mir aufgefallen, dass </table> (wenns mehrere Resultate gibt) erst nach dem letzten Eintrag eingefügt wird, idealerweise sollte dies nach jedem Eintrag eingefügt werden, so dass pro Eintrag eine Tabelle erstellt wird. Das hab ich vorher und auch jetzt durch probieren einfach nicht hinbekommen. Da müsste doch $html_string &= '</table>' einfach nur am richtigen Ort eingefügt werden, oder?

    Danke für Dein Vertrauen und vorallem ein sehr grosses Danke für Deine Hilfe, aber ich befürchte, zum Profi werd ich es nicht schaffen. Ich hab mich vor 10-15 Jahren mal intensiver mit Javascript befasst, aber an einem gewissen Punkt kam ich dann einfach nicht weiter, hier ists nun ganz ähnlich: Ich kann mit Hilfe der Doku und Funktionsreferenz die Funktionen anwenden, weiss in etwa, wie Arrays oder Operatoren funktionieren. Aber wie damals, als ich Bücher kaufte und auch mal einen Javascript-Anfängerkurs besuchte (der mir nicht viel brachte, denn der war wirklich auf die blutigsten Anfänger ausgerichtet, was ist eine Variable, was ist ein String, etc), komme ich hier irgendwie nicht "aufs nächste Level", weiss nicht so ganz, wie ich meine Kenntnisse praktisch verbessern kann.

    Ich getrau mich ja fast nicht zu fragen, Du hast hier schon so viel Zeit und Arbeit investiert, aber vielleicht hast Du doch einen kurzen Tipp, wie kann ich solche Herangehensweisen erlernen, wie ich ein Problem am Besten löse und wie ich zb. mehrere Schleifen ineinanderpacke oder wie ich kompliziertere Arrays aufbaue. Durch Praxis?

    Mir fiel zwar gerade auf, dass ich $oXML = ObjCreate(xx) zweimal definiert habe... so wirds ein bisschen besser sein


    Edit: Nochmals bearbeitet und nun funktionsfähige Version.

    Nochmals Edit: 1 Fehler hab ich noch nicht lösen können, nach jedem Eintrag sollte im html-code natürlich noch ein "</table>" hinkommen, das ist im Moment noch nicht der Fall


    Hi Bitnugger


    vielen Dank für die so schnelle Antwort!! Anhand Deiner Angaben habe ich es tatsächlich so hinbekommen, dass ich schlussendlich einen kompletten html-String erhalte, mit 1 Tabelle pro gefundenem Eintrag. Für Dich als Profi ist es vermutlich Gebastel, würde mich aber trotzdem interessieren, wie Du dieses bewertest. Der Einfachheit halber notiere ich nur die Funktion _Response_XML_To_Array($sResponse) hier unten:

    Bin inzwischen soweit, dass ich mit tel:extra[type=„Fax“] (sorry, da vom Tablet geschrieben die falschen Anführungszeichen) das Script wieder zum Laufen gebracht habe. Jedoch wird alles bis auf die Faxnummer angezeigt, da bin ich noch nicht dahintergekommen, wieso das so ist. Es ist aber sicher eine Faxnummer da.

    Nochmals vielen Dank, verstehe das nun immer besser. Im Array $aTel[1][13] auf Linie 86 muss offenbar jeder der Werte einen Inhalt haben. Da Kanton bei uns weniger wichtig, habe ich tel:canton mit tel:extra type="Fax" ersetzt. Doch leider ergibt das stets den Fehler oXML Error auf Linie 109. Auch wenn ich eine Suche anwende, die sicher eine Faxnummer enthält, kommt derselbe Fehler. Eine Faxnummer gibts ja nicht bei jedem Eintrag.

    Toll, vielen Dank, das geht bei mir auch und langsam kapier ich das script selber auch ein bisschen. Vielleicht darf ich noch folgendes fragen:

    Bei der Ausgabe werden ja stets die Knotennamen als Beschreibung verwendet, so wie tel:street. Wäre es möglich, jedem dieser Knotennamen eine Beschreibung wie hier "Strasse" hinzuzufügen, so dass ich bei der html-Ausgabe eine schöne Tabelle erstellen könnte, die in der ersten Spalte statt Knotennamen gleich die zugehörige Beschreibung anzeigt? Ich hab nicht den geringsten Schimmer, wie ich das angehen könnte, ausser evtl. mit Arrays. Da ich bei Deinem Script aber noch vieles nicht verstehe, wüsste ich nicht, wo ansetzen.

    Vielen Dank Bitnugger ! Bei Deinem Beispiel ist mir zwar noch vieles unklar, da ich ja noch ein Anfänger bin, aber das merkt man wohl.


    Edit: Hab da Blödsinn erzählt, es funktioniert doch, nur hatte ich bei den ersten Versuchen einen Suchbegriff verwendet, der keine Resultate ergab.



    Ich hab hier nun noch die Abfrage der URL eingefügt, aber nun läuft das Script offenbar nur bis ConsoleWrite('! api-response.xml wurde soeben gespeichert' & @CRLF) , was in der Konsole noch angezeigt wird, dann passiert nichts mehr und das Script beendet. Da ist mir noch nicht klar, wieso das dort nicht weiterläuft. Und vermutlich ist es auch wieder unprofessionelles Gebastel, nicht wahr? :)


    Vielen Dank Bitnugger   autoiter & Musashi für die wie immer tolle Hilfe!

    Im ersten Schritt soll nur eine Abfrage einer Telefonnummer durchgeführt werden und das Resultat in einem html-String zurückgegeben werden. Das funktioniert nun auch tiptop.

    Später sollen dann noch Abfragen von Namen und/oder Adressen dazukommen, dann werden ja mehrere Resultate in der xml-Datei geliefert. Dort gibts ja dann jeweils mehrere Knoten mit denselben Namen.


    So wie ich das rausfinden konnte, kann ich diese Knoten dann nicht direkt über xml ansprechen, sondern muss im Script eine Abfrage machen, dass nur zb. Daten des Knoten so&so, wo id = so&so ist, erfasst werden. Ist das so korrekt oder gibts da doch eine elegantere Lösung?

    Vielen vielen Dank Bitnugger ! Das Ganze funktioniert nun tiptop, habs sogar geschafft, auch noch eine allfällige Faxnummer anzeigen zu lassen, die ja in einem anderen Node angegeben wird.


    Noch eine kleine Frage: Die xml-Datei wird ja offenbar lokal abgespeichert, diese wird vermutlich nicht gelöscht, wenn das Script zu Ende ist, oder? Aber ich vermute auch, da die xml-Datei stets den gleichen Namen hat, wird eine alte Datei überschrieben bei einer neuen Anfrage, daher wirds nicht so dramatisch sein, ist das so korrekt?

    Hallo zusammen


    ich hab ein Script gebastelt, welches über eine API von search.ch den Telefonbucheintrag einer Telefonnummer ausgeben soll. Die Resultate werden von der API als xml-Datei geliefert. Doch ich erhalte den Fehler

    We intercepted a COM Error ! Number is: 80020009 Windescription is: Ausnahmefehler aufgetreten.

    Leider scheint diese Meldung nichts spezifisches auszusagen, offenbar hat es aber mit dem API-Aufruf zu tun, das konnte ich als einzigstes rausfinden.


    Vielleicht hat hier jemand eine Idee, woran das liegen könnte? Ist der Befehl _XMLCreateFile() evtl. der falsche in diesem Fall?

    Eine Beispiel-xml-Datei kann ansonsten hier gefunden werden: Link

    Danke für einen Tipp!


    Hallo autoiter & Bitnugger


    vielen Dank erstmal für die Geduld mit mir! Das Beispiel von Bitnugger habe ich mit wenigen Anpassungen zu Laufen gebracht, wenn ein Anruf eingeht, wird die Nummer nun in die Eingabemaske auf dem RD eingegeben und der Datensatz des Kunden - wenn vorhanden - wird mir gleich angezeigt. Das erleichtert meine Arbeit enorm, daher nochmals vielen Dank an die Herren für die Hilfe! Und nun kann ich bei Gelegenheit auch den Vorschlag von autoiter umsetzen, dass die Filebezeichnung=Nummer entspricht.


    Wünsche allerseits einen angenehmen Sonntag!

    Würde es was bringen, wenn ich in der Schleife mit GuiDelete() das Fenster wieder beenden würde? Oder was könnte dann das Problem sein, dass das Script beendet, wenn ich die While-Schleife weglasse, Du meinst ja, es müsste dann trotzdem funktionieren ohne von selbst zu beenden?

    Reicht das nicht, wenn mit Beendung des Scripts mit der Func OnAutoItExit() die _WinAPI_RegisterWindowMessage('SHELLCHANGENOTIFY') wieder aufgehoben wird? so wars ja auch ursprünglich im Beispiel.


    Edit: Wenn ichs ohne diese Schleife laufen lasse, erhalte ich folgende Ausgabe, das Script beendet dann:

    >Exit code: 0 Time: 2.65

    Fehlermeldung gabs keine. Habs nun so und das funktioniert:

    Vielen Dank, autoiter , habs nun langsam kapiert. Das mit dem Erstellen einer Datei mit der Nummer als Bezeichnung hab ich mir überlegt, das käme ja dann ins andere Script. Aber dort hab ich die Telefonnummer schon so formatiert (000/0000000), wie sie in die Eingabemaske reinmuss und Slashes sind vermutlich auch hier verboten in Dateinamen.


    Nochmals zum Script von Deinem Beitrag #7, hab da die Zeilen 19-26 versucht, in eine While-Schleife zu packen, damit das Verzeichnis dauernd überwacht wird. Bei mir beendet sich das Script sonst von selbst nach ca 2s. Aber mit dieser While-Schleife wir die Funktion etliche male aufgerufen, wenn das txt geändert wird. Wie krieg ich das hin, dass es nur einmal durchläuft? Das krieg ich irgendwie nicht hin, ohne dass die Überwachung des Verzeichnisses auch gestoppt wird.

    Ansonsten läuft nun alles tiptop, vielen Dank für die wiederum tolle Hilfe und Geduld mit einem Anfänger!

    Edit:

    Habs nun doch so zum Laufen gebracht, dass alles funktioniert mit dieser Schleife. In der Funktion, die die Nr in die Eingabemaske eingefügt hat, wurde die Nr. anschliessend wieder gelöscht im txt, vermutlich wurde durch diese Änderung alles in eine Endlosschleife versetzt.


    Aber nochmals vielen Dank für die Hilfe!!!

    In Beitrag 2 hatte ich es doch so vorgeschlagen: M:\\\\RD Files. Hatte das nicht geklappt.

    Hallo autoiter , sorry, das vergass ich zu erwähnen, habs dort auch mit 4, 3 und 2 Backslashes versucht, das ergab leider immer denselben Fehler


    Edit: Dein angepasstes Beispiel habe ich versucht, anzuwenden, aber das erstellt nur diese Dateien mit Zufallszahlen, ich versteh hier leider nicht, wie mir das beim Auslesen der Datei telefon.txt hilft, wenn diese Datei geändert wurde.

    Guten Morgen die Herren


    autoiter : Die Ordnerübergabe sieht nun so aus:

    "'Win32_Directory.Name=""M:\RD Files""'"


    Bitnugger : Danke für den Tipp, hab mir das angesehen, habs nun mal mit folgendem aus der englischen Autoit-Hilfe probiert:

    Hier ist nun aber das Problem, dass kein Event angezeigt wird, wenn das andere Script die txt-Datei mit der Nummer befüllt, es wird nur jede Sekunde die Meldung Event: 0x00001000 | Path: M:\angezeigt. Leider sind meine Kenntnisse hier auch zu klein, um zu verstehen, wieso das so ist. Meine Vermutung war, dass bei

    Code
    1. Global $g_iID = _WinAPI_ShellChangeNotifyRegister($hWnd, $iMsg, $SHCNE_ALLEVENTS, BitOR($SHCNRF_INTERRUPTLEVEL, $SHCNRF_SHELLLEVEL, $SHCNRF_RECURSIVEINTERRUPT), $g_sPath, 1)

    auch noch der Parameter $SHCNRF_NEWDELIVER rein müsste, das hat aber nicht wirklich geklappt. Kann mir einer der Profis bitte einen Tipp geben?