Page 1 of 1
Last entered word in filed
Posted: Fri Jun 10, 2016 9:45 am
by shalu
Hi All,
I have text field, when I type anything and press space bar the field become empty. If I press up arrow then it should display the last command (like linux terminal) , If I press down arrow also display the nex command . How I do this

Re: Last entered word in filed
Posted: Sat Jun 11, 2016 1:51 pm
by dunbarx
Hi.
Do you mean that you want the field to "become" empty when you press spacebar? That is easy.
But what do you mean by "the last" or "the next" command?
Craig Newman
Re: Last entered word in filed
Posted: Sat Jun 11, 2016 6:11 pm
by jmburnod
Hi Craig,
But what do you mean by "the last" or "the next" command?
I think expected behavior is same of messages box.
Best
Jean-Marc
Re: Last entered word in filed
Posted: Sun Jun 12, 2016 1:28 pm
by dunbarx
Shalu.
So is Jean-Marc correct? You want this field to work like the message box? Interesting challenge if so, but please confirm.
Craig
Re: Last entered word in filed
Posted: Mon Jun 13, 2016 6:37 am
by shalu
@dunbarx sorry for the late reply, I want a field like
When I type any text and press space bar the field should be empty
When I press up-arrow the field should display last typed text
Re: Last entered word in filed
Posted: Mon Jun 13, 2016 3:07 pm
by dunbarx
OK. I did this in two handlers for readability. You need to pay me by rewriting in a single handler. Now which message should you use?
In a field script:
Code: Select all
on keyDown tkey
put tKey after me
set the lastText of me to me
if tkey is space then put "" into me
end keyDown
on rawKeyDown tKey
if tKey = 65362 then set the text of me to the lastText of me
select after text of me
pass rawKeyDown
end rawKeyDown
Get going.
Craig
Re: Last entered word in filed
Posted: Tue Jun 14, 2016 7:09 am
by shalu
@dunbarx This is awesome. suppose I want see the all entered word in field then, how I change this code
Re: Last entered word in filed
Posted: Tue Jun 14, 2016 1:45 pm
by dunbarx
Sorry.
suppose I want see the all entered word in field then, how I change this code
I do not understand what you want.
Craig
Re: Last entered word in filed
Posted: Tue Jun 14, 2016 4:26 pm
by Klaus
Hi Shalu,
do you have any idea what Craig's script actually does?
Best
Klaus
Re: Last entered word in filed
Posted: Wed Jun 15, 2016 5:57 am
by shalu
@dunbarx @Klaus sorry for the late reply
now the last entered word is placed into lastText "set the lastText of me to me", I want all word I entered into the field is placed into "lastText".
Re: Last entered word in filed
Posted: Wed Jun 15, 2016 10:57 am
by shalu
samlpe video is attached, I think now you understand my requrement
Re: Last entered word in filed
Posted: Wed Jun 15, 2016 3:18 pm
by dunbarx
Shalu.
I have seen your video, but I do not understand it.
But is this what you wanted":
Code: Select all
on keyDown tkey
put tKey after me
set the lastText of me to the lastText of me & tKey
if tkey is space then put "" into me
end keyDown
on rawKeyDown tKey
if tKey = 65362 then set the text of me to the lastText of me
select after last char of me
pass rawKeyDown
end rawKeyDown
Craig
Re: Last entered word in filed
Posted: Tue Jun 28, 2016 10:19 am
by shalu
@dunbarx sorry for the late reply
It's ok now but the problem is when I press up arrow tex field is display the all last entered words. suppose the last entered words are word1, word2, word3 (word1 space word2 space e.t.c). If I press up arrow then word3 should display and If I again press uparrow then word2 should display. now the current output is word1 word2 word3
Re: Last entered word in filed
Posted: Tue Jun 28, 2016 4:13 pm
by dunbarx
Hmmm.
Are you saying you want to store each field entry separately when you hit the spacebar? That is, each time the field is cleared? And then recall those entries one-by-one when you hit the up arrow?
If so, then make a second field, a bit larger than the first. Change your field handler to this:
Code: Select all
on keyDown tkey
put tKey after me
if tkey is space then
set the lastText of me to me & return & the lastText of me
put "" into me
end if
put the lastText of me into fld 2
end keyDown
on rawKeyDown tKey
if tKey = 65362 then
--your homework here
pass rawKeyDown
end rawKeyDown
Now this will load your text snippets into both the custom property and the field so you can see it. You will want to think of a way to clear that property, I would imagine, and maybe add other required gadgetry.
@Jacque, please look the other way. OK? Good. Now, Shalu, tell me how you can, in the "rawKeyDown" handler, extract each line of the custom property, one by one. This is tricky, but should be fun.
@Jacque! I asked you to turn around please.
Craig