U0 SettingsPop2(CTask *task,CTaskSettings *tempse) { CDoc *doc; if (doc=DocPut(task)) { LBEqu(&doc->flags,DOCf_HIDE_CURSOR,!tempse->cursor); LBEqu(&doc->flags,DOCf_NO_SCROLL_BARS,!tempse->scroll); } WinBorder(tempse->border,task); SetWinHorz(tempse->left,tempse->right,task); SetWinVert(tempse->top,tempse->bottom,task); task->win_scroll_x=tempse->scroll_x; task->win_scroll_y=tempse->scroll_y; task->win_scroll_z=tempse->scroll_z; MemCpy(&task->snap,&tempse->snap,sizeof(CSnap)); task->win_inhibit=tempse->win_inhibit; task->win_max_refresh=tempse->win_max_refresh; task->text_attr=tempse->text_attr; task->border_attr=tempse->border_attr; task->border_src =tempse->border_src; task->title_src =tempse->title_src; StrCpy(task->task_title,tempse->task_title); WordStat(tempse->wordstat); SetVGAPalette4(tempse->palette4); Snd(0); }
int main(void) { char p[] = " Hello world , i said hello world to the world"; //char p[] = " Somebody like somebody, i do not like it"; char a[WORD_LETTER_MAX]; char b[WORD_LETTER_MAX]; WordStat(p, a, b); printf("%s\n",a); printf("%s\n",b); return 0; }
Bool MyPutKey(I64 ch,I64 sc) { //ch=ASCII; sc=scancode //See $LK,"Char","HI:Char"$ for definition of scan codes. //See $LK,"Keyboard Handling","FI:::/TempleOS/Doc/KeyBoard.TXT"$ //You can customize keys. This routine //is called before the main editor //key handler $LK,"DocPutKey","MN:DocPutKey"$(). //You can intercept any key. //Return TRUE if you completely //handled the key. I64 i,sc2=sc.u8[0]; if (SC_F1<=sc2<=SC_F10 && sc&SCF_ALT && !(sc & SCF_CTRL)) { switch (sc2) { case SC_F1: if (sc&SCF_KEY_DESC) { if (sc & SCF_SHIFT) SetKeyDesc("Dollar/LTPURPLE"); else SetKeyDesc("Dollar/PURPLE"); } else { if (sc & SCF_SHIFT) "$$FG,LTPURPLE$$"; else "$$FG,PURPLE$$"; } break; case SC_F2: if (sc&SCF_KEY_DESC) { if (sc & SCF_SHIFT) SetKeyDesc("Dollar/LTRED"); else SetKeyDesc("Dollar/RED"); } else { if (sc & SCF_SHIFT) "$$FG,LTRED$$"; else "$$FG,RED$$"; } break; case SC_F3: if (sc&SCF_KEY_DESC) { if (sc & SCF_SHIFT) SetKeyDesc("Dollar/LTGREEN"); else SetKeyDesc("Dollar/GREEN"); } else { if (sc & SCF_SHIFT) "$$FG,LTGREEN$$"; else "$$FG,GREEN$$"; } break; case SC_F4: if (sc&SCF_KEY_DESC) { if (sc & SCF_SHIFT) SetKeyDesc("Dollar/LTBLUE"); else SetKeyDesc("Dollar/Default Color"); } else { if (sc & SCF_SHIFT) "$$FG,LTBLUE$$"; else "$$FG$$"; } break; case SC_F6: if (sc&SCF_KEY_DESC) { if (!(sc & SCF_SHIFT)) SetKeyDesc("Cmd/Init WordStat LT"); } else if (!(sc & SCF_SHIFT)) PopUp("WSInit(\"/TempleOS/\" FILENAME_MASK_TXT \";~*Bible.TXT*\");"); break; case SC_F7: if (sc&SCF_KEY_DESC) { if (sc & SCF_SHIFT) SetKeyDesc("Dollar/Insert Hidden Widget"); else SetKeyDesc("Misc/Insert Datetime"); } else { if (sc & SCF_SHIFT) DocInsSafe(DocPut, "$$HS+C$$$$FG$$$$HE$$"); else FillInTime(); } break; } return TRUE; } else { if (!(sc & SCF_CTRL)) { if (sc & SCF_ALT) { switch (ch) { case 'h': if (sc&SCF_KEY_DESC) SetKeyDesc("Win/Tile Horizontally"); else WinTileHorz; return TRUE; case 'm': if (sc&SCF_KEY_DESC) SetKeyDesc("Win/Maximize"); else { WinMax; WinBorder; } return TRUE; case 'v': if (sc&SCF_KEY_DESC) SetKeyDesc("Win/Tile Vertically"); else WinTileVert; return TRUE; case 'l': if (sc&SCF_KEY_DESC) SetKeyDesc("Edit/Put Link to Cur Pos on Clipboard"); else { ClipBoardDel; DocPrintF(sys_clipboard_doc,"$$LK-A,\"FL:%s,%d\"$$", DocPut->filename.name,DocPut->cur_entry->y+1); } return TRUE; case 'L': if (sc&SCF_KEY_DESC) SetKeyDesc("Edit/Place Anchor, Put Link to Clipboard"); else { i=RandU32; ClipBoardDel; DocPrintF(sys_clipboard_doc,"$$LK,\"<TODO>\",\"FA:%s,ANC%d\"$$", DocPut->filename.name,i); "$$AN,\"<TODO>\",\"ANC%d\"$$",i; } return TRUE; case 'w': if (sc&SCF_KEY_DESC) SetKeyDesc("Win/WordStat(ON);"); else WordStat(ON); return TRUE; case 'W': if (sc&SCF_KEY_DESC) SetKeyDesc("Win/WordStat;"); else WordStat; return TRUE; } } } } return FALSE; }