back to coding after a few months away and I cant remember somethings I have used in the past.
Following script changes case for highlighted fields in a table,
1) select one from either "Lower", "Proper" or "Upper"
2) select any or all field names "Abbrev","Design","Design_series","Name"
3) update selected case action for selected fields
script runs without giving anyy error messages and passes correct field_names and case action to update, but does not display the statusbar text, but I just cannot see what is the problem, need a fresh mind to take an objective view as I have been trying to sort this on-and-off for three days now.
Thanks
Following script changes case for highlighted fields in a table,
1) select one from either "Lower", "Proper" or "Upper"
2) select any or all field names "Abbrev","Design","Design_series","Name"
3) update selected case action for selected fields
Code:
on error goto error_routine DIM selected_case_action as C DIM selected_field_names as C DIM varC_result as C DELETE a_selected_field_names DIM a_selected_field_names[4] as c dim temp_list as c dim iterations as n = 0 temp_list = <<%list% Abbrev Design Design_Series Name %list% Dim format as p Format.tab_stops="" Format.odd_row_color="White" Format.even_row_color="light turquoise" Format.odd_selected_color="#234+255+255" Format.even_selected_color="#234+255+255" Format.font="Arial,8" Format.font_color_unselected="Black" Format.font_color_selected="Red" Format.lastbutton="OK" Format.group_size=1 Format.number_rows=.f. Format.alternating_bands=.t. temp_list = a5_owner_draw_list_fmt(temp_list,Format) a_selected_field_names.initialize(temp_list) varC_result = ui_dlg_box("Change Case",<<%dlg% {font=Arial,8} {region} {region}selected_case_action:{endregion}| {region}(selected_case_action:Lower); (selected_case_action:Proper); (selected_case_action:Upper);{endregion}; ; Field:| [%d;O={@@}%.40,6selected_field_names^$$a_selected_field_names]; {endregion}; {line=1,0}; {region} <*10ok!OK> <10cancel!CANCEL> {endregion}; %dlg%) IF varC_result = "ok" THEN selected_field_names = *for_each(tag,substr(tag,at("}",tag,3)+1),selected_field_names) tc = table.current() query.filter = current_highlighted_records() query.order = "recno()" qry = tc.query_create() total = tc.records_get() tc.fetch_first() WHILE .not. tc.fetch_eof() tc.change_begin() IF selected_case_action = "Lower" THEN FOR each fn in selected_field_names SELECT CASE fn = "Abbrev" tc.abbrev = NW_Lower(tc.abbrev) CASE fn = "Design" tc.design = NW_Lower(tc.design) CASE fn = "Design_series" tc.design_series = NW_Lower(tc.design_series) CASE fn = "Name" tc.name = NW_Lower(tc.name) END SELECT next END IF IF selected_case_action = "Proper" THEN FOR each fn in selected_field_names SELECT CASE fn = "Abbrev" tc.abbrev = W_upper(tc.abbrev) CASE fn = "Design" tc.design = W_upper(tc.design) CASE fn = "Design_series" tc.design_series = W_upper(tc.design_series) CASE fn = "Name" tc.name = W_upper(tc.name) END SELECT next END IF IF selected_case_action = "Upper" THEN FOR each fn in selected_field_names SELECT CASE fn = "Abbrev" tc.abbrev = Upper(tc.abbrev) CASE fn = "Design" tc.design = Upper(tc.design) CASE fn = "Design_series" tc.design_series = Upper(tc.design_series) CASE fn = "Name" tc.name = Upper(tc.name) END SELECT next END IF tc.change_end(.t.) tc.fetch_next() statusbar.percent(iterations,total," ($c/$o processing "+ut(tc.aircraft_type)+" $G") END WHILE qry.drop() END IF topparent.resynch() end error_routine: err_msg = error_text_get(error_code_get()) script = error_script_get() line = error_line_number_get() ui_msg_box("Error",err_msg+" error occured at line "+alltrim(str(line,4,0))+" in Script "+alltrim(script)) end
Thanks
Comment