// QQ.PRG - regresa un objeto Query. // Ejemplo de uso: // r = qq('Customer','ByName').rowset // q = qq('Customer') param cTableName, cIndexName // 2do parametro es opcional local q q = new Query() q.sql = 'select * from "' + cTableName + '"' q.active = true if type('cIndexName') == 'C' q.rowset.IndexName = cIndexName endif return q |
|
/* RView.prg Por Peter Rorlick Native-classes version for VdB 7.01 Usage: (from Command Window:) RView( cTable, [cTag] ) or: RView( oRowset ) or: RView( oQuery ) Regresa una referencia al objeto Query. */ parameter cTable, cTag local f, oRowset
if type('cTable') == 'O'
f.text := oRowset.parent.sql if type('cTag') == 'C' // si fué
especificado el tag...
oRowset.first()
this.GRID1 = new GRID(this)
endclass |
|
// SetUp.prg - Configura hot-keys útiles, y abre archivos de procedimientos. on key label Shift+F4 keyb "RView('')"+repl("{Left}",2) on key label Shift+F5 keyb 'true' on key label Shift+F6 keyb 'false' * F8 = today's date in english on key label f8 keyb cmonth(date())+' '+day(date())+', '+year(date()) * Alt-F6 = _app. on key label Alt+F6 keyb "_app." if not "runtime" $ lower( version(0) ) on key label f3 keyb 'Modify command ' on key label Shift+f3 keyb 'Modify form .wfm'+repl("{Left}",4) * Ctrl-F1 = duplicata la linea actual en el editor on key label Ctrl+F1 keyb "{Home}{Shift+DnArrow}{Ctrl+C}{Ctrl+V}{Ctrl+V}{UpArrow}" * Ctrl-F2 = else on key label Ctrl+F2 keyb "{End}{Enter}{Backspace}{Backspace}else{Enter} " * Ctrl-F3 = endif on key label Ctrl+F3 keyb "{End}{Enter}{Backspace}{Backspace}endif{Enter}" * Alt-F3 = MsgBox('','') on key label Alt+F3 keyb "MsgBox('','',48)" + replicate("{Left}",8) * Alt-F5 = .wfm on key label Alt+F5 keyb ".wfm" * Alt-R = Comentar la linea actual en el Editor, con // . on key label Alt-r keyboard "{home}// {dn}{home}" * Alt-F9 = Agregar un comentario al final de la linea actual on key label Alt+F9 keyb "{End}" + " // " * Shift-F7 = Indentar linea actual (e ir a la siguiente linea) on key label Shift+F7 keyb "{Home}" + space(2) + "{Home}" + "{DnArrow}" * Shift-F8 = Eliminar identación a la linea actual (e ir a la siguiente linea) on key label Shift+F8 keyb "{Home}" + "{Del}" + "{Del}" + "{DnArrow}" endif set proc to set proc to MyControls.cc addi set proc to xtraBtns.cc addi set proc to seeker.cc addi set proc to funclib.prg addi set proc to date.cc addi // y así en adelante... |
|
Y salvelo a una carpeta "Cosas
frecuentemente necesitadas". En mi maquina decidí llamar esta
carpeta \VdB7\CC, y en la etiqueta de Archivos del díalogo del Propiedades
del Escritorio , Fije “Search path” (Buscar ruta) para apuntar a ese folder.
Guardo todos mis CC's comunmente usados CC's, PRG's, WFM's, y CFM's así
mismo en ese folder; de esta forma, Puedo llamarlos desde cualquier directorio
sin preocuparme acerca de la ruta..
[CommandSettings] COMMAND=SetUp() |
|
De esa forma, SetUp.prg ejecutara
cada vez que usted carga VdB7.
use MyTable modi stru |
|
Si obtuvo acceso exclusivo a la
tabla, el texto en el Diseñador de Tablas estara en negro, de otra
forma estará en gris.
modi stru set proc to MyControls.cc addi |
|
/* F.prg Para probar cosas de formas desde la Ventana de Comandos. Para ejecutar esto, solo teclee F() en la ventana de Comandos...diviertase! Por Peter Rorlick */ local cr, cSQL cr = chr(13) cSQL = 'Select * from "' + _dbwinhome + 'Samples\sample.dbf"' _app.bGridOnOpen = {;; this.move(2,9.5,60,5) ;; this.anchor:=1 ;; oForm=this.parent ;; oForm.q.active:=true ;; oForm.rowset:=oForm.q.rowset ;; this.datalink:=oForm.rowset } set typeahead TO 500 keyb 'f = new form()' + cr +; 'f.onOpen = {; this.move(9,3,50,15) }' + cr +; 'f.ed = new editor(f)' + cr +; 'f.ed.top := 5' + cr +; 'f.ef = new entryfield(f)' + cr +; 'f.pb = new pushbutton(f)' + cr +; 'f.pb.left := 20' + cr +; 'f.tx = new text(f)' + cr +; 'f.tx.top := 3' + cr +; 'f.tx.text := "Hello"' + cr +; 'f.q = new query()' + cr +; 'f.q.sql := [' + cSQL + ']' + cr +; 'f.g = new grid(f)' + cr +; 'f.g.onOpen := _app.bGridOnOpen' + cr +; '*inspect(f)' + cr +; 'f.open()' + cr |
|
// E.PRG - abre algunos archivos editados frecuentemente en el Editor de Código // Solo teclee E() en la Ventana de Comandos para ejecutar esto. modify command C:\vdb7\cc\Base.cc modify command C:\vdb7\cc\MyControls.cc modify command Main.wfm modify command C:\vdb7\cc\functionLibrary.prg |
|
// i.prg // Solo teclee I() en la Vetnana de Comandos para ejecutarlo y editar VDB.INI private c c = 'modify command "' + _dbwinhome + 'bin\vdb.ini"' &c |
|
Entonces coloque el esquema en el IDE a su gusto, en un esfuerzo para minimizar solapando las herramientas de las ventanas y paletas. Las menos cosas que pueda encima, podrá trabajar más rápidamente. En particular, usted podría colocar el esquema de las paletas en el Diseñador de la Forma algo así:
Una vez que este contento con el
esquema de posición, y con las configuraciones de propiedad del
Escritorio, Navegador (en Español llamado Selector), y Editor de
Código, debe salir de Visual dBASE y hacer una copia de respaldo
del VdB.INI. De esa forma, su alguna cosa se pierde (o si debe reinstalar
VdB), puede restaurar la copia respaldada de su VdB.INI.
En el InspectorIn , haga clic sobre
una propiedad específica, evento o metodo, después presione
F1 para obtener ayuda sobre ese topico.
help class <className> |
|
O:
x = new <className>() inspect(x) |
|