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

Beiträge von Carsten

  • StringSplit-Problem

    • Carsten
    • 2. April 2007 um 19:24

    Na doch steht was drin, aber es ist ein Array.....

    Probiere es mal so:

    [autoit]

    #include <IE.au3>
    #include <array.au3>
    $IE = _IECreate("http://autoit.aufwaerts.de/jgs_portal_checker.php?", 0, 0)
    $Read = $IE.document.body.innerText
    $alt = StringSplit($Read, @LF)

    While 1
    _IEAction($IE, "refresh")
    _IELoadWait($IE)
    $Read = $IE.document.body.innerText
    $Text = StringSplit($Read, @LF)

    For $i = 2 To $Text[0]-1
    If $Text[$i] <> $alt[$i] Then
    Beep(500, 100)
    TrayTip("Neues auf AutoIt.de:", $Text[$i], 10)
    $Read = $IE.document.body.innerText
    ;msgbox(4096,"test",$Read)
    $alt = StringSplit($Read, @LF)
    _ArrayDisplay($alt,"test")
    EndIf
    Next
    Sleep(1000)
    WEnd

    [/autoit]

    Viele Grüße
    Carsten

  • HEX-Code Farbtabelle

    • Carsten
    • 1. April 2007 um 16:52

    Hallo Bugfix,

    das Tool ist toll.

    Jetzt werde ich meine kleinen Programme in Zukunft bunter gestalten :)

    Viele Grüße
    Carsten

  • ControlClick auf unbekanntes control

    • Carsten
    • 1. April 2007 um 16:43

    Hallo Flamefire,

    Mega hat mir schon mal was in diesem Bereich zukommen lassen.

    Schau mal hier (ziemlich weit unten)

    StatusbarGetText-Abfrage unvollständig?


    Grüße Carsten

    P.S: puhh - bis ich jetzt diesen Link hier drin hatte..... dabei ist es ja ganz einfach :)

  • Ideen zum (nach)programmieren

    • Carsten
    • 1. April 2007 um 16:32

    Ach - noch eine Idee - vielleicht noch sinnvoller als der Chat-

    Ein abgespeckter Windows-Explorer...

    Zur Nutzung wie der Win-Explorer, jedoch:

    * Nur bestimmte Pfade auswählbar
    * Nur bestimmte Dateiendungen sichtbar
    * Kein Löschen, kein Umbenennen
    * Suchen in Dateinamen
    * Zusatzinfos zu Dateien können gespeichert werden + Suche danach
    * Programmaufruf durch Doppelklick/Eingabe

    Einsatzgebiete:
    * In Betrieben ideal einsetzbar, oder kennt niemand das Problem, dass man ein Verzeichnis sucht, das jemand versehentlich verschoben hat???

    * Wenn man Partnerin (ok - oder Partner :) ) oder Kinder an den PC lässt, ist die Bedienung schneller erklärt (und sicherer) - oder kennt niemand das Problem, dass man einem absoluten PC-Angsthasen die Bedienung erklären muss???

    * Wenn man ein Projekt bearbeitet mit Dateien an verschiedenen Orten, kann man verschiedene Pfade hier sammeln und hat viel schneller die Daten im Zugriff - oder kennt niemand das Problem, dass man minutenlang überlegt wo jetzt was wieder zu finden ist???


    Viele Grüße
    Carsten

  • Ideen zum (nach)programmieren

    • Carsten
    • 1. April 2007 um 16:18

    Hallo Dustin,

    was nützliches fürs Büro hätte ich Dir: Ein winzig kleiner TCP-Chat - falls Du dich in das Thema noch einarbeiten möchtest....

    Ich habe nämlich das Problem im Büro, dass ich oft telefoniere und dummerweise 2 Telefone habe (eines auf dem Schreibtisch, eines zum rumlaufen).

    Und wenn ich dann telefoniere bekomme ich oft noch intern einen zweiten Anruf was nervig ist. Hier wäre ein kleines Chat-Programm sinnvoll, wo ich einfach eine kurze Info bekommen kann "Herr XX aus YY zurückrufen".

    Wir nutzen Tobits David als e-Mail-Programm und die wollen wohl so was ähnliches demnächst einbinden. Daher werde ich mich an diese Aufgabe nicht mehr machen. Aber für kleine Betriebe wo viele Leute am PC sitzen, könnte so ein kleiner Chat eine gute Entlastung der internen Kommunikation sein.

    Falls Du Interesse hat, kann ich Dir gerne noch tiefere (sinnvolle) Funktionen aus meiner Sicht schildern.

    Viele Grüße
    Carsten

  • Fenster erkennen bei wechselndem Titel

    • Carsten
    • 1. April 2007 um 15:27

    Perfekt, vielen Dank.

    Hier mein kleines Tool. Vielleicht braucht es ja jemand :)


    [autoit]

    ;Kleines Tool, welches immer den Pfad des aktuellen Win-Explorers erkennt.
    ;von Carsten unter tatkräftiger Mithilfe des deutschen Autoit-Forums. März 2007

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

    ;Wer kurzfristig viele Dateien an verschiedenen Orten (Pfaden) benötigt, kann
    ;hiermit seine Schnelligkeit vielleicht noch steigern.....

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

    ;Hintergrund:
    ;Um Broschüren zu erstellen, brauchte ich Texte und Fotos. Die Fotos waren noch anzupassen (Größe, Format etc.).
    ;Da alles auf anderen Pfaden lag, musste ich immer wieder lange Pfadnamen eintippen, da ich die Dateien teilweise
    ;anderweitig speicherte als ich sie öffnete.

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

    ;Die Idee:
    ;Immer wenn ein Win-Explorer-Fenster im Vordergrund ist, merkt er sich den eingestellten Pfadnamen. Mit einer
    ;Tastenkombination schreibt er den an die aktuelle Cursor-Stelle.

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

    ;Ablauf:
    ;- Für jeden Speichern / Öffnen - Vorgang ein Win-Explorer öffnen (mit dem entsprechenden Pfad)
    ;- Au3-Programm starten
    ;- das entsprechende Win-Explorer-Fenster in den Vordergrund holen (Pieps = gespeichert)
    ;- das gewünschte Programm in den Vordergrund holen , öffnen bzw. speichern-Dialog
    ;- Strg-Alt-V schreibt den gemerkten Pfad an die Cursor-Stelle

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

    ; Viel Spaß

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

    Opt("SendKeyDelay", 0) ;0 milliseconds = schneller als Standard
    ; Auszug aus Au3-Hilfe:
    ;SendKeyDelay:
    ;Alters the the length of the brief pause in between sent keystrokes.
    ;Time in milliseconds to pause (default=5). Sometimes a value of 0 does not work; use 1 instead.

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

    dim $merk_fenster
    dim $merk_pfad

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

    $merk_fenster = "_leer_" ; damit es beim erstenmal funktioniert....

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

    HotKeySet("^!v","up_clipschreiben")

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

    while 1
    if NOT WinActive($merk_fenster) then
    $oShell = ObjCreate("shell.application") ; Explorer als Shell-Object
    $oShellWindows = $oShell.windows ; Auflistung aller offenen Shell-Windows

    If Isobj($oShellWindows) Then
    For $Window In $oShellWindows
    if WinActive ( $Window.LocationName, "" ) then
    $merk_fenster = $Window.LocationName
    $merk_pfad = ControlGetText($Window.LocationName, "", "Edit1")
    ; könnte auch in den Win-Clipboard gespeichert werden mit ClipPut,
    ; kann dann aber nur noch eingeschränkt anderweitig verwendet werden.
    Beep(500, 20)
    EndIf
    Next
    Endif
    sleep(500)
    EndIf
    WEnd
    Exit

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

    func up_clipschreiben()
    send ($merk_pfad&"\")
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Fenster erkennen bei wechselndem Titel

    • Carsten
    • 29. März 2007 um 22:41

    Hhmmm......

    mit dem Befehl experimentiere ich auch schon rum, wenig erfolgreich.

    Er liefert mir folgendes Ergebnis:

    Spoiler anzeigen


    WorkerW
    ReBarWindow32
    ComboBoxEx32
    ToolbarWindow32
    ComboBox
    Edit
    ToolbarWindow32
    WorkerW
    ToolbarWindow32
    WorkerW
    msctls_statusbar32
    SHELLDLL_DefView
    DUIViewWndClassName
    DirectUIHWND
    CtrlNotifySink
    SysListView32
    SysHeader32

    Da die ganze Liste immer identisch ist, könnte ich natürlich das als Kriterium nehmen - aber das erscheint mir doch etwas 'wackelig'.


    Dies geht leider auch nicht:

    WinGetState( "classname=ExploreWClass" , "" )

    Trotzdem vielen Dank

  • cmd aus autoit aurfufen=> Problem

    • Carsten
    • 29. März 2007 um 22:00

    Hallo,

    kannst du nicht einfach in die aufgerufene Batch-Datei ein 'Pause' einfügen?

  • Fenster erkennen bei wechselndem Titel

    • Carsten
    • 29. März 2007 um 21:55

    Hallo,

    wie kann ich erkennen ob das gerade aktive Fenster der Windows-Explorer ist?

    Oder anders gefragt:

    Wie kann ich den Class-Namen, in Au3Info angezeigt, abfragen?

    >>>>>>>>>>>> Window Details <<<<<<<<<<<<<
    Title: WINDOWS
    Class: ExploreWClass
    Size: X: 0 Y: 0 W: 1231 H: 633


    Vielen Dank
    Viele Grüße

    Carsten

  • Autoit lernen?

    • Carsten
    • 26. März 2007 um 18:49

    Hallo,

    nimm die Beispiele in der Hilfe als Vorlage, damit habe ich mich bestens in die einzelnen Befehle eingearbeitet.

    Wenn Du zusätzlich noch den SciTe-Editor installierst, bekommst Du auch noch Vorschläge beim Tippen (hilft dem Erinnerungsvermögen :) ) und auch die farbliche Darstellung unterstützt ausgezeichnet.

    Viele Grüße
    Viele Erfolg, viel Spaß
    Carsten

  • Countdown in GUI...

    • Carsten
    • 15. März 2007 um 22:24

    Man lernt doch immer wieder dazu.........

    Ich habe das bisher immer so gelöst und frage mich jetzt welche Lösung geht sparsamer mit der CPU um?

    Zumindest steht bei 'AdlibEnable ' man soll es sparsam verwenden.

    Viele Grüße
    Carsten

    [autoit]


    #include <GUIConstants.au3>

    $Part1 = "Du hast noch "
    $Part2 = " Sekunden."
    $Counter = 20

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

    ; **** INAKTIV *****
    ;AdlibEnable("CountDown", 1000)

    GUICreate("Zeit-Test", 160, 80)
    $CounterLabel = GUICtrlCreateLabel($Part1 & $Counter & $Part2, 10, 20, 160)
    $ButtonTest = GUICtrlCreateButton("Drück mich!", 50, 45, 100)
    GUISetState(@SW_SHOW)

    $zeitzaehler = TimerInit()
    While 1
    $msg = GUIGetMsg()

    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $ButtonTest
    MsgBox(0, "Autsch!", "Du hast mich gedrückt!")

    ; ***** HIER Ersatz für Adlib.... ****
    case Else
    if TimerDiff($zeitzaehler) > 1000 Then
    CountDown()
    $zeitzaehler = TimerInit()
    EndIf

    EndSelect
    WEnd



    Func CountDown()
    $Counter = $Counter - 1 ; **** NOCH GENAUER wäre wohl die PC-Sekunden
    ; zu verwenden, aber bei 20 Sec. wohl unwichtig...
    GUICtrlSetData($CounterLabel, $Part1 & $Counter & $Part2)
    If Not $Counter Then
    AdlibDisable()
    GUIDelete()
    Exit
    EndIf
    EndFunc

    [/autoit]
  • Geldbetrag stückeln

    • Carsten
    • 9. Februar 2007 um 07:26

    Hallo BugFix,

    so in dieser Art wird eine Anwendung wohl eher selten erforderlich sein - nicht mal als Lernprogramm für Azubis zum Einzelhandelskauffrau/-mann *lacht*.

    Aber als Anregung für Hilfswerkzeuge im Bereich der Kasse kann es durchaus dienlich sein. Ich habe mal Versuche unternommen das Geld in der Kasse nicht zu zählen, sondern abzuwiegen um den Gesamtwert zu ermitteln.

    Doch dabei muss man dennoch das Geld ziemlich genau anschauen, da sich keine falsche Münze einschleichen darf........ lohnt also nicht richtig.

    Viele Grüße
    Carsten

    P.S: Hattest Du keine Probleme das Geld in den PC zu bekommen? Im Photoshop CS kommt doch tatsächlich eine Warnmeldung (Verboten!) wenn man Geldscheine bearbeiten möchte.

  • DDE oder COM mit autoIt ???

    • Carsten
    • 2. Februar 2007 um 15:47

    ja, kann geschlossen werden, aber habe ich doch schon getan.....

    Nachtrag:
    Ok, Ok, ich habe den Status 'gelöst' gesetzt, jetzt weiß ich, dass man hier auch 'abschließen' kann.

    Gelöst + Abgeschlossen

    Viele Grüße
    Carsten

  • DDE oder COM mit autoIt ???

    • Carsten
    • 1. Februar 2007 um 06:41

    Na ja, war ja ganz einfach:

    ControlGetText

    liest den Text des Controlls auch im Hintergrund aus. Soviel nur um dieses Thema abzuschliessen...........

  • DDE oder COM mit autoIt ???

    • Carsten
    • 30. Januar 2007 um 16:50

    Hallo Mega,

    super - ich bin immer wieder erstaunt, was alles mit Autoit möglich ist.

    Und ich bin immer wieder froh, wenn ich was 'zum Laufen' bekomme, was nicht 'einfach so' funktioniert..... Ich musste ne Weile nach 'systray.au3' suchen :)

    (hier meine Fundstelle für andere die über AutoIt staunen möchten:
    http://www.autoitscript.com/forum/index.php?showtopic=13704&st=0 )

    Ich kann damit das TAPI-Programm im Systray ansteuern, aber über das Auslesen von Informationen habe ich nichts gefunden (siehe Anlage). Ich könnte damit natürlich das Fenster in den Vordergrund holen und dann die Infos erkennen - aber das hilft nicht wirklich..... eigentlich gar nicht!

    Gibt es vielleicht noch eine Möglichkeit Gui-Daten aus Fenster im Hintergrund zu lesen?

    Vielen Dank
    Viele Grüße
    Carsten

    Schon wieder ein Nachtrag...:
    In Anlage 2 habe ich das Fenster mal 'abgelichtet', ganz unten in der Statusleiste steht nach 'anruf' auch noch die Rufnummer (habe ich verborgen - oder will mich jemand anrufen?) - und genau DIE will ich in AutoIt haben.

    Bilder

    • anlage.gif
      • 4,94 kB
      • 332 × 286
    • anlage2.gif
      • 6,15 kB
      • 297 × 197
  • DDE oder COM mit autoIt ???

    • Carsten
    • 30. Januar 2007 um 13:22

    Hallo Spider,

    Ja, doch, der Link direkt zwar nicht, aber im englischen Forum ist AutoIt und DDE mehrfach diskutiert worden.... Ist also direkt leider nicht möglich.....

    Aber es gibt ja mehrere Wege nach Rom.....

    Ich versuche gerade das Original-Programm zu verwenden und die Statusleiste dort auszulesen. Wie komme ich aber da ran, wenn das Programm nur als TrayIcon (bei der Uhr unten rechts) aktiv ist?

    Wenn es sichtbar ist, kann ich mit
    $text = WinGetText("TAPI", "")
    die Rufnummer aus der Zeile 'Anruf... xxxxxxx' herauslesen (wenn ein Anruf stattfindet).

    Aber wie mache ich das mit einem Fenster im Hintergrund?

    Der Befehl $text = WinGetClassList("TAPI", "") ergibt folgendes Ergebnis:

    TMemo
    TbsSkinStatusPanel
    TbsSkinMainMenuBar
    TbsSkinComboBox
    TbsCustomEdit
    TbsSkinStatusPanel
    TbsSkinButton
    TbsSkinButton
    TbsSkinButton
    TbsSkinButton

    Aber kann ich mit den einzelnen Klassen was anfangen?

    Vielen Dank
    Viele Grüße
    Carsten

    Nachtrag: Die Möglichkeit in Word/Excel mit DLL zu arbeiten habe ich gerade entdeckt (siehe Anhang). Kann ich das irgendwie nutzen?? Muss ich dazu die 'Schlüsselnamen' vom Softwarehersteller bekommen?

    Dateien

    anlage.gif 8,46 kB – 0 Downloads
  • HP und autoit?

    • Carsten
    • 29. Januar 2007 um 21:44

    Na ja
    - ich denke wenn Du mit hp Harry Potter gemeint hättest, so hätte der was mit AutoIt auf eine hp gezaubert.

    Ich kenne mich zwar mit der hp-Erstellung nicht gut aus, aber ich denke AutoIt ist dafür wirklich nicht das geeignete Mittel.

  • DDE oder COM mit autoIt ???

    • Carsten
    • 29. Januar 2007 um 20:55

    Hallo zusammen,

    ich würde gerne
    - mein Tischtelefon
    - mein PC
    - mein AutoIt
    miteinander verkuppeln :)

    In der Software (passend zum Telefon) steht das hier:

    Spoiler anzeigen


    TAPIGnome kann die Rufnummer von Anrufern via DDE an andere Windows-Anwendungen
    weitergeben. Tragen Sie dazu die notwendigen Daten Ihrer DDE-Server Anwendung unter der
    Registerkarte "DDE-Konversation" ein. TAPIGnome wird einen DDE-Poke an das Item der
    Serveranwendung mit der Rufnummer als String bei einem eingehenden Anruf senden. Geht die
    Verbindung wieder in den Ruhezustand, sendet TAPIGnome bei Wunsch einen konfigurierbaren
    String.
    Alternativ kann DDE-ExecuteMacro benutzt werden. Hierbei wird ein DDE-Execute Befehl mit dem
    String "Macro Prefix+Anrufernummer+Macro Sufix" an Ihre DDE-Serveranwendung
    gesendet. Die hier einzutragenden Daten sind wie beim Poke abhängig von Ihrer DDE-Serveranwendung.


    Ich habe schon AutoIt mit SQLite mit hervorragendem Ergebnis verbunden, da sollte ich doch auch das hier schaffen - ich brauche nur einen 'Startschubser' :)

    Kann mir jemand eine Vorlage oder eine GangRICHTUNG geben?

    Viele Grüße
    vielen Dank

    Carsten

  • bestimmte Zeile in ListView markieren

    • Carsten
    • 20. Januar 2007 um 21:01

    Ja SUPPPPEEEERRRRRR,

    das war der entscheidende Hinweis, vielen Dank.

    Den Befehl _GUICtrlListViewSetItemSelState() hatte ich auch 'in der Hand', aber wohl was falsch gemacht.

    Nur der Send-Befehl Befehl lässt sich sparen, wenn man vorher die List-Gui in den Focus setzt:

    [autoit]

    GUICtrlSetState ( $list_personal, $GUI_FOCUS )
    _GUICtrlListViewSetItemSelState($list_personal, $i, 1, 1)
    Send("{right}")

    [/autoit]

    Der Send-Befehl nach Rechts bringt einfach nur die markierte Zeile in den sichtbaren Bereich (falls notwendig weil nicht alle Zeilen in das Fenster passen) - Danke für die Idee 'send' zu verwenden.

    Wirklich Super - das ist genau so wie ich es mir wünsche - perfekt.

    Ich schicke Dir einen Strauß Blumen per Gedanke
    weil ich jetzt mit mir selbst nicht mehr zanke
    und hoffe dich zu einem Lächeln zu erweichen
    wenn diese Zeilen dich erreichen. ;)


    Vielen Dank
    viele Grüße
    Carsten

  • bestimmte Zeile in ListView markieren

    • Carsten
    • 18. Januar 2007 um 10:30

    Ne, das funktioniert. Er zeigt mir dann den Namen des Knopfes und ich kann daraufhin die Liste nach dem identischen Anfang durchsuchen um den Listeneintrag zu finden.

    mein Problem liegt bei 'Weiter Hier' bzw. bei der Zeile: GUICtrlSetState ( $list_personal, $GUI_FOCUS ).

    Hier Soll der identisch gefundene Eintrag in der Liste AKTIVIERT werden, d.h. machen als ob ich mit der Maus draufgeklickt hätte. Wie kann ich eine ganz bestimmte Zeile einer List-View aktivieren?

    Mein Versuch oben mit GUI_Focus funktioniert aber nicht.

    Das ist was ganz einfaches glaube ich, irgendwie glaube ich dass ich das auch schon mal gemacht habe, aber ich steh wohl wirklich gerade auf dem Schlauch.

    Grüße
    Carsten

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™