Autovervollständigung

  • Hallo Leute!

    Ich hab folgendes Problem.

    Mir ist der gedanke gekommen ein Programm zur Autovervollständigung mit AutoIt zu schreiben. Dabei soll es wie folgt ausschaun.

    Bei eingabe eines Kürzels $a soll der vollständige Text $b als tooltip über dem Kürzel angezeigt werden und bei Tastendruck {ENTER} dann vervollständigt werden.
    Das ganze soll nicht auf Word oder Notepad beschränkt sein sondern im Aktiven Fenster statt finden.

    Ich stell mir das so vor das dass ganze über eine GUI verwaltet werden kann, was hier für mich das kleinste problem ist. Die daten werden aus entweder einer text/ini datei bezogen oder SQlite

    Kopfzerbrechen bereitet mir die in der beta enthaltene funktion _IfPressed, weil ich nicht weiß, und bis lang nicht herausfinden konnte, ob ich auch zeichenfolgen mit überwachen lassen kann.

    Hab mich hier schon umgeschaut und auch im englischsprachigem forum aber leider nix gefunden.

    Bin für jeden tipp und Codeschnippsel dankbar.

    AutoIt for ever

    2 Mal editiert, zuletzt von Wipeout (15. Juli 2006 um 17:06)

    • Offizieller Beitrag

    Hallo und :willkommen:!

    Das hatte ich mir auch schon überlegt zu machen, weil es eine der wenigen Sachen ist, die in AutoHotKey schon dabei ist und wirklich nützlich ist.
    Meine Idee war, einfach die letztem paar Zeichen zu buffern (alle 50 ms oder so _IsPressed) und dann diesen String parsen. Leider kann man so Sachen wie "SSSSStttteefann" bekommen.
    Evtl. könnte man da einfach Doppler rausrechnen oder auch den Zeitabstand beachten.
    Das Ersetzen ist auch nicht ohne. Entweder mit Send und Backspace oder mit StringRepace und Auslesen und Schreiben in das Control, was wieder nicht überall geht.

    Würde dieses Feature sehr gerne in AutoIt umgesetzt sehen!

    peethebee

  • Hi peethebee

    Also ich hab mir das mal heute angeschaut mit AutoHotKey und da hat auch einer schon ein Textbaustein Script für geschrieben.
    Eingeleitet wird eine Vervollständigung durch das '+' zeichen.


    Ich hab nicht das know how sowas für AutoIt zu schreiben.
    Kannst dir bei gelegenheit den Quelltext anschaun.http://de.autohotkey.com/forum/topic317.html
    Viel erfolg noch weiter beim Galenda Projekt.
    Ich werd mir mal die Syntax von AHK in mein brain ziehen.

    MFG
    Wipeout

  • Zitat

    Original von peethebee
    @AutoHotKey: Zieh dir die Synatx nicht rein. Die ist viel zu veraltet!

    AutoIt ist da einen risiegen Schritte weiter und VIEL einfacher und übersichtlicher...

    peethebee

    Übersichtlicher auf jeden fall. Werd mal den versuch machen und das übersetzen, sollte ja nicht allzuschwer sein. Aber hochmut kommt bekanntlich vor dem fall.

    Edit: sag mir mal was ich für 'Input' benutzen soll?

    Einmal editiert, zuletzt von Wipeout (16. Juli 2006 um 18:28)

  • Probier doch das mal aus....(aus dem englischen Forum)

    Gruß
    Wolke

  • Danke Wolke! Hab ich auch schon gefunden! Hier wird aber in einer InputBox editiert und so solls ja nicht sein.
    Die Autoverfollständigung soll im aktiven fenster laufen sprich Word,Notepad,Scintilla etc. wobei letzterer imho ne gute autovervollständigung schon Integriert hat.

    Einmal editiert, zuletzt von Wipeout (16. Juli 2006 um 23:00)

  • leider nicht! da nicht alle programme ne classe zu ihren eingabefeldern mitbringen und AutoIt sich dann fragt 'woher nehmen?'. Warscheinlicher ist allerding das ich noch zu sehr AutoIt noob bin um das zu beurteilen! Aber ich verspreche besserung! ;)