No, I missed that. Sorry.
- the target, target() --similar to 'me' but probably hard to translate
- result() --the result synonym
- global/local (script local and within a handler) declarations for container names.
- switch/case/break
- arrays --maybe include split and combine
- repeat while <condition>, repeat until <condition>, next repeat --example: repeat while intersect(fld "A", grc "Ball")
- specialFolderPath("desktop") --desktop, documents, resources
- window.find() //launch browser's find dialog
- window.confirm() //answer dialog with cancel and ok btns
- Can js be coaxed to translate:
answer "Please select a color." with "Cancel" or "Red" or "Green" or "Blue" --oxt: max = 7 buttons
The result is something I had implemented previously* more on this further down.
I hadn't implemented global variable handling specifically. At the moment, variables are globals. For example, if I run:
Code: Select all
put "Current time" && the time into msgVar
answer msgVar with "Close Dialog"
put it

- alert.png (10.98 KiB) Viewed 6101 times
it would return the name of the clicked button "Close Dialog" and put it.
If I clear the message box and type "put it", I get "Close Dialog" -- I will probably make variables non-global as default.
switch, case, break -- not done yet.
arrays -- not done yet.
repeat while -- done
next repeat -- not done yet
repeat while [condition] -- done
- specialFolderPath("[anything]") -- very limited and don't know if this can even be done due to browser sandboxing
answer dialogs -- done (and re-done*)
I'm sure I can do answer color [& colour synonym]
max 7 buttons on alert dialogs -- why contrain ourselves when we can support as many choices as the screen width will allow?

- buttons.png (10.49 KiB) Viewed 6101 times
TerryL wrote: ↑Thu Apr 10, 2025 9:23 pm
I made the start of what could be a webtalk dictionary. It's a stripped 4-item text-database that could be reordered and modified as desired. Current up to WebTalk Doc-128 with 195 entries. My intent was to squeeze only the most essential info on one line of text. It could be used to display the info in another field more conventionally. I'll carry on with it if requested.
That's cool - I'm looking forward to seeing that & it will help me track what I don't yet have added.
TerryL wrote: ↑Thu Apr 10, 2025 9:23 pm
I've a few questions on webtalk syntax.
- Does 'the scrollable' field property true enable vertical AND horizontal scrollbars or just vertical?
- Can the popular 'cr' (carriage return) be a synonym for 'return' and 'lf' (linefeed)?
- Are join() and combine() functions the same?
put join("a,b,c","-") --a-b-c? Replace old itemDel with new itemDel
put combine("a,b,c","-") --a-b-c?
- Is itemDelimiter restricted to 1 char or also accepts a string?
- Are there preOpenCard and closeCard handlers to complement openCard?
The scollable field property - fields were assumed to be non-scrolling when created, and you would have been able to toggle the hscrollbar / vscrollbar property*
cr carriage returns, return & lf -- at the moment I'm using \n newline - and return is a synonym for \n as that's supported without any ambiguity across multiple platforms and browsers. I will look into adding cr as well.
join -- not specifically as join yet.
For example, you can use:
Code: Select all
put "a" & "b" & "c" into myvariable
but I would like to add the join function -- shouldn't be too hard.
is combine a synonym for join? -- silly question perhaps.
Itemdelimiter -- I don't know if it's restricted to one character... hang on, will go test it... yes - this works fine.

- custom-itemdelimiter.png (20.01 KiB) Viewed 6061 times
preopencard / opencard*
Everything with a *
WAS implemented.
However, and this is what is taking me a while, I've been constantly busy behind the scenes with a tokenizer and parser approach to all this (I haven't been anywhere!

) -
it essentially meant I had to rewrite ALL the handlers and functions that I already have to accomodate this approach. It DID need to be done though, as I was starting to run into problems with the regex version - so this means I'm currently playing catchup back to where I was.