InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Re: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by Nussbeisser » 17 Jan 2020, 14:17

Danke für Vorschläge und Tipps.
@Rohwedder Macht genau das, was ich wollte.
Gestern habe ich auch versucht mit SetTimer es zu realisieren, habe irgendwann aufgegeben.
Auf A_TimeIdle bin ich gar nicht gekommen.

Code: Select all

^F1::
AktLang := 0
NachLang := 0
SetTimer, InPutTimer, 3000
InputBox, OutputVar, HotString starter, ,,80,100

Return
InPutTimer:
ControlGetText, MyVar, Edit1, HotString starter
AktLang := StrLen(MyVar)

if (AktLang != NachLang)
{
SetTimer, InPutTimer, On
WinClose , HotString starter

If !WinExist("HotString starter")
SetTimer, InPutTimer, Off

NachLang := StrLen(MyVar)
ToolTip, %AktLang% - %NachLang%
Sleep, 1500
ToolTip
return

#IfWinActive HotString starter
:*:aboutr::
MsgBox, Es wurde aboutr gestartet.
#IfWinActive 
Return

Re: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by just me » 17 Jan 2020, 07:45

Moin,

wenn es im Kern nur darum geht, ein Eingabefeld für einen Hotstring bereitzustellen, solltest Du ein Gui benutzen. Das lässt sich einfacher kontrollieren.

Re: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by Rohwedder » 17 Jan 2020, 02:47

Hallo,
versuche es mit einem Timer:

Code: Select all

^F1::
SetTimer, CloseInputBox, 100
InputBox, OutputVar, HotString starter, ,,80,100
SetTimer, CloseInputBox, Off
return
CloseInputBox:
IF A_TimeIdle > 3000
	Winclose, HotString starter
Return
#IfWinActive HotString starter
:*:aboutr::
MsgBox, Es wurde aboutr gestartet.
Return
#IfWinActive

Re: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by gregster » 16 Jan 2020, 12:22

Btw, du hast einen Tippfehler in der InputBox-Zeile, Hotstring stater vs Hotstring starter später

Am einfachsten wär es wahrscheinlich, wenn du die Inputbox in der Hotstring-Routine schließt, d. h. genau dann, wenn ein Hotstring erkannt wurde.

Code: Select all

^F1::
InputBox, OutputVar, HotString starter, ,,80,100
return

#IfWinActive HotString starter
:*:aboutr::
Winclose, HotString starter
MsgBox, Es wurde aboutr gestartet.
Return
#IfWinActive

Re: InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by Frosti » 16 Jan 2020, 12:04

InputBox, OutputVar, HotString stater, ,,80,100, ,,, 5
The last integer is the time in seconds!
Delete it or increase it!

InputBox soll erst dann geschlossen werden, wenn ich aufhöre zu tippen.

Post by Nussbeisser » 16 Jan 2020, 11:15

Hallo,
Gibt es eine Möglichkeit, dass der InputBox erst dann geschlossen wird, wenn nach meiner letzten Eingabe 3 Sekunden verstrichen sind.
Ich habe ein InputBox mit der Titel "HotString starter", der wird nach 5 Sekunden geschlossen, naja mein Strings sind sehr lang und manchmal vertippe ich mich auch, so dass der InputBox geschlossen wird, während ich noch am Tippen bin.

LG


Code: Select all

^F1::
InputBox, OutputVar, HotString stater, ,,80,100, ,,, 5
return

#IfWinActive HotString starter
:*:aboutr::
MsgBox, Es wurde aboutr gestartet.
#IfWinActive 
Return

Top