0 Members and 2 Guests are viewing this topic.
I didn't know that Doors CS still supported expansions. I thought that feature was only available in Doors CS 6.x or something (I remember trying an expansion that changed the GUI to something closer to MirageOS)
What you could do is have a simple menu where the user can move a cursor to highlight an option (like "Edit"), then they press a button to assign to that option. Your code looks for the string associated with the keypress, and if the string is empty (i.e., starts with a null byte), then it isn't a valid option. You also need to verify the keypress isn't already assigned to an option.It's basically your idea, using an empty string to signify the keypress is invalid.
"HELLO"→Str1"WORLD"[00]"THIS"[00]"IS"[00]"A"[00]"TEST"[00]
If inData(GDB1,getKey)->AstrGet(Str1,startOfTable-AEnd
Return!If GetCalc("prgmSEHTKY")->A+100->BFix 5:ClrDrawText(1,0,"HotkeySE Config")RectI(0,0,49,7)HLine(Text(3,9,"Edit:")Text(3,15,"Lock:")Text(3,27,"Arch:")Text(3,33,"Cut:")Text(3,39,"Copy:")Text(3,45,"Paste:")Text(3,51,"Rename:")Text(3,57,"Folder:")For(G,0,8)GKY()EndDispGraphLbl GKYIf inData({G+B},GDB1)->CstrGet(Str1,C-1)->DText(35,6*G+9,DEnd[343337382F2E2D2C2B2A272625211F1E1D19171615110E00]->GDB1"[window]"[00]->Str1"[zoom]"[00]"mode"[00]"[del]"[00]"[x^-1]"[00]"[x^2]"[00]"[log]"[00]"[ln]"[00]"[sto]"[00]"[apps]"[00]"[sin]"[00]"[,]"[00]"[0]"[00]"[prgm]"[00]"[cos]"[00]"[(]"[00]"[.]"[00]"[vars]"[00]"[tan]"[00]"[)]"[00]"[(-)]"[00]"[^]"[00]
;Same data as above...ClrHomeRepeat getKeyEndIf inData(,GDB1)->AstrGet(Str1,A-1)->BEndOutput(0,0,B)