Based on two message board threads:-
http://msgboard.alphasoftware.com/al...ad.php?t=79608
&
http://msgboard.alphasoftware.com/al...ad.php?t=55813
with code from Mike Wilson, Cal Locklin, Lenny Forziati, & Andy Dibble, here's a function which displays the field names & indexes for any selected table in a rollup/rolldown modeless xdialog - the code has just been cobbled together, but gives a useful example - Sure, it can be improved and expanded upon, but it's only an example. The juicy bit for me was Cal's addition of a check box to Mike's code in the first thread.
I've attached a import txt file of this function also.
http://msgboard.alphasoftware.com/al...ad.php?t=79608
&
http://msgboard.alphasoftware.com/al...ad.php?t=55813
with code from Mike Wilson, Cal Locklin, Lenny Forziati, & Andy Dibble, here's a function which displays the field names & indexes for any selected table in a rollup/rolldown modeless xdialog - the code has just been cobbled together, but gives a useful example - Sure, it can be improved and expanded upon, but it's only an example. The juicy bit for me was Cal's addition of a check box to Mike's code in the first thread.
Code:
FUNCTION TablesFieldsIndexes AS C ( ) DIM vTM AS C="" DIM vFM AS C="" DIM vIM AS C="" DIM tablename AS C DIM fieldname AS C = "" DIM idxname AS C = "" DIM dialog_box_title as C DIM dlg_Rolled_Down AS C DIM dlg_Rolled_Up AS C DIM event_Rolled_Up AS C DIM event_Rolled_Down AS C DIM sort_alpha AS L vTM = sortsubstr(a5.table_enum(),crlf(),"A") dialog_box_title = "Tables/Fields/Indexes" dlg_Rolled_Down = <<%dlg% {toolcaption} {can_exit=exit} {background=Pale Yellow} {position=remember=XD_TablesFieldsIndexes_Down} {font=Arial,10,b} {blueframe=1,1:Tables, Fields && Indexes} {region} {font=Arial,8,b} Tables: | Field Names:{font=Arial,9,n} (sort_alpha!tc_*?tablename!="")Sort Alpha{font=Arial,8,b} | Indexes:{font=Arial,10,n}; [.25,30tablename^#vTM!tc_*] | [.30,30fieldname^#vFM!fc_*] | [.30,10idxname^#vIM!ic_*] {endregion}; {condition=.t.} {line=1,0}; {justify=center}<10Quit>{sp=5}<10Rollup> %dlg% dlg_Rolled_Up = <<%dlg% {can_exit=exit} {background=Pale Yellow} {position=remember=XD_TablesFieldsIndexes_Up} {font=Arial,8,n} {justify=center} <10,1Quit>{sp=5}<10,1Rolldown> %dlg% event_Rolled_Down = <<%code% IF left( a_dlg_button, 3 ) = "tc_" IF a_dlg_button = "tc_change" IF sort_alpha vFM = sortsubstr(w_upper(lower(table.external_field_name_get(tablename))), crlf(), "a") ELSE vFM = w_upper(lower(table.external_field_name_get(tablename,"N"))) END IF vIM = w_upper(lower(table.external_index_name_get(tablename))) END IF a_dlg_button = "" END IF IF a_dlg_button="Quit" ui_modeless_dlg_close("Tables/Fields/Indexes") END IF IF a_dlg_button = "Rollup" ui_modeless_dlg_box(dialog_box_title,dlg_Rolled_Up,event_Rolled_Up) END IF %code% event_Rolled_Up = <<%code% IF a_dlg_button = "Quit" ui_modeless_dlg_close(dialog_box_title) END IF IF a_dlg_button = "Rolldown" ui_modeless_dlg_box(dialog_box_title,dlg_Rolled_Down,event_Rolled_Down) END IF %code% ui_modeless_dlg_box(dialog_box_title,dlg_Rolled_Down,event_Rolled_Down) END FUNCTION
Comment