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. Harry.Fox

Beiträge von Harry.Fox

  • Link finden, der eine bestimmte class hat

    • Harry.Fox
    • 30. September 2014 um 21:11

    OK, ich hab's versucht. Und eigentlich dachte ich, dass ich es endlich verstanden hätte, aber es klappt nicht wirklich.

    Also, das ist mein Codeschnipsel:

    [autoit]

    $Quelltext = _IEBodyReadHTML($oIE1)$Pattern = '<a.*?class="next_page".*?href="(.*?)".*?>'
    $NextPageLink = StringRegExp($Quelltext, $Pattern, 2)

    [/autoit]

    Mein $NextPageLink-Array hat - wie erwartet - zwei Einträge, aber der erste sieht so aus:

    Code
    [0]|<a class="prev_page" style="visibility: hidden; cursor: pointer;" onclick="return prevPageClick();" href="/64914512-alastor-vom-risiko-4-monate-zuvor"><img width="26" height="26" title="previous page" align="absmiddle vertical-align=" class="imgHover" style="padding-right: 3px;" alt="Vorherige Seite" src="http://a.wattpad.com/image/pageprev.png?v=de79ba5" border="0" text-top"=""></a> <input class="paging_input" style="width: 25px; font-size: 12px;" size="1" value="1"> of 3<a class="next_page" style="visibility: visible; cursor: pointer;" onclick="return nextPageClick();" href="/64914512-alastor-vom-risiko-4-monate-zuvor/page/2">


    Der zweite hat dann zwar tatsächlich den URL, den ich suche...

    Code
    [1]|/64914512-alastor-vom-risiko-4-monate-zuvor/page/2


    ... aber ich bin nicht sicher, ob das Glück ist, denn eigentlich enthält der erste Eintrag deutlich mehr als ich erwartet hätte. Was ist falsch?


    Gruß
    Harry.Fox

  • Link finden, der eine bestimmte class hat

    • Harry.Fox
    • 30. September 2014 um 18:00

    BugFix : Das war die Antwort, die ich befürchtet hatte. Das es mit RegEx gehen müsste dachte ich mir, aber das gehört zu den Dingen, die ich nie wirklich verstanden habe. Ich werde mich mal dransetzen, aber falls ich nicht weiter komme, darf ich sicher nochmal fragen, oder?

    Gruß
    Harry.Fox

  • Script per QR-Code automatisch starten.

    • Harry.Fox
    • 29. September 2014 um 22:08

    Andy: Du hast natürlich recht, wenn es sich ausschließlich um PDF-Dateien handelt. Ich hatte an den IE gedacht, weil dann im Zweifel auch andere Links funktionieren und PDF bekommt er auch hin. Somit ist es etwas flexibler als wenn man die PDF-Anwendung öffnet, die dann mit einer HTML-Datei nicht klar kommt. Hängt natürlich von der Anwendung ab, ob das sinnvoll ist.

  • Downloadliste inkl. Unterordner im servereigenem HTML Format erstellen.

    • Harry.Fox
    • 29. September 2014 um 21:46

    Hallo,

    ich weis, dass dies hier ein AutoIT-Forum ist, aber ehrlich gesagt habe ich noch nicht verstanden wozu hier AutoIt nötig ist.

    Dein Projekt lässt sich relativ leicht direkt per PHP lösen. Statt per AutoIT eine download.html-Datei zu erstellen, kannst du doch einfach eine download.php schreiben, die dann beim Aufruf im Browser des Besuchers in Echtzeit die Ordnerstruktur einliest und daraus die Dateiliste erstellt. Dann aktualisiert sich die Liste auch wirklich automatisch.

    Und wenn du nicht jedesmal die Dateiliste einlesen willst, kannst du in der PHP-Datei auch erst prüfen, ob es überhaupt eine Änderung gab. Falls ja, Liste neu aufbereiten und in Datei zwischenspeichern, falls nein, einfach den Inhalt der Datei ausliefern.

    Falsches Forum, aber m.E. die bessere Lösung für dein Projekt.

    Gruß
    HarryFox

  • Script per QR-Code automatisch starten.

    • Harry.Fox
    • 29. September 2014 um 20:24

    Auch als Nahezu-Neuling bei AutoIT, stelle ich mir das nicht so schwierig vor:

    Script mit kleiner GUI, die nur ein Eingabefeld hat, hier kommen die Eingaben des Scanners rein. Eventuell kannst du den Scanner so einstellen, dass er anschließend noch "Enter" simuliert und darauf kannst du reagieren. Dann musst du nur noch den IE öffnen und zu der eingegebenen Adresse navigieren.

    Reicht dir das als Ansatz oder brauchst du noch etwas Futter?

    Gruß
    Harry Fox

  • Script per QR-Code automatisch starten.

    • Harry.Fox
    • 29. September 2014 um 18:58

    Hallo,

    ein QR-Code-Scanner simuliert eine Tastatur. Für den PC ist es also genau das gleiche als wenn du den Inhalt des QR-Codes eintippen würdest. Und diese Eingaben müssen irgendwo hin. Wenn du einfach so zu tippen anfängst passiert ja auch nichts.

    Natürlich könntest du ein AutoIT-Script schreiben, welches die eine kleine GUI mit einer Eingabe-Zeile öffnet. Da kannst du dann deinen QR-Code einlesen und anschließend den URL z.B. im IE öffnen. Anschließend kannst du gleich wieder den Focus auf das Eingabefeld setzen, damit du den nächsten QR-Code einlesen kannst. Ist allerdings relativ viel Aufwand, für relativ wenig Ergebnis.

    Gruß
    Harry.Fox

  • Link finden, der eine bestimmte class hat

    • Harry.Fox
    • 29. September 2014 um 18:52

    Hallo,

    ich möchte in einer Webseite einen link finden, der eine bestimmte Klasse hat. Die Seite hat einige Links, aber eben nur einen der class="xxx" hat und genau den möchte ich finden.
    In der Seite steht also etwas wie

    PHP
    <a href="www.linknachirgendwo.tld" class="weiter">weiter</a>

    Nun suche ich aus den vielen Links genau den, der diese Klasse hat.

    Natürlich lasse ich die Seite von meinem Script im IE öffnen und mit

    [autoit]

    $oLinks = _IELinkGetCollection($oIE1)

    [/autoit]

    kann ich mir alle Links holen, aber irgendwie komme ich nicht an die Klasse. Im DOM ist doch className ein Attribut des HTMLLinkElement, aber ich komme nicht dran :(


    Mein Ansatz war die Collection mit einer FOR-Schleife zu durchlaufen (For $oLink in $oLinks) und dann die Klassen der einzelnen $oLink zu testen. Aber mit $oLink.class geht es nicht, mit $oLink.className nicht und auch mit _IEPropertyGet($oLink, "class") oder _IEPropertyGet($oLink, "className") will es nicht :(


    Jemand eine Idee?


    Viele Grüße
    Harry.Fox

  • GUI reagiert nicht

    • Harry.Fox
    • 26. Juli 2013 um 14:53

    Jetzt habe ich selber eine Lösung gefunden, die funktioniert. Ich lösche das Posting aber nicht, weil vielleicht andere ähnliche Probleme haben.

    Ich habe meine GUI einfach im OnEvent-Modus laufen lassen, dann klappt das.
    Eine Anleitung, wie das geht, findet man hier: http://www.autoit.de/dokumentation/…OnEventMode.htm

  • GUI reagiert nicht

    • Harry.Fox
    • 26. Juli 2013 um 14:44

    Hallo,

    ich habe früher schon mal etwas mit autoIT gearbeitet, jetzt wieder eine Weile nicht. Aber nun habe ich Script geschrieben, welches fast richtig läuft. Nur leider kann ich auf der GUI klicken soviel ich will, sie lässt sich nicht schließend und reagiert auch sonst auf nichts.

    Mein Script öffnet 2 IE-Fenster. Im ersten wird eine URL geöffnet und dann wird darin nach Links gesucht, die bestimmte Kriterien erfüllen. Wird so ein Link gefunden, wird er im zweiten Fenster geöffnet und das Script merkt sich diese URL, um sie nicht erneut zu öffnen. Dann wird 5 sec gewartet und das 1. Fester wird refresht und dann wird erneut gesucht.

    Anscheinend ist das Script nun derart mit den beiden Browsern beschäftigt, dass die GUI-Ereignisse nie abgefragt werden. Was kann ich tun?

    Gruß
    Harry Fox

  • IE_Embedded-Control automatisch nach unten scrollen

    • Harry.Fox
    • 2. Dezember 2012 um 19:40

    Auch das klappt, danke minix und natürlich auch allen anderen die geholfen haben.

  • IE_Embedded-Control automatisch nach unten scrollen

    • Harry.Fox
    • 2. Dezember 2012 um 16:24

    Danke ihr beiden, dass klappt perfekt!

    Das mit den Farben und den Smilies bekomme ich vermutlich hin. Das mit dem Toolitip ist deshalb ein Probleml, weil ich derzeit noch keine Ahnung habe, wie ich feststellen kann, ob ein GUI aktuell minimiert ist oder nicht, und ob es den Focus hat.

    Wenn dazu jemand noch einen Tipp hätte, wäre das klasse.

    Gruß
    Nils

  • IE_Embedded-Control automatisch nach unten scrollen

    • Harry.Fox
    • 2. Dezember 2012 um 12:39

    Hallo,

    leider hat dein Tipp nicht funktioniert. Vielleicht mache ich auch etwas ganz anderes falsch.
    Ich programmiere zwar schon viele Jahre in anderen Sprachen, aber das ist mein erstes Skript mit AutoIT

    Bei dem Programm handelt es sich um einen einfachen Chat im LAN mit Server und Client. Die Grundfunktionen laufen auch schon. Jetzt wollte ich ihn ein wenig "aufhübschen" und habe den Client daher von einem einfach Text-Feld zu einem IE-Feld umgebaut (hatte auch mit RichEdit expirimentiert, aber da ich HTML gut kann, ist mir diese Lösung lieber)

    Ich weis, dass es hier schon einige fertige Chats gibt, die alles können was ich will und die ich sicher auch nutzen könnte, aber ich will ja lernen :)

    Angehängt habe ich euch den Server, den Client, die ini-Datei, mein HTML-Grungerüst und das TCP-UDF

    Vielleicht findet ja jemand eine Lösung...

    Wenn das fertig ist, will ich noch einbauen, dass

    • sich jeder eine Schriftfarbe aussuchen kann
    • einfache smilies als Grafik angezeigt werden
    • ein Tooltip bei Nachrichteneingang angezeigt wird, wenn das Fenster grade nicht den Fokus hat

    Wäre echt super, wenn mir bei diesem Detail jemand helfen könnte. Mit dem Textfeld hatte das geklappt, aber mit dem IE leider nicht...

    Gruß
    Nils

    Dateien

    HF-Chat.zip 10,93 kB – 314 Downloads
  • IE_Embedded-Control automatisch nach unten scrollen

    • Harry.Fox
    • 2. Dezember 2012 um 01:52

    Hallo Commmunity,

    ich habe in einem GUI ein IE_Embedded-Control, dem ich per script immer wieder Text hinzufüge.
    dazu nutze ich

    Code
    _IEDocInsertHTML($oBody, $HTML, "beforeend")

    die neuen Texte erscheinen also immer am unteren Ende und so soll es auch sein. Es klappt also eigentlich alles wie geplant.
    Bis dann irgendwann das Fenster voll ist. Dann wird natürlich die Scrollbar am linken Rand des Controls aktiv, aber der neu angefügte Text wird nicht sofort sichtbar, weil eben nicht ganz nach unten gescrollt ist.

    Ich hätte gerne, dass immer nach dem Einfügen einer neuen Textzeile automatisch nach unten gescroll wird. Ich habe versucht dem Control den Focus zu geben und anschließend mittels 'send' das Drücken der Ende-taste zu simmulieren und ich habe versucht direkt mit

    Code
    ControlSend ( "HF-Chat", "", $oIE, "{END}" )

    die Ende-Taste an das Control zu senden, aber beides ohne Erfolg.

    Jemand eine Idee, wie ich das anstellen muss?

    Gruß
    Nils

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 30. November 2012 um 17:30

    Danke Make-Grafik, darauf hätte ich nun wirklich selber kommen können *MitDerFlachenHandVorDieStirnHau*
    Das eigentliche Problem, ist damit aber leider noch nicht gelöst...

    edit: Mit Attributen wie fett oder kursiv klappt es wie erwartet, nur mit der Farbe leider nicht

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 30. November 2012 um 16:57

    OK, irgendwas mache falsch... 2 Probleme habe ich:

    • wenn ich mittels
      Code
      _GUICtrlRichEdit_SetCharColor($ediChat, "990000" )
      _GUICtrlRichEdit_AppendText($ediChat, $msg & @CR)

      neuen Text an meinen bisherigen anfüge, ändert sich leider die Farbe des gesamten Textes und nicht nur die neu eingefügte Zeile.

    • Wie sind diese Zahlenwerte zu verstehen? Ich hatte gefofft es wäre "RRGGBB", aber das ist es nicht. Gibt es da eine einfache Funktion, um das umzurechnen?


    Sicher sind das Fragen, die ihr schon 1000 mal gelesen habt, aber irgendwie werde ich mit der SuFu nicht recht fündig.
    Ich hoffe nochmal auf eure Hilfe...

    Gruß
    Nils

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 28. November 2012 um 23:04

    OK danke! Damit werde ich jetzt mal testen. Wenn ich dann noch Probleme habe, werde ich diese nette Community nochmal befragen.

    Gruß
    Nils

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 28. November 2012 um 22:00

    Das bedeutet dann, dass ich den neuen Text erst hinschreiben muss, dann selektieren und dann fett machen?

    Kann ich nicht direkt fetten Text hinzufügen?

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 28. November 2012 um 21:29

    Erstmal vielen Dank für die wirklich tollen Anregungen. Ich freue mich festzustellen, dass einem hier wirklich geholfen wird.

    Nun ist es aber so, dass ich den Chat prinzipiell nur schreibe, um AutoIT und TCP-Kommunikation zu erlernen. Daher hatte ich nicht vor, auf fertige Chat-Boxen zurück zu greifen. Bitte nicht falsch verstehen, ich finde es super, dass es Leute gibt, die sowas schreiben und kostenlos anbieten. Aber ich will ja was lernen.

    Ich habe jetzt mal ein RichEdit eingebaut, das war ja nicht schwierig und klappt auch. Leider kenne ich mich mit RTF nicht wirklich aus. Wie muss ich denn jetzt eine Zeile formatieren, damit sie z.B. Fett dargestellt wird. Herr Google hat mich bisher im Stich gelassen. Bestimmt habe ich falsch gesucht :(
    Ein paar Tipps oder ein Beispiel bei dem ich abgucken kann, wäre super.

    Gruß
    Nils

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 28. November 2012 um 12:38

    @TheLuBa: Danke, das scheint genau das richtige zu sein. Leider ist keine Dokumentation dabei, aber da wurschtel ich mich schon durch.

    MoD: Sorry, Thread im falschen Forum aufgemacht, bitte verschieben

  • Control für verschiedenfarbige Texte

    • Harry.Fox
    • 28. November 2012 um 11:09

    Hallo Community,

    ich programmiere zwar schon viele Jahre, aber erst seit ein paar Tagen mit AutoIT. Ich suchte nach einer geeigneten Sprache, um zu lernen, wie ich Daten per TCP versenden und empfangen kann. So kam ich auf AutoIT mit dem TCP UDF.

    Um zu verstehen, wie es geht, habe ich einen Chat programmiert. Er besteht aus einem Server und einem Client und läuft schon gut als reiner Text-Chat. Also nutzen wir ihn im Büro, damit wir nicht für jede Kleinigkeit eine E-Mail schicken müssen. Und schon kamen Wünsche von meinen Kolleginnen und Kollegen, die ich spontan nicht erfüllen könnte.

    • Jeder Benutzer soll im Chat-Fenster eine eigene Textfarbe haben.
    • Es sollen Smylies mölich sein

    Da ich die Chat-Nachrichten in einem normalen Edit-Control anzeige kann ich so wie ich es verstehe die Textfarbe nur für den ganzen Text festlegen und nicht unterschiedliche Farben für unterschiedliche Textabschnitte. Und natürlich kann ich auch keine Grafiken anzeigen.
    Eine schöne Lösung wäre z.B. ein Control, das HTML wiedergeben kann. Sodass ich mit

    Code
    <font color=red>Dies ist der Text</font>

    eine rote Textzeile produzieren kann. Und natürlich liessen sich dann auch Smylies in Form von kleinen Grafiken einbinden.

    Gibt es sowas, oder hat jemand eine andere Idee, wie ich das umsetzen könnte?

    Bin für jeden Tipp dankbar!

    Gruß
    Nils

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™