Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : UI_CLP56.ZIP
Filename : ALLCLIP.TEM

 
Output of file : ALLCLIP.TEM contained in archive : UI_CLP56.ZIP
<><br /> <<uicode>><br /> *<br /> * ALLCLIP.TEM Version 5.6 (c) 1990<br /> *<br /> * Generates:<br /> *<br /> * A complete programming system generating Clipper 87 code depending<br /> * upon what kind of boxes are on screen at generation time<br /> *<br /> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <br /> ************************<br /> *** template startup ***<br /> ************************<br /> * load libraries used by this template<br /> load_lib("allclip")<br /> load_lib("varfunsc")<br /> *******************************<br /> *** end of template startup ***<br /> *******************************<br /> save_file = file<br /> makefile = .t.<br /> sys = grab_box("SYSTEM")<br /> mnu = grab_box("MAINMENU")<br /> pickkey = write_header()<br /> <<enduicode>><br /> <<if mnu>><br /> **********************************<br /> * Set up window for all messages,* <br /> * error or otherwise *<br /> **********************************<br /> <<bm = grab_box("MESSY")>><br /> <<if .not. bm>><br /> bmrow = 24<br /> bmcolumn = 0<br /> bmcolor = "+W/BG,+W/N"<br /> <<else>><br /> bmrow = {bm.row}<br /> bmcolumn = {bm.column}<br /> bmcolor = "{bm.color + ',+W/N'}"<br /> <<endif>><br /> cx = uncolor(bmcolor,mono)<br /> SET COLOR TO &cx<br /> @ bmrow,bmcolumn SAY space(80 - (2 * bmcolumn))<br /> messages(3,'Please Stand By --- Initializing Databases',0,'')<br /> <<init_all_dbfs()>><br /> <<found = .t.>><br /> <<if .not. grab_box("DF_HELP")>><br /> <<found = .f.>><br /> <<for all dicdbfs>><br /> <<if dicdbf.name = "GEN_HELP">><br /> <<found = .t.>><br /> <<endif>><br /> <<endfor>><br /> <<if .not. found>><br /> * Open database GEN_HELP (alias GEN_HELP<br /> *<br /> * Indexes used:<br /> * 1: GEN_HELP ('upper(topic)')<br /> *<br /> SELECT 0<br /> IF .NOT. FILE("GEN_HELP.DBF")<br /> PRIVATE names[2],types[2],lens[2],decs[2]<br /> names[1] = "PAGE"<br /> types[1] = "M"<br /> lens[1] = 10<br /> decs[1] = 0<br /> names[2] = "TOPIC"<br /> types[2] = "C"<br /> lens[2] = 16<br /> decs[2] = 0<br /> <br /> create_dbf("GEN_HELP",names,types,lens,decs)<br /> ENDIF<br /> USE GEN_HELP ALIAS GEN_HELP<br /> * first, check the existence of needed indexes<br /> IF .not. file("GEN_HELP{ndxtag}")<br /> messages(3,'Indexing GEN_HELP (upper(topic))',1,'')<br /> INDEX ON upper(topic) TO GEN_HELP<br /> ENDIF<br /> <br /> * now SET INDEX<br /> SET INDEX TO GEN_HELP<br /> <<endif>><br /> <<endif>><br /> <<endif>><br /> <<uicode>><br /> include_option_text_here(sys,"BEGIN",.t.)<br /> if mnu<br /> ? "MAINMENU()"<br /> else<br /> ? "* SUBMODULE -- contains functions called by a mainline program"<br /> ? "*"<br /> ? "* Must be compiled separated and linked together with calling prog"<br /> endif<br /> <<enduicode>><br /> <<if mnu>><br /> SET CURSOR ON<br /> <<include_option_text_here(sys,"END",.t.)>><br /> CLOSE DATABASES<br /> SET COLOR TO W/N<br /> CLEAR<br /> <<include_option_text_here(sys,"RETURN",.t.)>><br /> * End program<br /> <<endif>><br /> <<if erase_sys()>><br /> <<set_output("memvalid")>><br /> <<set_output("pick.me")>><br /> <<endif>><br /> <<set_output("wanted.hlp")>><br /> <br /> HELP WANTED FILE<br /> <br /> Help needed on following items:<br /> <br /> <<append_output(save_file)>><br /> <br /> <<uicode>><br /> private next_screen<br /> next_screen = wwfile<br /> do while next_screen<br /> q_indent = 0<br /> ? "* BOXES FROM {next_screen} *"<br /> ? "********************** MENUS ******************************** "<br /> for all boxes where (box.popup .and. is_menu(box)) .and. upper(box.slot1) <> "PICK"<br /> menu_write(box)<br /> <br /> endfor<br /> ? " "<br /> ? "********************* BROWSE BOXES **************************"<br /> for all boxes where (box.popup .and. is_browse(box)) <br /> browse_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* ENTRY BOXES ***************************"<br /> for all boxes where (box.popup .and. is_entry(box))<br /> entry_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* MEMO BOXES ****************************"<br /> for all boxes where (box.popup .and. is_memo(box)) <br /> memo_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* ACHOICE BOXES *************************"<br /> for all boxes where (box.popup .and. is_achoice(box))<br /> achoice_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* PLAIN BOXES ***************************"<br /> for all boxes where (box.popup .and. is_plain(box))<br /> justabox_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* MENU PICK BOXES ***********************"<br /> for all boxes where (box.popup .and. is_menu(box)) .and. upper(box.slot1) = "PICK"<br /> menu_write(box)<br /> endfor<br /> ? " "<br /> ? "********************* MISC. FUNCTION ************************"<br /> <br /> write_field_functions()<br /> write_pick_functions()<br /> write_pick_me()<br /> write_memvalid()<br /> if mnu<br /> ? " "<br /> ? "********************* STANDARD FUNCTIONS *******************"<br /> write_standard_functions()<br /> endif<br /> next_screen = get_screen()<br /> enddo<br /> end_file()<br /> <<enduicode>><br /> * End of File<br /> <br /> <<function menu_write>><br /> <<parameter menub>><br /> <<private name, prev_row, prev_col, holdvar>><br /> <<if upper(menub.slot1) = "PICK">><br /> **************************************<br /> ***<br /> *** {lower(menub.name)}<br /> *** MENU PICK BOX<br /> **************************************<br /> <<else>><br /> **************************************<br /> ***<br /> *** {lower(menub.name)}<br /> *** MENU BOX<br /> **************************************<br /> <<endif>><br /> <br /> FUNCTION {lower(menub.name)}<br /> <<name = crunch(menub.name,10,"savebuf")>><br /> PRIVATE zkey, zhold, sys_color,{name}<br /> sys_color = SETCOLOR()<br /> <<private maine, holdvar, prev_row, prev_col, type, found_col>><br /> <<if upper(menub.name) = "MAINMENU">><br /> <<maine = .t.>><br /> <<else>><br /> <<maine = .f.>><br /> <<endif>><br /> <<q_indent = 3>><br /> <<pop_box(menub)>><br /> <<include_option_text_here(menub,"BEGIN",.t.)>><br /> zkey = 1<br /> <<if maine>><br /> zhold1 = 1<br /> <<endif>><br /> DO WHILE .t.<br /> <<include_option_text_here(menub,"LOOP",.t.)>><br /> <<q_indent = 6>><br /> <<holdvar = first_var_in_box(menub)>><br /> <<if holdvar>><br /> cx = uncolor("{menub.contents.color}",mono)<br /> SET COLOR TO &cx<br /> <<say_all_vars_in_box(menub)>><br /> <<endif>><br /> <<uicode>><br /> dwn = .f.<br /> across = .f.<br /> prev_row = first_opt_in_box(menub).row<br /> prev_col = first_opt_in_box(menub).col<br /> <br /> for all options in menub<br /> if option.row <> prev_row<br /> dwn = .t.<br /> endif<br /> if option.col <> prev_col<br /> across = .t.<br /> endif<br /> prev_row = option.row<br /> prev_col = option.col<br /> endfor<br /> <br /> do case<br /> case (dwn .and. across)<br /> type = 3<br /> case dwn<br /> type = 1<br /> case across<br /> type = 2<br /> endcase<br /> <br /> hold = 0<br /> for all options in menub<br /> hold = hold + 1<br /> endfor<br /> optarray = array('OPT_ARRAY',hold)<br /> ? "zmenu = {hold}"<br /> if maine<br /> ? "zhold2 = zmenu"<br /> endif<br /> optkey = ""<br /> for all options in menub<br /> optarray[count] = option<br /> holder = iif(len(option.trigger) > 0,option.trigger[1]," ")<br /> if "" = trim(holder) .or. at(holder,ltrim(digest_text(box_text(option,0,0)))) = 0<br /> holder = substr(ltrim(digest_text(box_text(option,0,0))),2,1)<br /> endif<br /> optkey = optkey + holder<br /> ? "mprompt[{count}] = {digest_text(box_text(option,0,0))}"<br /> endfor<br /> if upper(menub.slot1) <> "PICK"<br /> for all options in menub<br /> if .not. empty(option.slot3)<br /> ? "mhelp[{count}] = '{option.slot3}'"<br /> help_wanted(option.slot3)<br /> else<br /> ? "mhelp[{count}] = {ltrim(digest_text(box_text(option,0,0)))}"<br /> help_wanted(ltrim(digest_text(box_text(option,0,0))))<br /> endif<br /> endfor<br /> endif<br /> for all options in menub<br /> if type = 1 .or. type = 3<br /> ? "mr[{count}] = {option.row}"<br /> endif<br /> if type = 2 .and. count = 1<br /> ? "g_col = {option.col}"<br /> endif<br /> if type = 2 .or. type = 3<br /> ? "mc[{count}] = {option.col}"<br /> endif<br /> endfor<br /> holder = number_of_options_in_box(menub)<br /> if type < 3<br /> if type = 1<br /> ? "STORE {option.col} TO mc[1]"<br /> for i = 2 to holder<br /> ?? ",mc[{i}]"<br /> endfor<br /> else<br /> ? "STORE {option.row} TO mr[1]"<br /> for i = 2 to holder<br /> ?? ",mr[{i}]"<br /> endfor<br /> endif<br /> endif<br /> for all options in menub<br /> if .not. empty(option.message) .and. upper(menub.slot1) <> "PICK"<br /> ? 'mmessage[{count}] = "{option.message}"'<br /> else<br /> ? 'mmessage[{count}] = ""'<br /> endif<br /> endfor<br /> ? "optcols = uncolor('{menub.contents.color}',mono)"<br /> ? "keycols = uncolor('{key_color(menub,menub.contents.color,0)}',mono)"<br /> ? "unkeycols = uncolor('{key_color(menub,(first_opt_in_box(menub)).color_selected,1)}',mono)"<br /> ? "revcols = uncolor('{(first_opt_in_box(menub)).color_selected}',mono)"<br /> <<enduicode>><br /> <<if maine>><br /> IF zhold1 <> zkey <br /> SET COLOR TO &optcols<br /> @ mr[zhold1], mc[zhold1] SAY mprompt[zhold1]<br /> zhold1 = zkey<br /> SET COLOR TO &revcols<br /> @ mr[zhold1], mc[zhold1] SAY mprompt[zhold1]<br /> cx = uncolor(bmcolor,mono)<br /> SET COLOR TO &cx<br /> @ bmrow,bmcolumn + 1<br /> @ bmrow,bmcolumn + 1 SAY mmessage[zhold1]<br /> SET COLOR TO &optcols<br /> ELSE<br /> zkey = menu({type},zkey,{holder},'{optkey}')<br /> ENDIF<br /> <<else>><br /> zkey = menu({type},1,{holder},'{optkey}')<br /> <<endif>><br /> DO CASE<br /> CASE zkey <1<br /> zx = zkey<br /> EXIT<br /> <<q_indent=12>><br /> <<herehold = 0>><br /> <<for menus = 1 to len(optarray)>><br /> <<herehold = herehold + 1>><br /> CASE zkey = {herehold}<br /> <<uicode>><br /> action_comics = optarray[menus].action[1]<br /> if upper(menub.slot1) = "PICK"<br /> xbox = grab_field(menub.slot2)<br /> if len(action_comics) < disp_len(xbox)<br /> action_comics = action_comics + space(disp_len(xbox)-len(action_comics))<br /> endif<br /> ? "KEYBOARD '{action_comics}'"<br /> ? "EXIT"<br /> else<br /> xbox = grab_box(action_comics)<br /> if .not. xbox<br /> do case<br /> case upper(action_comics) = "PACK"<br /> ? 'answer = messages(2,"Pack all Databases? ","L","pack_it",.T.)'<br /> ? "IF answer"<br /> q_indent = 15<br /> pack_all_dbfs()<br /> q_indent = 12<br /> ? "ENDIF"<br /> case upper(action_comics) = "INDEX"<br /> ? 'answer = messages(2,"Index all Databases? ","L","index_it",.T.)'<br /> ? "IF answer"<br /> q_indent = 15<br /> reindex_all_dbfs()<br /> q_indent = 12<br /> ? "ENDIF"<br /> case upper(action_comics) = "RECALL"<br /> ? 'answer = messages(2,"Recall all deleted records in all Databases? ","L","delete_it",.T.)'<br /> ? "IF answer"<br /> q_indent = 15<br /> recall_all_dbfs()<br /> q_indent = 12<br /> ? "ENDIF"<br /> otherwise <br /> for i = 1 to 5<br /> if "" <> trim(optarray[menus].action[i])<br /> ? optarray[menus].action[i]<br /> endif<br /> endfor<br /> endcase<br /> else<br /> if maine<br /> ? "zhold1 = zkey"<br /> endif<br /> write_box_code(xbox," ")<br /> endif<br /> endif<br /> <<enduicode>><br /> <<next>><br /> ENDCASE <br /> <<if maine>><br /> DO CASE<br /> CASE lastkey() = left_arrow<br /> zkey = IIF(zhold1 = 1, 1, zhold1-1) <br /> CASE lastkey() = right_arrow<br /> zkey = IIF(zhold1 <> zhold2, zhold1+1, zhold2)<br /> CASE lastkey() = down_arrow<br /> zkey = IIF(zx<>0,zx,zhold1)<br /> CASE LASTKEY() = esc .OR. LASTKEY() = sp_bar .OR. zx = -28 .OR. zx = 0<br /> zkey = zhold1<br /> CASE zx > 0<br /> zkey = zx<br /> OTHERWISE<br /> key = -zx<br /> ENDCASE<br /> <<endif>><br /> ENDDO<br /> <<q_indent = 0>><br /> <<include_option_text_here(menub,"END",.t.)>><br /> <<unpop_box(menub)>><br /> <<include_option_text_here(menub,"RETURN",.t.)>><br /> SET COLOR TO &sys_color<br /> RETURN ""<br /> * End of Function<br /> <br /> <br /> <<return>><br /> <br /> <br /> <<function justabox_write>><br /> <<parameter b>><br /> <<if upper(b.name) <> "MESSY">><br /> <<private topic,name>><br /> ***************************************<br /> ***<br /> *** {lower(b.name)}<br /> *** PLAIN POP-UP BOX<br /> **************************************<br /> <br /> FUNCTION {lower(b.name)}<br /> <<name = crunch(b.name,10,"savebuf")>><br /> PRIVATE zkey, zhold, sys_color,{name}<br /> sys_color = SETCOLOR()<br /> <<uicode>> <br /> q_indent = 3<br /> pop_box(b)<br /> include_option_text_here(b,"BEGIN",.t.)<br /> for all vars in b<br /> calc_var(var.name, var)<br /> endfor<br /> init_all_memvars_in_box(b)<br /> say_all_vars_in_box(b)<br /> if has_get_var(b)<br /> get_all_vars_in_box(b)<br /> ? "SET CURSOR ON"<br /> ? "READ"<br /> ? "SET CURSOR OFF"<br /> endif<br /> if .not. empty(b.slot1) .or. has_get_var(b)<br /> do case<br /> case upper(b.slot1) = "INDEX"<br /> reindex_all_dbfs()<br /> case upper(b.slot1) = "PACK"<br /> pack_all_dbfs()<br /> case upper(b.slot1) = "RECALL"<br /> recall_all_dbfs()<br /> endcase<br /> <<enduicode>><br /> zkey = 0<br /> <<else>><br /> zkey = inkey(0)<br /> DO CASE<br /> CASE zkey = F1<br /> <<if .not. empty(b.slot3)>><br /> <<topic = b.slot3>><br /> <<else>><br /> <<topic = b.name>><br /> <<endif>><br /> DO helpme WITH "","","{topic}"<br /> <<help_wanted(topic)>><br /> CASE zkey = 27<br /> zx = 0<br /> CASE zkey = 19 .OR. zkey = 4 .OR. (UPPER(CHR(zkey)) >= "A" .AND. UPPER(CHR(zkey)) <= "Z") <br /> zx = -zkey<br /> OTHERWISE<br /> zx = 0<br /> ENDCASE<br /> <<endif>><br /> <<include_option_text_here(b,"END",.t.)>><br /> <<unpop_box(b)>><br /> <<include_option_text_here(b,"RETURN",.t.)>><br /> SET COLOR TO &sys_color<br /> RETURN (zkey) <br /> * End of procedure<br /> <br /> <<endif>><br /> <<q_indent = 0>><br /> <<return>><br /> <br /> <<function memo_write>><br /> <<parameter b>><br /> <<private name>><br /> <br /> **************************************<br /> ***<br /> *** {lower(b.name)}<br /> *** MEMOEDIT TYPE BOX<br /> **************************************<br /> <br /> FUNCTION {lower(b.name)}<br /> PARAMETER insert<br /> <<name = crunch(b.name,10,"savebuf")>><br /> PRIVATE zkey, sys_color, sys_alias,{name}<br /> <<uicode>><br /> private mf,holder<br /> q_indent = 3<br /> write_box_top(b)<br /> for all fields in b<br /> if field.type = "M"<br /> mf = field<br /> endif<br /> next<br /> ? "edit_memo('{mf.name}',{mf.row},{mf.col},{b.bottom-(mf.row-b.top)},{b.right-(mf.col-b.left)},'{mf.color}',{b.right+b.left},insert)"<br /> <<enduicode>><br /> <<q_indent = 3>><br /> <<write_box_bottom(b,.t.)>><br /> <<q_indent = 0>><br /> RETURN ""<br /> * End of procedure<br /> <br /> <<return>><br /> <br /> <<function achoice_write>><br /> <<parameter b>><br /> <<private ff,say_col,tall_clear,b_row>><br /> <br /> **************************************<br /> *** ***<br /> *** {lower(b.name)}<br /> *** ACHOICE BOX ***<br /> **************************************<br /> FUNCTION {lower(b.name)}<br /> PRIVATE x,holder,init_row,chosen,cx<br /> holder = 1<br /> init_row = 0<br /> chosen = 1<br /> <<uicode>><br /> ff = first_var_in_box(b)<br /> if number_of_vars_in_box(b) > 1<br /> ? "PRIVATE zvar[{number_of_vars_in_box(b)}], zret[{number_of_vars_in_box(b)}],on_off[{number_of_vars_in_box(b)}]"<br /> for all vars in box<br /> ? "zvar[{count}] = '{var.name}'"<br /> ? "zret[{count}] = '{var.slot3}'"<br /> ? "on_off[{count}] = {iif(empty(var.slot2),.t.,var.slot2)}"<br /> next<br /> else<br /> ? "PRIVATE {ff.name}[{ff.slot2}],on_off[{ff.slot2}]"<br /> ? "AFILL(on_off,.t.)"<br /> ? "{ff.slot3}"<br /> endif<br /> say_col = say_color(b)<br /> write_box_top(b)<br /> <br /> * find amount of lines to achoice<br /> tall_clear = 0<br /> b_row = (ff.row - b.top) + iif(b.outline.type,1,0)<br /> do while len(trim(box_text(b,b_row,1,b.width-2))) = 0 .and. b_row < (b.height - iif(b.outline.type,0,1))<br /> tall_clear = tall_clear + 1<br /> b_row = b_row + 1<br /> enddo<br /> ? 'cx = uncolor("{b.contents.color},{say_col}",mono)'<br /> ? 'cx = cx + ",,,{iif(substr(b.color,1,1) = "+",substr(b.color,2),"W/N")}"'<br /> ? "SET COLOR TO &cx"<br /> if upper(b.slot1) <> "CHOOSE"<br /> ? "DO WHILE LASTKEY() <> esc .AND. LASTKEY() <> sp_bar"<br /> q_indent = 3<br /> endif<br /> ? 'chosen = ACHOICE({ff.row}, {ff.column}, {ff.row + tall_clear}, {ff.column+disp_len(ff)-1},{iif(number_of_vars_in_box(b) > 1, 'zvar', ff.name)},on_off,"acfunc",chosen,init_row)'<br /> ? "IF chosen <> 0"<br /> ? ' SET COLOR TO uncolor("{say_col},W/B",mono)'<br /> ? " @ ROW(),COL() SAY {iif(number_of_vars_in_box(b) > 1, 'zvar', ff.name)}[chosen]"<br /> ? " SET COLOR TO &cx"<br /> q_indent = q_indent + 3<br /> include_option_text_here(b,"LOOP",.t.)<br /> q_indent = q_indent - 3<br /> ? " holder = chosen"<br /> ? "ENDIF"<br /> if upper(b.slot1) <> "CHOOSE"<br /> q_indent = 0<br /> ? "ENDDO"<br /> endif<br /> <<enduicode>><br /> <<write_box_bottom(b,.t.)>><br /> RETURN {iif(number_of_vars_in_box(b) > 1, 'zret', ff.name)}[holder]<br /> <<return>><br /> <br /> <<function browse_write>><br /> <<parameter b>><br /> <<private dbrowse,counter,xoptions,ff,zrow,zstart,zwidth,pf,condition,name,thisdbf,primo,i,j>><br /> <<dbrowse = is_browse_only(b)>><br /> <br /> **************************************<br /> *** ***<br /> *** {lower(b.name)}<br /> <<do case>><br /> <<case is_browse_full(b)>><br /> *** FULL SCREEN BROWSE BOX ***<br /> <<case is_what("DISPLAY",b)>><br /> *** DISPLAY ONLY BOX ***<br /> <<case (dbrowse .or. is_what("PICK",b))>><br /> *** DISPLAY ONLY BROWSE BOX ***<br /> <<otherwise>><br /> *** BROWSE BOX ***<br /> <<endcase>><br /> **************************************<br /> FUNCTION {lower(b.name)}<br /> <<counter = number_of_vars_in_box(b)>><br /> PRIVATE fnames[{counter}], fpics[{counter}], fdiv[{counter}], finput[{counter}], fshow[{counter}]<br /> <<if is_what("PICK",b)>><br /> PRIVATE holder<br /> <<endif>><br /> <<uicode>><br /> q_indent = 3<br /> xoptions = get_option(b)<br /> condition = .f.<br /> related = .f.<br /> say_col = say_color(b)<br /> write_box_top(b)<br /> if .not. related<br /> ? "GOTO TOP"<br /> endif<br /> ff = first_field_in_box(b)<br /> zrow = ff.row - b.top<br /> for all memvars in b<br /> if memvar.row <> ff.row<br /> init_var(memvar)<br /> calc_var(memvar.name, memvar)<br /> say_var(memvar)<br /> endif<br /> endfor<br /> ? 'fdiv[1] = ""'<br /> for all vars in b<br /> if var.row = ff.row<br /> if count <> 1<br /> zstart = (pf.column + disp_len(pf)) - b.left<br /> zwidth = (var.column-b.left) - zstart<br /> ? 'fdiv[{count}] = "{box_text(b,zrow,zstart,zwidth)}"'<br /> endif<br /> if var.isfield<br /> ? "fnames[{count}] = '{field_say_name(var,var.dbf)}'"<br /> else<br /> if .not. var.calc_formula<br /> ? "NA = 'Not Defined'"<br /> ? "fnames[{count}] = 'NA'"<br /> else<br /> ? "fnames[{count}] = '{var.calc_formula}'"<br /> endif<br /> endif<br /> if var.picture<br /> ? "fpics[{count}] = {var.picture}"<br /> else<br /> ? "fpics[{count}] = ''"<br /> endif<br /> ? "finput[{count}] = {iif(var.input,'.t.','.f.')}"<br /> ? "fshow[{count}] = {iif((len(var.picture) <> 0 .and. len(var.picture) < var.length) ,'.t.','.f.')}"<br /> pf = var<br /> endif<br /> next<br /> <br /> if condition <br /> if .not. related<br /> if sought<br /> ? "SEEK {sought}"<br /> else<br /> ? "LOCATE FOR {condition}"<br /> endif<br /> endif<br /> if related<br /> ? "IF {iif(thisdbf.alias, thisdbf.alias, thisdbf.name)}->(EOF())"<br /> else<br /> ? "IF .NOT. FOUND()"<br /> endif<br /> q_indent = 6<br /> if is_what("DISPLAY",b)<br /> write_box_bottom(b,.f.)<br /> ? "RETURN ''"<br /> else<br /> if dbrowse<br /> ? "messages(4,'No records in file meet conditions -- Press any key to continue')"<br /> else<br /> ? 'answer = messages(2,"No records in file --- Insert New Record? ","L","insert_rec",.T.)'<br /> ? '@ {ff.row},{ff.column} SAY ""'<br /> ? 'IF LASTKEY() <> esc .AND. answer'<br /> ? ' ret_val = ed_{substr(b.name,1,5)}("I",1)'<br /> ? ' IF LASTKEY() = esc' <br /> q_indent = 12<br /> write_box_bottom(b,.t.)<br /> ? "RETURN ''"<br /> q_indent = 6<br /> ? " ENDIF"<br /> ? "ELSE"<br /> q_indent = 9<br /> endif<br /> write_box_bottom(b,.t.)<br /> ? "RETURN ''"<br /> if .not. dbrowse<br /> q_indent = 6<br /> ? "ENDIF"<br /> endif<br /> endif<br /> q_indent = 3<br /> ? "ENDIF"<br /> ? "SET FILTER TO {condition} .AND. db_while({condition},{iif(sought,".t.",".f.")})"<br /> endif<br /> ? 'cx = uncolor("{b.contents.color},{say_col}",mono)'<br /> ? "SET COLOR TO &cx"<br /> if condition .and. .not. is_what("DISPLAY",b) .and. .not. is_what("NOEDIT",b)<br /> ? 'DO WHILE LASTKEY() <> esc .AND. LASTKEY() <> sp_bar'<br /> q_indent = 6<br /> endif<br /> * find amount of lines to dbedit<br /> tall_clear = 0<br /> b_row = (ff.row - b.top) + iif(b.outline.type,1,0)<br /> do while len(trim(box_text(b,b_row,1,b.width-2))) = 0 .and. b_row < (b.height - iif(b.outline.type,0,1))<br /> tall_clear = tall_clear + 1<br /> b_row = b_row + 1<br /> enddo<br /> ? 'zseek = ""'<br /> ? 'DBEDIT({ff.row}, {ff.column}, {ff.row + tall_clear}, {pf.column+disp_len(pf)-1}, fnames,"db{substr(b.name,1,5)}",fpics,"","",fdiv)'<br /> if condition .and. .not. is_what("DISPLAY",b) .and. .not. is_what("NOEDIT",b) <br /> q_indent = 3<br /> ? "ENDDO"<br /> endif<br /> if condition <br /> if .not. is_what("NOEDIT",b)<br /> if sought<br /> ? "SEEK {sought}"<br /> else<br /> ? "GOTO TOP"<br /> ? "LOCATE FOR {condition}"<br /> endif<br /> endif<br /> ? "SET FILTER TO"<br /> endif <br /> if is_what("PICK",b)<br /> ? "IF LASTKEY() <> esc"<br /> ? " holder = {b.slot3}"<br /> ? " KEYBOARD holder"<br /> ? "ENDIF"<br /> endif <br /> if .not. is_what("DISPLAY",b)<br /> write_box_bottom(b,.t.)<br /> else<br /> write_box_bottom(b,.f.)<br /> endif<br /> <<enduicode>><br /> RETURN ""<br /> *End of Function<br /> <br /> <br /> * Function for dbedit of {b.name}<br /> FUNCTION db{substr(b.name,1,5)}<br /> PARAMETERS mode, fld_ptr<br /> PRIVATE ret_val, holder, zrow<br /> holder = fnames[fld_ptr]<br /> IF "" = zseek<br /> zrow = ROW()<br /> messages(3,if(fshow[fld_ptr],&holder," "))<br /> @ zrow, 0 SAY ""<br /> ENDIF<br /> <<if upper(b.slot1) <> "DISPLAY">><br /> <<include_option_text_here(b,"LOOP",.t.)>><br /> ret_val = 1<br /> DO CASE<br /> CASE mode = 0<br /> IF LASTKEY() = up_arrow .OR. LASTKEY() = down_arrow .OR. ;<br /> LASTKEY() = pg_up .OR. LASTKEY() = pg_down<br /> zseek = ""<br /> ENDIF<br /> CASE mode = 1<br /> messages(1,"Start of File",1,"")<br /> CASE mode = 2<br /> messages(1,"End of File",1,"")<br /> CASE mode = 3<br /> ret_val = 0<br /> <<if .not. dbrowse .and. .not. is_what("PICK",b) .and. .not. is_helpbrowse(b)>><br /> <<if condition>><br /> <<if sought>><br /> SEEK {sought}<br /> <<else>><br /> GOTO TOP<br /> LOCATE FOR {condition}<br /> <<endif>><br /> IF .NOT. FOUND()<br /> <<endif>><br /> answer = messages(2,"No records in file --- Insert New Record? ","L","insert_rec",.T.)<br /> @ {ff.row},{ff.column} SAY ""<br /> IF answer .AND. LASTKEY() <> esc<br /> ret_val = ed_{substr(b.name,1,5)}("I",1)<br /> <<if condition>><br /> ELSE<br /> KEYBOARD CHR(esc)<br /> <<endif>><br /> ENDIF<br /> <<if condition>><br /> ENDIF<br /> <<endif>><br /> <<else>><br /> <<if is_what("PICK",b)>><br /> messages(4,"No records in lookup Box -- Must add some or this won't work (press Esc twice)")<br /> KEYBOARD chr(esc)<br /> INKEY(0)<br /> <<else>><br /> messages(3," ")<br /> <<endif>><br /> <<endif>><br /> CASE mode = 4<br /> DO CASE<br /> CASE LASTKEY() = esc .OR. LASTKEY() = sp_bar<br /> <<if .not. is_what("PICK",b)>><br /> ret_val = 0<br /> <<else>><br /> IF "" = zseek<br /> ret_val = 0<br /> ELSE<br /> IF LASTKEY() <> sp_bar<br /> messages(3," ")<br /> zseek = ""<br /> ret_val = 1<br /> ELSE<br /> zseek = zseek + " "<br /> ENDIF<br /> ENDIF<br /> <<endif>><br /> CASE LASTKEY() = enter<br /> <<if called_by_something(b,"RETURN",.f.)>><br /> <<nextbox = called_by_something(b,"RETURN",.f.)>><br /> <<if is_helpbrowse(b)>><br /> df_help({(first_field_in_box(b)).name})<br /> zseek = ""<br /> messages(3," ")<br /> <<else>><br /> <<q_indent = 15>><br /> messages(3," ")<br /> <<write_box_code(nextbox," ")>><br /> ret_val = 2<br /> <<endif>><br /> <<else>><br /> <<if .not. dbrowse .and. .not. is_what("PICK",b) .and. .not. is_what("NOEDIT",b)>><br /> ret_val = ed_{substr(b.name,1,5)}("R",fld_ptr)<br /> <<else>><br /> ret_val = 0<br /> messages(3," ")<br /> <<endif>><br /> <<endif>><br /> <<if .not. is_helpbrowse(b) .and. .not. is_what("PICK",b)>><br /> <<if .not. is_browse_full(b) .and. .not. dbrowse>><br /> CASE LASTKEY() = 10 && Control-return edits record<br /> ret_val = ed_{substr(b.name,1,5)}("R",fld_ptr)<br /> CASE LASTKEY() = 23 && Alt i / Append Loop<br /> DO WHILE LASTKEY() <> esc<br /> ret_val = ed_{substr(b.name,1,5)}("I",1)<br /> ENDDO<br /> <<if .not. is_what("EDITONLY",b)>><br /> CASE LASTKEY() = 22 && Insert code<br /> ret_val = ed_{substr(b.name,1,5)}("I",fld_ptr)<br /> CASE LASTKEY() = 7<br /> BEGIN SEQUENCE<br /> <<include_option_text_here(b,"DELETE",.t.)>><br /> answer = messages(2,"Delete this Record?","L","delete_rec",.T.)<br /> IF answer<br /> <<if condition>><br /> ret_val = 0<br /> <<else>><br /> ret_val = 2<br /> <<endif>><br /> <<if len(get_prime(b).rel) > 0>><br /> answer = messages(2,"Deleting this record will delete records in related databases -- Proceed?","L","delete_rec",.T.)<br /> IF answer<br /> <<q_indent = 21>><br /> <<do delete_all_related with get_prime(b)>><br /> <<prime_dbf = get_prime(b)>><br /> SELECT {iif(prime_dbf.alias, prime_dbf.alias, prime_dbf.name)}<br /> <<q_indent = 18>><br /> <<endif>><br /> <<if multi>><br /> IF e_network(3,5,"Record not available for locking. Retry? (Y/N)")<br /> <<endif>><br /> DELETE<br /> <<if multi>><br /> UNLOCK<br /> ENDIF<br /> <<endif>><br /> <<if len(get_prime(b).rel) > 0>><br /> ENDIF<br /> <<endif>><br /> SKIP -1<br /> IF EOF() <br /> <<if condition>><br /> KEYBOARD chr(esc)<br /> <<else>><br /> ret_val = 0<br /> <<endif>><br /> ENDIF<br /> ENDIF<br /> END<br /> <<endif>><br /> <<endif>><br /> CASE LASTKEY() = F1<br /> <<if .not. empty(b.slot3)>><br /> <<topic = b.slot3>><br /> <<else>><br /> <<topic = b.name>><br /> <<endif>><br /> DO helpme WITH "","","{topic}"<br /> <<help_wanted(topic)>><br /> <<endif>><br /> <<q_indent = 12>><br /> <<write_other_keys(b)>><br /> <<if .not. is_helpbrowse(b) .and. .not. dbrowse .and. .not. is_what("PICK",b) .and. .not. is_what("NOEDIT",b)>><br /> ret_val = ed_{substr(b.name,1,5)}("R",fld_ptr)<br /> <<endif>><br /> ENDIF<br /> ENDCASE<br /> ENDCASE<br /> <<else>><br /> ret_val = 0<br /> <<endif>><br /> RETURN (ret_val)<br /> <br /> <<if .not. dbrowse .and. .not. is_helpbrowse(b) .and. .not. is_what("PICK",b) .and. upper(b.slot1) <> "DISPLAY">><br /> *************************<br /> * function to get record*<br /> * called by read of *<br /> * {b.name} *<br /> *************************<br /> FUNCTION ed_{substr(b.name,1,5)}<br /> PARAMETER io,inum<br /> <<q_indent = 3>><br /> <<if nextbox .and. is_entry(nextbox)>><br /> <<write_box_code(nextbox,"io")>><br /> <<else>><br /> PRIVATE cur_field, hold_color, frow, hold_order<br /> <<declare_field_dupes_in_box(b)>><br /> frow = ROW()<br /> hold_color = SETCOLOR()<br /> cx = uncolor("{b.contents.color},{ff.color}",mono)<br /> SET COLOR TO &cx<br /> cur_field = fnames[inum]<br /> IF io = "I"<br /> <<uicode>><br /> q_indent = 6<br /> init_dupe_fields(b,"r")<br /> q_indent = 3<br /> ? "ELSE"<br /> q_indent = 6<br /> init_dupe_fields(b,"f")<br /> <<enduicode>><br /> ENDIF<br /> IF inum <> 1 <br /> * do just the one field<br /> IF finput[inum]<br /> @ frow, COL() GET &cur_field PICTURE fpics[inum]<br /> SET CURSOR ON<br /> <<include_option_text_here(b,"READ",.t.)>><br /> READ<br /> SET CURSOR OFF<br /> KEYBOARD CHR(down_arrow)<br /> ENDIF<br /> SET COLOR TO &hold_color<br /> RETURN 1<br /> ELSE<br /> * do all the fields<br /> <<q_indent = 6>><br /> <<for all fields in b>><br /> <<if field.input>><br /> <<get_field_dupe_at_row(field)>><br /> <<endif>><br /> <<endfor>><br /> ENDIF<br /> SET CURSOR ON<br /> SET KEY F1 TO helpme<br /> SET KEY {pickkey} TO pickme<br /> <<include_option_text_here(b,"READ",.t.)>><br /> READ<br /> SET KEY F1 TO<br /> SET KEY {pickkey} TO<br /> SET CURSOR OFF<br /> IF LASTKEY() <> esc<br /> <<uicode>><br /> q_indent = 6<br /> uni = .f.<br /> if is_indexed(b)<br /> if upper((get_prime(b)).index[1].slot3) = "UNIQUE"<br /> ? "hold_order = INDEXORD()"<br /> ? "SET ORDER TO 1"<br /> ? "z_temp = m->({(get_prime(b)).index[1].expr})"<br /> ? "zhere = RECNO()"<br /> ? "SEEK z_temp"<br /> ? 'IF .NOT. FOUND() .OR. (io <> "I" .AND. RECNO() = zhere)'<br /> ? " GOTO zhere"<br /> q_indent = 9<br /> uni = .t.<br /> endif<br /> endif<br /> ? 'IF io = "I"'<br /> include_option_text_here(b,"INSERT",.t.)<br /> if multi<br /> ? 'IF e_network(4,5,"File not available for locking. Retry? (Y/N)")'<br /> else<br /> ? " APPEND BLANK"<br /> replace_all_memos(b)<br /> endif<br /> ? " KEYBOARD CHR(down_arrow)"<br /> if multi<br /> ? "UNLOCK"<br /> ? "ENDIF"<br /> endif<br /> ? "ELSE"<br /> include_option_text_here(b,"EDIT",.t.)<br /> ? "ENDIF"<br /> replace_all_fields(b)<br /> include_option_text_here(b,"CHANGE",.t.)<br /> if uni<br /> q_indent = 6<br /> ? "ELSE"<br /> ? ' messages(1,"Record Key Already in Use",1,"")'<br /> ? "ENDIF"<br /> ? "SET ORDER TO hold_order"<br /> endif<br /> q_indent = 3<br /> ? "ENDIF"<br /> q_indent = 0<br /> ? "SET COLOR TO &hold_color"<br /> endif<br /> if is_browse_full(b)<br /> ? "KEYBOARD CHR(down_arrow)"<br /> endif<br /> if condition<br /> if .not. is_what("NOEDIT",b)<br /> ? "SKIP -1"<br /> endif<br /> q_indent = 0<br /> ? "RETURN 0"<br /> else<br /> q_indent = 0<br /> ? "RETURN 2"<br /> endif<br /> endif<br /> <<enduicode>><br /> <br /> <<q_indent = 0>><br /> <<return>><br /> <br /> <br /> <<function entry_write>><br /> <<private xoptions,condition,cbox,topic,a_i,n_i,pages,holddbf,tf,bo,printendif,uni,x,prime_dbf,say_col,name,fbo>><br /> <<parameter b>><br /> <br /> ***************************************<br /> ***<br /> *** {lower(b.name)}<br /> *** ENTRY (FIELDS) BOX<br /> **************************************<br /> <br /> FUNCTION {lower(b.name)}<br /> PARAMETER io<br /> PRIVATE key, newstring, hold_order<br /> <<uicode>><br /> q_indent = 3<br /> declare_field_dupes_in_box(b)<br /> xoptions = get_option(b)<br /> condition = ".t."<br /> say_col = say_color(b)<br /> write_box_top(b)<br /> for all memvars in b<br /> init_var(memvar)<br /> endfor<br /> ? 'cx = uncolor("{say_col},{field.color}",mono)'<br /> ? "SET COLOR TO &cx"<br /> <<enduicode>><br /> DO WHILE .t.<br /> <<q_indent = 6>><br /> <<cbox = called_by_something(b,"",.f.)>><br /> <<if cbox>><br /> zarea = SELECT()<br /> <<called_by_something(b,"",.t.)>><br /> SELECT (zarea)<br /> <<endif>><br /> <<include_option_text_here(b,"LOOP",.t.)>><br /> <<for all memvars in b>><br /> <<calc_var(memvar.name, memvar)>><br /> <<say_var(memvar)>><br /> <<endfor>><br /> <<for all fields in b>><br /> <<if field.type <> "M">><br /> <<say_var(field)>><br /> <<else>><br /> <<x = say_memo(field,b,.f.)>><br /> <<endif>><br /> <<endfor>><br /> IF pcount() > 0<br /> DO CASE<br /> CASE io = "R"<br /> get{substr(b.name,1,5)}("R")<br /> EXIT<br /> <<if called_by_something(b,"PGDN",.f.) .or. b.slot1 = "PGDN">><br /> <<fbo = find_first_box_in_line(b)>><br /> <<if fbo .and. b <> fbo>><br /> CASE io = "H"<br /> get{substr(b.name,1,5)}("H")<br /> EXIT<br /> <<endif>><br /> <<endif>><br /> OTHERWISE<br /> get{substr(b.name,1,5)}("I")<br /> EXIT<br /> ENDCASE<br /> ENDIF<br /> IF EOF() .OR. .NOT. {condition}<br /> <<if .not. is_what("EDITONLY",b)>><br /> GOTO TOP<br /> IF EOF() .OR. .NOT. {condition}<br /> answer = messages(2,"No records in file --- Insert New Record? ","L","insert_rec",.T.)<br /> IF answer .AND. LASTKEY() <> esc<br /> get{substr(b.name,1,5)}("I")<br /> ELSE<br /> EXIT<br /> ENDIF<br /> ENDIF<br /> <<else>><br /> APPEND BLANK<br /> <<endif>><br /> ELSE<br /> <br /> key = inkey(0)<br /> * update choice number based on key response<br /> DO CASE<br /> <<q_indent = 12>><br /> <<if .not. empty(b.slot3)>><br /> <<topic = b.slot3>><br /> <<else>><br /> <<topic = b.name>><br /> <<endif>><br /> <<help_wanted(topic)>><br /> CASE keycheck(key, "{condition}","get{substr(b.name,1,5)}","{topic}",{iif(is_what("EDITONLY",b),'.t.','.f.')})<br /> IF "" <> zseek<br /> zseek = ""<br /> messages(3," ")<br /> ENDIF<br /> <<if .not. is_what("EDITONLY",b)>><br /> <br /> CASE key = 7<br /> IF .NOT. EOF() .AND. {condition}<br /> BEGIN SEQUENCE<br /> <<include_option_text_here(b,"DELETE",.t.)>><br /> answer = messages(2,"Delete this Record?","L","delete_rec",.T.)<br /> IF answer<br /> here = RECNO()<br /> <<if len(get_prime(b).rel) > 0>><br /> answer = messages(2,"Deleting this record will delete records in related databases -- Proceed?","L","delete_rec",.T.)<br /> IF answer<br /> <<q_indent = 24>><br /> <<do delete_all_related with get_prime(b)>><br /> <<prime_dbf = get_prime(b)>><br /> SELECT {iif(prime_dbf.alias, prime_dbf.alias, prime_dbf.name)}<br /> <<q_indent = 12>><br /> <<endif>><br /> <<if multi>><br /> IF e_network(3,5,"Record not available for locking. Retry? (Y/N)")<br /> DELETE<br /> UNLOCK<br /> ENDIF<br /> <<else>><br /> DELETE<br /> <<endif>><br /> SKIP -1<br /> IF BOF() .OR. .NOT. {condition}<br /> goto HERE<br /> SKIP<br /> ENDIF<br /> <<if len(get_prime(b).rel) > 0>><br /> ENDIF<br /> <<endif>><br /> ENDIF<br /> END<br /> ELSE<br /> messages(1,"No records in File -- Cannot Delete",1,"")<br /> ENDIF<br /> <<endif>><br /> <br /> CASE key = esc .OR. key = sp_bar .OR. key = 18 && PgUp<br /> EXIT<br /> <<write_other_keys(b)>><br /> get{substr(b.name,1,5)}("R")<br /> ENDIF<br /> ENDCASE<br /> ENDIF<br /> ENDDO<br /> <<q_indent = 3>><br /> <<write_box_bottom(b,.t.)>><br /> RETURN ""<br /> * End of Procedure<br /> <br /> <br /> <br /> ********************************<br /> * FUNCTION to edit or add to<br /> * {b.name}<br /> ********************************<br /> <br /> FUNCTION get{substr(b.name,1,5)}<br /> PARAMETER io<br /> <<bo = grab_box("MAINMENU")>><br /> <<pages = .f.>><br /> <<q_indent = 3>><br /> DO CASE<br /> CASE io = "I"<br /> <<uicode>><br /> unique_key = is_unique(b)<br /> if called_by_something(b,"PGDN",.f.) .or. b.slot1 = "PGDN"<br /> fbo = find_first_box_in_line(b)<br /> if fbf .and. b <> fbo<br /> ? ' messages(3,"Editing record at this level -- cannot insert except at top level")'<br /> ? ' RETURN ""'<br /> ? 'CASE io = "H"'<br /> ? ' * Do nothing - Basically'<br /> else<br /> q_indent = 6<br /> init_dupe_fields(b,"r")<br /> q_indent = 3<br /> endif<br /> pages = .t.<br /> else<br /> q_indent = 6<br /> init_dupe_fields(b,"r")<br /> q_indent = 3<br /> endif<br /> if unique_key<br /> q_indent = 6<br /> get_field_dupe(unique_key)<br /> ? "SET CURSOR ON"<br /> ? "SET KEY F1 TO helpme"<br /> ? "SET KEY {pickkey} TO pickme"<br /> ? "READ"<br /> ? "SET KEY F1 TO"<br /> ? "SET KEY {pickkey} TO"<br /> ? "SET CURSOR OFF"<br /> ? "IF LASTKEY() = esc"<br /> ? " RETURN ''"<br /> ? "ENDIF"<br /> ? "hold_order = INDEXORD()"<br /> ? "SET ORDER TO {i}"<br /> ? "z_temp = m->{unique_key.name}"<br /> ? "zhere = RECNO()"<br /> ? "SEEK z_temp"<br /> ? 'IF .NOT. FOUND()'<br /> ? " GOTO zhere"<br /> ? 'ELSE'<br /> ? ' messages(1,"Key Already Exists!",1)'<br /> ? ' KEYBOARD chr(13)'<br /> ? ' RETURN ""'<br /> ? 'ENDIF'<br /> endif <br /> ? "OTHERWISE"<br /> q_indent = 6<br /> init_dupe_fields(b,"f")<br /> q_indent = 3<br /> ? "ENDCASE"<br /> tfcounter = 1<br /> for all fields in b<br /> if field.input<br /> if field.type <> "M"<br /> if unique_key<br /> if unique_key <> field<br /> get_field_dupe(field)<br /> endif<br /> else<br /> get_field_dupe(field)<br /> endif<br /> else<br /> ?"@ {field.row}, {field.col} GET m->memo_{tfcounter} VALID memvalid('',0,'{field.name}',if(io='I',.t.,.f.))"<br /> tfcounter = tfcounter + 1<br /> endif <br /> endif<br /> endfor<br /> ? "SET CURSOR ON"<br /> ? "SET KEY F1 TO helpme"<br /> ? "SET KEY {pickkey} TO pickme"<br /> include_option_text_here(b,"READ",.t.)<br /> ? "READ"<br /> ? "SET KEY F1 TO"<br /> ? "SET KEY {pickkey} TO"<br /> ? "SET CURSOR OFF"<br /> if fbo .and. fbo = b <br /> bo = called_by_something(fbo,"PGDN",.f.)<br /> do while called_by_something(bo,"PGDN",.f.)<br /> write_box_code(bo,"H")<br /> bo = called_by_something(bo,"PGDN",.f.)<br /> enddo<br /> bo = find_last_box_in_line(b)<br /> write_box_code(bo,"H")<br /> endif<br /> <<enduicode>><br /> IF LASTKEY() <> esc<br /> <<uicode>><br /> q_indent = 6<br /> uni = .f.<br /> if is_indexed(b) .and. .not. unique_key<br /> if upper((get_prime(b)).index[1].slot3) = "UNIQUE"<br /> ? "hold_order = INDEXORD()"<br /> ? "SET ORDER TO 1"<br /> ? "z_temp = m->({(get_prime(b)).index[1].expr})"<br /> ? "zhere = RECNO()"<br /> ? "SEEK z_temp"<br /> ? 'IF .NOT. FOUND() .OR. (io <> "I" .AND. RECNO() = zhere)'<br /> ? " GOTO zhere"<br /> q_indent = 9<br /> uni = .t.<br /> endif<br /> endif<br /> ? 'DO CASE'<br /> ? 'CASE io = "I"'<br /> include_option_text_here(b,"INSERT",.t.)<br /> if multi<br /> ? 'IF e_network(4,5,"File not available for locking. Retry? (Y/N)")'<br /> else<br /> ? " APPEND BLANK"<br /> replace_all_memos(b)<br /> endif<br /> if multi<br /> ? "UNLOCK"<br /> ? "ENDIF"<br /> endif<br /> if pages .and. fbo <> b<br /> ? 'CASE io = "H"'<br /> ? ' * Do nothing'<br /> endif<br /> ? "OTHERWISE"<br /> include_option_text_here(b,"EDIT",.t.)<br /> if pages .and. fbo <> b<br /> replace_all_fields(b)<br /> endif<br /> ? "ENDCASE"<br /> q_indent = 6<br /> if .not. pages .or. fbo = b<br /> replace_all_fields(b)<br /> endif<br /> include_option_text_here(b,"CHANGE",.t.)<br /> if uni<br /> ? "ELSE"<br /> ? ' messages(1,"Record Key Already in Use",1,"")'<br /> ? "ENDIF"<br /> ? "SET ORDER TO hold_order"<br /> endif<br /> if len(get_prime(b).rel) > 0<br /> ? "IF io = 'I'"<br /> ? " SKIP"<br /> ? " SKIP -1"<br /> ? "ENDIF"<br /> endif<br /> q_indent = 3<br /> ? "ENDIF"<br /> q_indent = 0<br /> ? "RETURN ''"<br /> <<enduicode>><br /> <<return>><br /> <br /> <br /> <br><br> </div><!--/entry --> </div><!-- .entry-container --> <footer class="post-footer postdata fix"> </footer><!-- .post-footer --> <div class='postdata line'> </div> <section id="comments"> <h3 class="comments"><span class="icon"> </span> 3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code<br>Archive   : UI_CLP56.ZIP<br>Filename : ALLCLIP.TEM<br>”</h3> <ol class="commentlist"> <li id="comment-468" class="comment even thread-even depth-1 plain-nested"> <div id="div-comment-468" class="comment-body"> <div class="comment-author fix vcard"> <img alt='' src='https://secure.gravatar.com/avatar/8f76d6c77c12a5a1083dce633a326642?s=48&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/8f76d6c77c12a5a1083dce633a326642?s=96&d=mm&r=g 2x' class='avatar avatar-48 photo' height='48' width='48' decoding='async'/> <div class="comment-author-link"> <cite class="fn">Daniel</cite> <span class="says">says:</span> </div> <div class="comment-meta commentmetadata"><a href="https://www.pcorner.com/list/#comment-468"> January 27, 2013 at 3:59 pm</a> </div> </div> <p>Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!</p> </div> <div class="reply"> </div> </li><!-- #comment-## --> <li id="comment-1491" class="comment odd alt thread-odd thread-alt depth-1 plain-nested"> <div id="div-comment-1491" class="comment-body"> <div class="comment-author fix vcard"> <img alt='' src='https://secure.gravatar.com/avatar/6b4f9d1304972a01f7c30ad1710ddc18?s=48&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/6b4f9d1304972a01f7c30ad1710ddc18?s=96&d=mm&r=g 2x' class='avatar avatar-48 photo' height='48' width='48' decoding='async'/> <div class="comment-author-link"> <cite class="fn">Joshie</cite> <span class="says">says:</span> </div> <div class="comment-meta commentmetadata"><a href="https://www.pcorner.com/list/#comment-1491"> March 18, 2014 at 4:57 pm</a> </div> </div> <p>This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.</p> </div> <div class="reply"> </div> </li><!-- #comment-## --> <li id="comment-31187" class="comment even thread-even depth-1 plain-nested"> <div id="div-comment-31187" class="comment-body"> <div class="comment-author fix vcard"> <img alt='' src='https://secure.gravatar.com/avatar/e91d5d889b8284060613b258afef30f7?s=48&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/e91d5d889b8284060613b258afef30f7?s=96&d=mm&r=g 2x' class='avatar avatar-48 photo' height='48' width='48' decoding='async'/> <div class="comment-author-link"> <cite class="fn">DiskingRound</cite> <span class="says">says:</span> </div> <div class="comment-meta commentmetadata"><a href="https://www.pcorner.com/list/#comment-31187"> January 14, 2015 at 10:57 pm</a> </div> </div> <p>But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: <a href="http://www.os2museum.com/wp/mtswslnk/" rel="nofollow ugc">http://www.os2museum.com/wp/mtswslnk/</a></p> </div> <div class="reply"> </div> </li><!-- #comment-## --> </ol> <div class="navigation fix"> <div class="alignleft"></div> <div class="alignright"></div> </div> </section> <!-- #comments --> </article><!--/post --> </div><!-- #content --> </div><!-- #main-col --> <div id='sidebar-shell-1' class='sidebar-shell sidebar-shell-right'> <div class="dbx-group right boxed warea" id="sidebar"> <!--widget start --><aside id="block-15" class="dbx-box suf-widget widget_block"><div class="dbx-content"> <h2 class="wp-block-heading">Login/Logout</h2> </div></aside><!--widget end --><!--widget start --><aside id="block-10" class="dbx-box suf-widget widget_block"><div class="dbx-content"><div class="logged-out wp-block-loginout"><a href="https://www.pcorner.com/wp-login.php?redirect_to=https%3A%2F%2Fwww.pcorner.com%2Flist%2FDBASE%2FUI_CLP56.ZIP%2FALLCLIP.TEM%2F">Log in</a></div></div></aside><!--widget end --><!--widget start --><aside id="block-16" class="dbx-box suf-widget widget_block"><div class="dbx-content"> <h2 class="wp-block-heading">Donation</h2> </div></aside><!--widget end --><!--widget start --><aside id="paypal_donations-4" class="dbx-box suf-widget widget_paypal_donations"><div class="dbx-content"><!-- Begin PayPal Donations by https://www.tipsandtricks-hq.com/paypal-donations-widgets-plugin --> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <div class="paypal-donations"> <input type="hidden" name="cmd" value="_donations" /> <input type="hidden" name="bn" value="TipsandTricks_SP" /> <input type="hidden" name="business" value=" donation@pcorner.com" /> <input type="hidden" name="return" value="http://www.pcorner.com" /> <input type="hidden" name="item_name" value="Keep Site Alive" /> <input type="hidden" name="amount" value="25" /> <input type="hidden" name="rm" value="0" /> <input type="hidden" name="currency_code" value="USD" /> <input type="image" style="cursor: pointer;" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online." /> <img alt="" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" /> </div> </form> <!-- End PayPal Donations --> </div></aside><!--widget end --></div><!--/sidebar --> </div> </div><!-- /container --> </div><!--/wrapper --> <footer> <div id='page-footer'> <div class='col-control'> <div id="cred"> <table> <tr> <td class="cred-left">© 2018 <a href='http://www.pcorner.com'>The Programmer's Corner</a> by Personalized Computer Systems </td> <td class="cred-center"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8001169946558833" data-ad-slot="6568049104"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </td> <td class="cred-right"></td> </tr> </table> </div> </div> </div> </footer> <!-- 24 queries, 19MB in 0.404 seconds. --> <!-- location footer --> <script type='text/javascript'> //<![CDATA[ jQuery(document).ready(function($) { $('html').MagicLiquidizerTable({ whichelement: 'table', breakpoint: '780', headerSelector: 'thead td, thead th, tr th', bodyRowSelector: 'tbody tr, tr', table: '' }) }) //]]> </script> <script type="text/javascript" src="https://www.pcorner.com/wp-includes/js/comment-reply.min.js?ver=6.5.3" id="comment-reply-js" async="async" data-wp-strategy="async"></script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Object Caching 29/52 objects using Disk Served from: www.pcorner.com @ 2024-05-29 15:20:22 by W3 Total Cache --><script>(function(){if (!document.body) return;var js = "window['__CF$cv$params']={r:'88b777d20900874f',t:'MTcxNjk5NjAyMi41ODYwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script>