Code:
'Date Created: 16-May-2009 02:47:18 PM
'Last Updated: 21-May-2009 12:49:21 AM
'Created By : Chris Hawkes
'Updated By : Chris Hawkes
'Much Improved By : Chris Hawkes
' " : Peter Greulich
FUNCTION f_TablesFieldsIndexes AS V ()
DIM vTM as C = ""
DIM vFM as C = ""
DIM vIM as C = ""
DIM vTable as C
DIM vField as C = ""
DIM idxname as C = ""
DIM dialog_box_title as C
DIM idxdef as C = ""
DIM vIDX as C = ""
DIM vTabInf1 as C = ""
DIM vTabInf2 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 vSort as L
DIM a_tbl as P
DIM SHARED varBrowse_layout as P
DIM enable_show_all as L
DIM t as P
DIM vFilter as C
DIM vOrder as C
DIM vFlags as C
vTM = sortsubstr(a5.table_enum(),crlf(),"A")
dialog_box_title = file.filename_parse(a5.Get_Name(),"n") + ": Tables/Fields/Indexes"
dlg_Rolled_Down = <<%dlg%
{toolcaption}
{can_exit=exit}
{background=Light Turquoise}
{position=remember=XD_TablesFieldsIndexes_Down}
{font=Arial,10,b}
{blueframe=1,1:Tables, Fields && Indexes}
{region}
{font=Arial,8,b} Tables: ;
{font=Arial,10,n}
[.25,30vTable^#vTM!tc_*]
{endregion}
{region}
{font=Arial,8,b}
| Field Names:{font=Arial,9,i} (vSort!tc_*?vTable!="")Sort Alpha{font=Arial,8,b};
{font=Arial,10,n}
| [.35,30vField^#vFM!fc_*]
{endregion}
{region}
{font=Arial,8,b}
| Indexes:{font=Arial,10,n} ;
| [.30,10idxname^#vIM!ic_*] ;;;;;
| [.30,5idxdef^#idxdef]
{endregion};
{region}
{text=30,2.5vTabInf1} | {text=30,2.5vTabInf2};
{endregion};
{condition=.t.}
{line=1,0};
{font=Arial,9,b}
{justify=center}{Color=violet}<11View Recs>{sp=4}{color=black}<11Table>{sp=4}<11Field>{sp=4}<11Index>{sp=4}
{color=red}<11Close>{color=dark green}{sp=4}<11Rollup>
%dlg%
dlg_Rolled_Up = <<%dlg%
{can_exit=exit}
{background=Dirty White}
{position=remember=XD_TablesFieldsIndexes_Up}
{font=Arial,9}
{justify=center}
{color=red}<10,1Close>{sp=5}{color=dark green}<10,1Rolldown>
%dlg%
event_Rolled_Down = <<%code%
IF a_dlg_button = "tc_change"
IF vSort
vFM = sortsubstr(w_upper(lower(table.external_field_name_get(vTable,"n, t, w, d r"))),crlf(),"a")
ELSE
vFM = w_upper(lower(table.external_field_name_get(vTable,"n, t, w, d r")))
END IF
vIM = w_upper(lower(table.external_index_name_get(vTable)))
vTabInf1 = ""
vTabInf2 = ""
a_tbl = table.open(vTable)
vTabInf1 = " Records: "+alltrim(str(a_tbl.records_get()))+crlf()
vTabInf1 = vTabInf1+"Deleted Records: "+alltrim(str(a_tbl.records_deleted()))
a_tbl.close()
vTabInf2 = "Table Open: "+iif(table.in_use(vTable),"YES","NO")+crlf()
vTabInf2 = vTabInf2+"File Size: "+alltrim(str(file_get_size(dbDataPath()+"\\"+vTable+".dbf")/1024))+ " KB"
idxdef = ""
a_dlg_button = ""
END IF
IF a_dlg_button = "ic_change"
t = table.open(vTable)
idx = t.index_primary_put(idxname)
vOrder = idx.order_get()
vFilter = idx.filter_get()
vFlags = idx.flags_get()
t.close()
idxdef = "Order: " + vOrder + crlf() + "Filter: " + vFilter + crlf() + "Flags: " + vFlags
a_dlg_button = ""
END IF
IF a_dlg_button = "Field"
Code_Editor.activate()
sys_send_keys(EXTRACT_STRING(vField,"",","))
END IF
IF a_dlg_button = "Table"
Code_Editor.activate()
sys_send_keys(chr(34)+vTable+chr(34))
END IF
IF a_dlg_button = "View Recs"
IF is_object(varBrowse_layout) = .F.
query.filter = ""
query.order = ""
enable_show_all = .f.
varBrowse_layout = a5_open_default_Browse(vTable,query.filter,query.order,"Temporary Query","",enable_show_all)
END IF
END IF
IF a_dlg_button = "Index"
Code_Editor.activate()
sys_send_keys(chr(34)+idxname+chr(34))
END IF
IF a_dlg_button = "Close"
ui_modeless_dlg_close(dialog_box_title)
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 = "Close"
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
FUNCTION dbDataPath as C ()
IF a5.Get_Master_Path() = "" THEN
dbDataPath = a5.Get_Path()
ELSE
dbDataPath = a5.Get_Master_Path()
END IF
END FUNCTION
Bookmarks