desventajas. LOS ORDENES Edit y Browse: SABEMOS ESTOS RDENES DEL PROGRAMA VISUAL FOX PRO BIEN SABEMOS QUE EL ORDEN EDIT PERMITE MODIFICAR LOS DATOS CONTENIDOS EN LA TABLA Y EL ORDEN BROWSE ABRE LA VENTANA EXAMINAR Y MUESTRA LOS REGISTROS DE LA TABLA EN USO O SELECCIONADA. ESTOS ORDENES BIENEN CON CAMPOS COMO: FIELDS Especifica los campos que aparecern en la ventana Examinar. Los campos se muestran en el orden especificado en FieldList. En la lista de campos puede incluir campos de otras tablas relacionadas. Cuando incluya un campo de una tabla relacionada, incluya delante del nombre de campo su alias de tabla y un punto. Si omite FIELDS, se mostrarn todos los campos de la tabla en el orden en que aparecen en la estructura de la tabla. FOR Especifica una condicin por la cual slo se mostrarn en la ventana Examinar aquellos registros para los que TIENEN LA EXPRECION sea verdadera.
EDIT BROWSE VENTAJAS: Uno de los controles que nos permiten la entrada de datos y nos permite su modificacin de los datos o registros de la tabla creada. DESVENTAJAS: Nos permiten la entrada de datos uno por uno es unitario. El control Edit no tiene una propiedad Caption, ya que no dispone de un ttulo esttico. VENTAJAS: Especifica los campos que aparecern en la ventana Examinar. muestra los datos en una ventana, donde se pueden modificar los datos existentes. FOR : Permite filtrar registros, de manera que solo quedaran visibles los que cumplan la condicion. SE UTILIZA para explorar o examinar una tabla, lgicamente con sus respectivos parmetros. DESVENTAJAS: Al momento de abrir este abre demasiados que no se puede visualizar todos los campos.
CAMPOS EDIT Field: QUE Especifica los campos que aparecen en la ventana Edit. Los campos se muestran en el orden especificado en Field List . Puede incluir campos de otras tablas relacionadas en la lista de campos. Cuando se incluye un campo de una tabla relacionada , incluya delante del nombre del campo, con su alias de tabla y un punto. Si omite FIELDS, todos los campos de la tabla se muestran en el orden en que aparecen en la estructura de la tabla. La lista de campos puede especificar cualquier combinacin de campos o campos calculados, incluyendo los campos de las tablas abiertas en otras reas de trabajo.
El control Edit. Uno de los controles que nos permiten la entrada de datos por teclado es el que aparece en el botn que recibe el nombre de Edit. Propiedades Generales El nombre del control lo fijaremos en la propiedad Name, al igual que en cualquier otro componente. La posicin y dimensiones de un control Edit vienen determinadas por las propiedades Left,Top,Width y Heigth, ya conocidas. Las propiedades Visible y Enabled controlan el estado del control, que puede ser visible o no y estar activado o no. Para facilitar una etiqueta de ayuda usaremos la propiedad Hint, junto con ShowHint si es necesario. El color de fondo del campo de entrada ser fijado mediante la propiedadColor, mientras que los atributos del texto los estableceremos mediante la propiedad Font. Es posible fijar una determinada figura para el cursor del ratn al pasar sobre el campo de edicin, asignando el valor apropiado a la propiedad Cursor. Al igual que el resto de componentes insertados en una ficha, un control Edit es un elemento de la matriz Components del form, cuyo ndice podemos obteber mediante la propiedadComponentIndex. En el control Edit, la propiedad AutoSize, que puede tomar los valores True o False, controla el ajuste automtico del control a las dimensiones del tipo de letra que se vaya a utilizar. Si damos a esta propiedad el valor False y modificamos posteriormente el tipo o tamao de letra, podremos ver cmo el control queda parcialmente vaco o bien no es suficiente grande como para mostrar el contenido. A diferencia de lo que ocurre con el control Label, en un campo de edicin la propiedad Align no est disponible en tiempo de diseo, por lo que si queremos ajustar el control en una determinada posicin de la ficha tendremos que hacerlo en tiempo de ejecucin, asignando el valor correspondiente a esta propiedad. Contenido del Campo Edicin El control Edit no tiene una propiedad Caption, ya que no dispone de un ttulo esttico. El texto que aparece en ese control se puede editar en tiempo de ejecucin y se almacena en la propiedad Text. Podemos asignar cualquier valor inicial que nos interese a esta propiedad, valor que aparecern en el campo de edicin al ejecutar el programa, siendo posible su modificacin. La longitud mxima del texto que es posible introducir en este control la podemos establecer asignando a la propiedad MaxLength el mximo nmero de caracteres que queremos admitir. Inicialmente esta propiedad tiene el valor cero, indicando que en principio no existe un lmite. En cuanto el valor sea distinto de cero, el mximo nmero de caracteres ser ese valor introducido. Para editar el contenido de un control Edit durante la ejecucin, utilizaremos las teclas habituales en cualquier aplicacin Windows (podemos movernos con los cursores, podemos usar la tecla de borrar, etc). Control de la Entrada Adems de controlar la longitud mxima del texto mediante MaxLength, tambin podemos convertir automticamente todas las letras introducidas en maysculas a minsculas, o en minsculas a maysculas, segn el valor que asignemos a la propiedad CharCase. Estos valores pueden ser: Constante Conversin realizada ecNormal No se realiza conversin alguna ecLowerCase Todas las maysculas a minsculas ecUpperCase Todas las minsculas a maysculas Mediante la propiedad Modified podemos saber si el contenido del campo de edicin ha sido modificado o no. Cuando el control se crea inicialmente, esta propiedad tiene el valor False. Esta propiedad, en cualquier momento en que el usuario introduzca cualquier carcter o edite el valor inicial del campo tomar el valor True. Podemos dar el valor False a esta propiedad en cualquier momento que nos interese, de tal forma que en una posterior comprobacin sepamos si se ha modificado o no. Inicialmente la finalidad de un control Edit es permitir la entrada o edicin de un texto, pero puede darse el caso de que nos interese utilizar este tipo de control slo para mostrar una informacin, permitiendo desplazarse por ella pero no permitiendo modificarla. Para conseguir esto lo nico que tenemos que hacer es dar el valor True a la propiedad ReadOnly, que inicialmente tiene el valor False. En caso de que utilicemos un campo de edicin para pedir algn dato confidencial, como pueda ser un nmero secreto o palabra de acceso, podemos hacer que la informacin introducida por teclado no se refleje en pantalla, sustituyendo cada uno de los carcteres por un cierto carcter, que deberemos asignar a la propiedad PasswordChar. Selecin de Texto Podemos conocer la posicin a partir de la cual se ha marcado un texto consultando la propiedad SelStart, que contendr la posicin del primer carcter que se haya marcado, teniendo en cuenta que el primer carcter por la izquierda es el 0, el siguiente el 1, etc. Tambin podemos conocer la longitud del texto marcado, o lo que es lo mismo, el nmero de carcteres existentes en la seleccin, mediante la propiedad SelLength. Una tercera propiedad, SelText, nos servir tanto para obtener el texto que se encuentra seleccionado en el control, como para cambiarlo por otro simplemente asignndolo a esta propiedad. Cuando en un control se ha marcado una porcin de texto, esta seleccin permanece hasta que realiza un movimiento del cursor, permaneciendo an cuando nos desplacemos de este control a otro que exista enl form. Cuando esto ocurre, el texto que tenamos marcado puede permanecer as o bien mostrarse normal, volviendo a visualizarse marcado al volver a entrar en el campo. Este comportamiento es controlado mediante la propiedad HideSelection, que puede tomar el valor True, ocultando la seleccin cuando se sale del control, o False, dejndola visible. Por defecto esta propiedad tiene el valor True. En principio, cada vez que se pasa el control a un campo de edicin, hacindolo activo, todo el contenido de ste se selecciona automticamente, independientemente del ltimo texto que se hubiese marcado. Esto es debido a que la propiedad AutoSelect tiene por defecto el valor True, indicando al control que cada vez que se active seleccione todo el contenido. Si damos a esta propiedad el valor False, al volver a un campo en el que anteriormente se haba marcado una porcin de texto, podremos ver que sigue activa la misma seleccin. Activacin de los Controles Por regla general, para pasar de un control a otro en un form utilizaremos la tecla <Tabulador>. Tambin puede usarse la combinacin <Maysculas>+<Tabulador> para ir en sentido inverso. Obviamente se puede activar un cierto control situando el puntero del ratn sobre l y pulsando el botn izquierdo. En caso de que nos interese que un cierto control se active mediante la pulsacin de la tecla <Tabulador>, formando parte del recorrido de controles del form, tan slo hemos de darle el valor False a la propiedad TabStop, que por defecto es True. Al hacer esto no podremos acceder a ese control usando el <Tabulador>, pero siempre podemos activarlo mediante el ratn. Delphi nos permite establecer el orden de acceso. Seleccionamos la opcin Tab Order del men emergente que aparecer al pulsar el botn derecho del ratn sobre el form, o bien elegimos esa misma opcin del men Edit en la ventana principal. En ambos casos veremos aparecer una ventana conteniendo el nombre y tipo de cada uno de los controles que pueden ser activados. En esta ventana podemos establecer el orden de acceso de una forma visual. Si queremos modificar la posicin de un cierto control en la lista, lo nico que hemos de hacer es "pincharlo" con el cursor del ratn y "arrastrarlo" hasta su nueva posicin. Otras Propiedades de Edit Al insertar un campo de edicin en un form, por defecto aparece con un cierto aspecto tridimensional y un recuadro alrededor. Estos elementos son controlados mediante las propiedades Ctl3D y BorderStyle, respectivamente. La primera de ellas puede tomar los valores True o False, dependiendo de lo cual el control aparecer o no con aspecto tridimensional. La propiedad BorderStyle puede tomar dos valores distintos, bsNoneo bsSingle. El primero de ellos har aparecer el control sin borde alrededor, mientras que el segundo, que es el valor tomado por defecto, establece un borde simple delimitando la extensin del control. Adems de la propiedad ShowHint, que ya conocemos, el control Edit cuenta tambin con las propiedades ParentColor, ParentCtl3d y ParentFont, cada una de las cuales puede tomar los valores True o False. La finalidad de estas opciones es permitir que el control tome parte de sus atributos, como el color de fondo, aspecto tridimensional y tipo de letra, de las propiedades del componente en que se haya incluido, al que se le llama padre. Mtodos del Control Edit Hemos visto anteriormente cmo mediante las propiedades SelStart, SelLength y SelText podemos controlar desde el cdigo de nuestro programa la seleccin de texto. Adems de estas propiedades tambin disponemos de los mtodos SelectAll, que selecciona todo el texto existente en el control, y ClearSelection, que elimina el texto seleccionado en ese momento. Si queremos dejar el control vaco, borrando todo el texto que contiene, podemos hacerlo usando el mtodo Clear. Las operaciones con el portapapeles las llevaremos a cabo mediante los mtodos CopyToClipboard, que copiar el texto seleccionado en el portapapeles, CutToClipboard, que adems de copiarlo lo borrar del campo en que se encuentra editado, y PasteFromClipboard, que tomar el texto existente en el portapapeles y lo pegar a partir de la posicin en la que actualmente se encuentra el cursor, insertndolo. Eventos del control Edit Como casi todos los dems controles que pueden residir en un form, un campo de edicin recibe eventos generados por el ratn, OnMouseMove, OnMouseDown y OnMouseUp, y por el teclado, OnKeyPress,OnKeyDown y OnKeyUp. El evento OnEnter se generar en el momento en que el campo de edicin se convierta en el control activo del form, mienrtas que OnExit se producir cuando deje de serlo. Cada vez que se realice una modificacin en el contenido del control, insertando un nuevo carcter o borrando parte del contenido, se producir un evento OnChange. BROWSE: 2. Modificar registros El comando BROW muestra los datos en una ventana, donde se pueden modificar los datos existentes. Para moverse <PgUp>, <PgDn>, <Tab>, <Shift><Tab>, <Ctrl><W> o <CTRL><End> guardar y salir, <Esc> salir sin salvar, <Ctrl><G> aadir registro, <Ctrl><R> marcar/desmarcar para borrar. BROW [LAST] [FIELDS <campo1,compo2,...>] [FOR <cond>] [KEY <exp1>,<exp2>] [VALID [:F] <exp> [ERROR <mensaje>]] [WHEN <cond>] [FREEZE <campo>] [LOCK <exp>] [TITLE <titulo>][WIDTH <ancho>] [TIMEOUT <#>] [IN WINDOW <ventana>][COLOR <par1>,<par2>...,<par8>] [NOAPPEND] [NODELETE] [NOEDIT/NOMODIFY] [NOLGRID] [NORGRID] [NOLINK] [NOMENU] [NOWAIT] [NOCLEAR] [NOMENU] Si se usa la clausula FIELDS, es posible indicar las caracteristicas de cada campo de la siguiente manera: :# --> Ancho del campo en caracteres. :R --> Solo lectura, no ser posible modificar. (Read only) :P=<mascara> --> (Picture) :B=<min>,<max>[:F] --> Rango en el que debe estar (Between) :V=<cond> --> Si la condicin es :T: el valor es aceptado, sino ser rechazado. Solo verifica si hay algun cambio. (Valid) :E=<mensaje> --> Mensaje de error. (usado con :V)(Error) :F --> Fuerza la validacin al salir del campo (aunque no cambie) (Forced valid) :W=<cond> -> Si la condicion es falsa no se podra mover el cursos a dicho campo (When) Campos calculados: Es un campo creado con una expresion, de solo lectura, usando el formato: <nombre> = <exp> FOR <cond>: Permite filtrar registros, de manera que solo quedaran visibles los que cumplan la condicion. KEY <exp1>,<exp2>: Permite filtrar registros entre un rango basandose en la llave indice activa. VALID [:F] <cond> [ERROR <mensaje>]: Evalua <cond> si se efectuo un cambio o si usate :F, si la condicion es verdadera o 1 te deja continuar, si es falsa o 0 envia el mensaje de ERROR. Es una post-condicion. WHEN <cond>: Evalua <cond> si es verdadera o 1 te permite posicionarte en el registro, si es falsa o 0 se salta al siguiente registro. Es una pre-condicion. TITLE <exp>: Permite poner un titulo a la ventana WIDTH <ancho>: Permite limitar el ancho maximo de cada uno de los campos de forma general. TIMEOUT <#>: Determina cuantos segundos se esperara a que el usuario ingrese algo. Transcurrido dicho tiempo la ventana del BROWSE se cierra automaticamente. IN WINDOW <ventana>: El browse se abre dentro de la ventana previamente definida por el usuario. COLOR <par1,par2...,par8> # Par Elemento 1 Resto de registros 2 Campo activo 3 Borde 4 Titulo si Browse esta esta activo 5 Titulo si Browse no esta activo 6 Texto seleccionado 7 Registro activo 8 Sombra CHANGE y EDIT funcionan de manera muy paresida a BROWSE y usan las mismas clausulas Parmetros FIELDS FieldList Especifica los campos que aparecern en la ventana Examinar. Los campos se muestran en el orden especificado en FieldList. En la lista de campos puede incluir campos de otras tablas relacionadas. Cuando incluya un campo de una tabla relacionada, incluya delante del nombre de campo su alias de tabla y un punto. Si omite FIELDS, se mostrarn todos los campos de la tabla en el orden en que aparecen en la estructura de la tabla. FOR lExpression1 Especifica una condicin por la cual slo se mostrarn en la ventana Examinar aquellos registros para los que lExpression1 sea verdadera. Rushmore optimiza una consulta especificada con BROWSE FOR si lExpression1 es una expresin optimizable. Para obtener el mximo rendimiento, utilice una expresin optimizable en la clusula FOR. Si desea obtener ms informacin acerca de las expresiones optimizables con Rushmore, vea SET OPTIMIZE y Utilizar Rushmore para agilizar el acceso a los datos. Incluya FOR si desea mover el puntero de registro hasta el primer registro que cumpla la condicin. Incluya REST si desea dejar el puntero de registro en su posicin actual.
Buena tarde experto: Quisiera saber si puedo utilizar el Browse SE UTILIZA para explorar o examinar una tabla, lgicamente con sus respectivos parmetros, pero quiero que una columnas sean de solo lectura y otras se puedan editar; ej; que el cdigo sea de lectura y los nombres o grados se puedan editar; o que forma existe para realizar una consulta en la que algunos campos queden de lectura y otros de edicin utilizando el Browse u otro comando; Gracias Avatar Experto
Bueno, te comento que eso s se puede hacer mediante mediante el comando Browse, pero debes especificar cada una las reas que van a ser de solo lectura como el siguiente ejemplo: Supongamos que tenemos una tabla de clientes en la que deseamos mostrar el cdigo, nombre, direccin y telfono, pero queremos que el cdigo sea de solo lectura entonces procedemos de la siguiente manera: If !Used("Clientes") Use Clientes In 0 Endif Select Clientes Browse Fields cod_cli:R, non_cli, dir_cli, tel_cli La clusula :R coloca el campo de solo lectura, como podrs haber observado en la lnea de arriba y las dems s se pueden editar. Espero que te sirva de ayuda.