¿Quieres saber la diferencia entre Visual FoxPro y el lenguaje C?
1.3 Conceptos básicos de programación en Visual FoxPro
------------------------------- --- ----------------------------------------------- ---
VFP se desarrolla a partir de FoxPro y se agregan algunas operaciones nuevas de acuerdo con las necesidades de la "programación visual". Sus declaraciones, funciones y reglas de sintaxis son básicamente compatibles con el lenguaje Xbase (como dBASE, FoxBase, FoxPro) y sus funciones son más poderosas.
1. Datos y tipos de datos
1. Clasificación de los datos
Los datos son el objeto del tratamiento de un programa informático y el resultado de las operaciones.
Clasificados por tipo de datos: datos numéricos, datos de caracteres, datos lógicos, etc.
Clasificados por nivel de procesamiento de datos: constantes, variables, funciones y expresiones.
2. Tipo de datos
El tipo de datos es el atributo básico de los datos. Cuando se opera con datos, solo se pueden operar datos del mismo tipo. Si se realizan operaciones con datos de diferentes tipos, el sistema lo considerará un error de sintaxis.
(1)Carácter: compuesto por letras (caracteres chinos), números, espacios y otros caracteres de código ASCII arbitrarios.
La longitud de los datos de caracteres es de 0 a 254 y cada carácter ocupa 1 byte.
(2) Moneda: cuando se utilizan valores de moneda, se pueden usar tipos de moneda en lugar de tipos numéricos.
El rango de valores de los datos de moneda es:
-922337203685477.5807~922337203685477.5807
Cuando el número de decimales excede 4, el sistema realizará el procesamiento de redondeo. Cada dato de moneda ocupa 8 bytes.
(3) Tipo de fecha (Date): se utiliza para guardar valores de fecha sin hora.
El formato de almacenamiento de los datos de fecha es "aaaammdd", donde aaaa es el año, que ocupa 4 dígitos, mm es el mes, que ocupa 2 dígitos, y dd es el día, que ocupa 2 dígitos.
Los datos de fecha se pueden representar en una variedad de formatos, el formato más utilizado es mm/dd/aaaa.
El rango de valores de los datos de fechas es: 1 de enero de 0001 d.C. al 31 de diciembre de 9999 d.C.
(4) Tipo DateTime (DateTime): se utiliza para guardar valores de fecha y hora. El formato de almacenamiento de los datos de fecha y hora es "yyyymmddhhmmss", donde yyyy es el año, que ocupa 4 dígitos, mm es el mes, que ocupa 2 dígitos, dd es el día, que ocupa 2 dígitos, hh es la hora en el tiempo. , que ocupa 2 dígitos, y mm es la hora, el minuto en la hora ocupa 2 dígitos y ss es el segundo en la hora, ocupa 2 dígitos.
Los datos de fecha y hora pueden contener sólo una fecha o sólo un valor de hora. Cuando se utiliza el valor de fecha predeterminado, el sistema agrega automáticamente el 31 de diciembre de 1999. Cuando se omite el valor de hora, el sistema agrega automáticamente. eso. medianoche medianoche.
(5) Lógico: se utiliza para almacenar datos con solo dos valores. El valor almacenado tiene sólo dos estados: verdadero (.T.) y falso (.F.), ocupando 1 byte.
(6) Tipo numérico (Numeric): se utiliza para representar cantidades. Consta de números del 0 al 9, un símbolo (+ o -) y un punto decimal (.). La longitud de los datos numéricos es de 1 a 20 y cada dato ocupa 8 bytes.
El rango de valores de los datos numéricos es:
-0.9999999999E+19~0.9999999999E+20
Los siguientes tipos de datos solo se pueden usar en tablas de datos Campos en:
(7) Doble: se utiliza para reemplazar tipos numéricos para proporcionar mayor precisión numérica. El tipo de doble precisión solo se puede utilizar para definir campos en tablas de datos y adopta la forma de números de punto flotante con una longitud de almacenamiento fija. A diferencia de los tipos numéricos, la posición del punto decimal de los datos de doble precisión está determinada por el valor de los datos de entrada. Cada dato doble ocupa 8 bytes.
(8) Flotante: este tipo solo se puede utilizar para definir campos en tablas de datos. Este tipo se incluye para proporcionar compatibilidad. Flotante es funcionalmente equivalente a los tipos numéricos.
(9) General: se utiliza para almacenar objetos OLE y solo se puede utilizar para definir campos en tablas de datos. Este campo contiene una referencia a un objeto OLE, y el contenido específico del objeto OLE puede ser una hoja de cálculo, texto de un procesador de textos, imágenes, etc., que son creados por otro software de aplicación.
(10) Entero (Integer): se utiliza para almacenar valores sin partes decimales, y sólo se puede utilizar para la definición de campos en tablas de datos. En la tabla de datos, el campo de número entero ocupa 4 bytes y el rango de valores es:
-2147483647~2147483647
Los números enteros se almacenan en formato binario y no son necesarios como los tipos numéricos. Convierta a caracteres ASCII para almacenamiento.
(11) Tipo Memo (Memo); el tipo Memo se utiliza para almacenar bloques de datos de caracteres y solo se puede utilizar para la definición de campos en tablas de datos. En la tabla de datos, el campo de nota ocupa 10 bytes y estos 10 bytes se utilizan para hacer referencia al contenido real de la nota. El contenido real de las notas está limitado únicamente por el espacio de memoria disponible.
El contenido real del campo de comentarios cambia mucho y el contenido del comentario no se puede almacenar directamente en el archivo de tabla de datos (.DBF).
El sistema almacena el contenido del comentario en un archivo relativamente independiente y la extensión del archivo es . DBT.
Dado que no hay variables de tipo memo, los campos de tipo memo deben convertirse en variables de caracteres y luego procesarse utilizando funciones de tipo de caracteres.
2. Constantes y variables
Durante la ejecución del programa, los datos que deben procesarse se almacenan en la memoria interna. Los datos que siempre permanecen sin cambios se denominan "constantes". ", que se llama "constante". La unidad de memoria que almacena datos variables se llama "variable" y los datos que contiene se denominan valor de la variable.
1. Constante
Una constante es un elemento de datos con nombre cuyo valor permanece sin cambios durante una operación. Por ejemplo, el valor PI, es decir, 3,1415926535 es una constante numérica. VFP define los siguientes tipos de constantes:
Constantes numéricas, como: 20, 16, 100, 1
Constantes de caracteres, cadenas entre comillas simples o dobles, como: " ABCD"
Sólo existen dos tipos de constantes lógicas: .T. y .F.
Constantes de tipo fecha y constantes de tipo fecha y hora, como: {^1999-04-22}, {^1999-04-24 10:00 am}
2. Variables
VFP tiene tres formas de variables:
Variables de memoria: unidades de memoria que almacenan datos individuales
Variables de matriz: memoria que almacena múltiples datos Grupo de unidades
p>
Variables de campo: elementos de datos almacenados en la tabla de datos
Cada variable tiene un nombre, llamado nombre de variable, y VFP usa la variable a través del nombre de variable correspondiente. Las reglas de nomenclatura para nombres de variables son:
(1) Consta de letras, números y guiones bajos. El VFP chino puede utilizar caracteres chinos como nombres de variables.
(2) Comience con una letra o guión bajo. VFP chino puede comenzar con un carácter chino.
(3) La longitud es de 1 a 128 caracteres y cada carácter chino ocupa 2 caracteres.
(4) No se pueden utilizar palabras reservadas de VFP.
El alcance de una variable incluye el procedimiento en el que está definida y el alcance de los subprocedimientos llamados por el procedimiento.
3. Operadores y expresiones
La operación es el proceso de procesar datos. Los símbolos que describen varias operaciones se denominan operadores y los datos involucrados en la operación se denominan operaciones. Una expresión se utiliza para representar una regla de evaluación. Consta de operadores y paréntesis emparejados para combinar constantes, variables, funciones, objetos y otros operandos de una forma razonable.
Las expresiones se pueden utilizar para realizar operaciones, manipular caracteres o probar datos. Cada expresión produce un valor único. El tipo de expresión está determinado por el tipo de operador.
Hay 5 tipos de operadores y expresiones en VFP:
Operadores aritméticos y expresiones aritméticas
Operadores de cadena y expresiones de cadena
Operadores de fecha y expresiones de fecha
Operadores relacionales y expresiones relacionales
Operadores lógicos y expresiones lógicas
1. Operadores aritméticos y expresiones aritméticas
Las expresiones aritméticas, también llamadas expresiones numéricas, constan de operadores aritméticos, constantes numéricas, variables, funciones y paréntesis, y el resultado de la operación es un valor numérico. Por ejemplo: el resultado de la operación de 50*2+(70-6)/8 es 108,00. El formato de una expresión aritmética es:
(1 ) operador aritmético.
Los operadores aritméticos proporcionados por VFP se muestran en la Tabla 1.1. Entre estos seis operadores aritméticos, excepto el negativo "-" que es un operador unario, los demás son todos operadores binarios. El significado de sus operaciones es básicamente el mismo que en matemáticas.
Tabla 1.1 Operadores aritméticos
Descripción del nombre del operador
+ La suma es lo mismo que la suma en matemáticas
- La resta es lo mismo que en matemáticas Resta
* Multiplicación es lo mismo que multiplicación en matemáticas
/ División es lo mismo que división en matemáticas
^ o **La potencia es la misma como exponenciación en matemáticas, como 4^3 significa 43
% Resto 12% 5 significa el resto 2 obtenido al dividir 12 entre 5
La precedencia de los operadores aritméticos es: p>
( ) → ^, ** → *, / → % → +, -
(2) Reglas de escritura para expresiones.
Las expresiones aritméticas se escriben de manera diferente a las expresiones en matemáticas. Se debe prestar especial atención al escribir expresiones:
Cada símbolo ocupa 1 espacio y todos los símbolos deben colocarse uno por uno. uno al lado del otro en la misma línea horizontal, y no escriba potencias ni subíndices en la esquina superior derecha ni en la esquina inferior derecha. Por ejemplo: 23 debe escribirse como 2^3 y Xl + X2 debe escribirse como X1+X2.
Se debe reescribir el contenido que originalmente se omitió en la expresión matemática. Por ejemplo: 2X debe escribirse como 2*X.
Todos los paréntesis están entre paréntesis () y los paréntesis deben coincidir. Por ejemplo: 3[x+2(y+z)] debe escribirse como 3*(x+2*(y+z)).
Es necesario cambiar algunos símbolos en expresiones matemáticas por símbolos que puedan expresarse en VFP. Por ejemplo: desea cambiar 2πr a 2*pi*r.
2. Operadores de cadena y expresiones de cadena
Una expresión de cadena consta de constantes de cadena, variables de cadena, funciones de cadena y operadores de cadena. Puede ser una constante de cadena simple o una combinación de varias constantes de cadena o variables de cadena. Hay dos operadores de caracteres proporcionados por VFP (sus niveles de operación son los mismos), como se muestra en la Tabla 1-2.
Tabla 1-2 Operadores de caracteres
Descripción del nombre del operador
+ conexión conecta datos de caracteres
- Desplazamiento de espacio La concatenación de bits mueve los espacios al final de los datos anteriores al final de los siguientes datos
El formato de la expresión de cadena es
[
Por ejemplo:
"ABCl23"+"666xyz" después de la concatenación El resultado es: "ABCl23666xyz "
"Computer"+"World" El resultado después de la conexión es: "Computer World"
"ABC "-"DEFG" El resultado después de la conexión es: "ABCDEFG" "
"ABC "+"DEFG" El resultado después de la concatenación es: "ABC DEFG "
El valor de la expresión de cadena es una cadena.
Para insertar comillas en una cadena, simplemente rodee la cadena con otro tipo de comillas. Por ejemplo:
QM="'"
S=S+QM+ALLTRIM(THIS.Edit1.Value)+QM+","
3. Operadores de fecha y hora y expresiones de fecha y hora
Las expresiones de tipo fecha constan de operadores aritméticos "+, -", expresiones aritméticas, constantes de tipo fecha, variables de tipo fecha y funciones. Los datos de fecha son un tipo especial de datos numéricos y solo se pueden realizar operaciones "+" y "-" entre ellos. Existen las siguientes tres situaciones:
Se pueden restar dos datos de fecha y el resultado es un dato numérico (el número de días entre las dos fechas). Por ejemplo:
{^1999/12/19}-{^1999/11/16} El resultado son datos numéricos: 33
Un dato numérico que representa el número de días puede se agregará a En los datos de tipo de fecha, el resultado sigue siendo un dato de tipo de fecha (fecha calculada al revés). Por ejemplo: {^1999/11/16}+33 da como resultado datos de fecha: {^1999/12/19}
Un dato numérico que representa el número de días se puede restar de los datos de fecha. El resultado sigue siendo un dato de tipo fecha (fecha proyectada hacia adelante). Por ejemplo: {^1999/12/19}-33, el resultado son datos de fecha: {^1999/11/16}
VFP procesará fechas no válidas y las convertirá en fechas vacías.
4. Operadores de clases y objetos
Los operadores de clases y objetos se utilizan específicamente para implementar programación orientada a objetos. Hay dos tipos:
. ——El operador de punto determina la relación entre objetos y clases, así como la afiliación de propiedades, eventos y métodos con sus objetos.
:: - Operador de alcance, utilizado para llamar a métodos de la clase padre en la subclase.
5. Expresión de nombre
En VFP, muchos comandos y funciones requieren un nombre. Los nombres que se pueden usar en VFP son:
Nombre de archivo de tabla/.DBF, alias de tabla/.DBF, nombre de campo de tabla/.DBF, nombre de archivo de índice, nombre de archivo, variable de memoria y nombre de matriz. Nombre de ventana, nombre de menú, nombre de formulario, nombre de objeto, nombre de atributo,...
Al definir un nombre en VFP, debe seguir los siguientes principios:
Solo letras o Se pueden utilizar guiones bajos al comienzo del nombre.
En el nombre sólo se pueden utilizar letras, números y caracteres de subrayado.
No se pueden utilizar palabras reservadas de VFP.
La longitud del nombre puede tener entre 1 y 128 caracteres, pero el nombre del campo y el nombre de la etiqueta de índice en la tabla libre pueden tener hasta 10 caracteres. El nombre del archivo es el especificado por el sistema operativo.
Un nombre no es una variable o campo, pero se puede definir una expresión de nombre para reemplazar el valor de una variable o campo con el mismo nombre.
Las expresiones con nombre brindan flexibilidad a los comandos y funciones de VFP. Al almacenar un nombre en una variable o elemento de matriz, puede usar la variable en lugar del nombre en un comando o función encerrando la variable o elemento de matriz que almacena un nombre entre paréntesis. Por ejemplo:
GUARDAR "CIUDAD" EN a
REEMPLAZAR (a) CON "Beijing"
El nombre del campo CIUDAD se almacena en la variable a. Comando REPLACE, la expresión de nombre (a) reemplazará la variable con el nombre del campo. Este método se llama referencia indirecta.
4. Funciones
Para los usuarios, no existe diferencia entre funciones en lenguajes de programación y funciones matemáticas. Para utilizar funciones, debe tener parámetros (variables independientes), que pueden. obtenerse de funciones Obtener un valor devuelto (la variable dependiente). Desde una perspectiva de programación, una función es un tipo de subrutina que puede completar una operación específica.
1. Clasificación de funciones
Hay dos tipos de funciones en VFP, una es función definida por el usuario y la otra es función del sistema. Las funciones personalizadas las escriben los usuarios de acuerdo con sus necesidades, mientras que las funciones del sistema son funciones internas proporcionadas por VFP y los usuarios pueden llamarlas en cualquier momento.
Hay más de 380 funciones del sistema proporcionadas por VFP, que se dividen principalmente en: funciones numéricas, funciones de procesamiento de caracteres, funciones de tablas y bases de datos, funciones de fecha y hora, funciones de conversión de tipos, funciones de prueba, funciones de menú. y funciones de ventana, funciones de matriz, funciones de consulta SQL, funciones de operación de bits, funciones de características de objetos, funciones de administración de archivos y funciones de llamadas al sistema, etc. 14 categorías.
2. Funciones de uso común
VFP proporciona una gran cantidad de funciones del sistema para que las utilicen los programadores. Algunas funciones de uso común se enumeran a continuación.
(1) Funciones matemáticas
Descripción del formato de función
ABS(N) encuentra el valor absoluto de N
COS(N) encuentra la función coseno de N
EXP(N) encuentra la función exponencial e de N
INT(N) toma el número entero de N y toma el número entero más pequeño para números negativos
LOG(N) Encuentra el logaritmo natural de N
MAX(N1,N2) Encuentra el máximo de N1 y N2
MIN(N1,N2) Encuentra el máximo de N1 y N2 El más pequeño
MOD(N1,N2) encuentra el resto después de dividir N1 por N2
PI() encuentra la relación pi
RAND(N) produce 0—1 Números aleatorios entre
ROUND(N1,N2) Encuentra el valor redondeado de N1 según el número de decimales especificado por N2
SIGN( N) Encuentra el signo positivo y negativo de N
p>
SIN(N) Encuentra la función seno de N
SQRT(N) Encuentra la raíz cuadrada de N
TAN(N) Encuentra la función tangente de N
(2) Función de cadena
Formato de función
Descripción
ALLTRIM(C) elimina los espacios iniciales y finales en C
ASC(C) Encuentra el valor del código ASCII del carácter más a la izquierda en C
AT(C1, C2) Devuelve el posición inicial (valor entero) de C1 que aparece en C2
LEFT (C, n) Obtenga la subcadena de longitud n del lado izquierdo de la cadena C
LEN(C) Encuentre el longitud de la cadena C
RIGHT(C, n) De la cadena Toma la subcadena de longitud n del lado derecho de C
L0WER(C) Convierte las letras mayúsculas en la cadena C a letras minúsculas
SPACE(n) Devuelve una cadena de n caracteres de espacio
SUBSTR(C,n[,m]) extrae una subcadena de m caracteres a partir de n de la cadena C. Si se omite m, se tomarán todos los caracteres que comiencen desde n
UPPER(C) Convierte letras minúsculas en expresiones de cadena a letras mayúsculas
(3)Función de fecha
Descripción del formato de función
DATE() La fecha actual del sistema
TIME() La hora actual del sistema
DATETIME() La fecha actual y hora del sistema
DOW(D) Obtiene la expresión de fecha D El número de semana (1 es domingo)
YEAR(D) Obtiene el valor de año de la fecha D
MES(D) Obtiene el valor del mes de la fecha D
DÍA (D) Obtiene el número de días del mes de la fecha D
HORA(D) Obtiene el número de horas en el tiempo D
MINUTO(D) Obtiene el número de minutos en el tiempo D
p>SEC(D) toma el número de segundos en el tiempo D
(4) Función de conversión de tipo
Formato de función
Descripción
CHR (código ASCII) devuelve el carácter correspondiente al código ASCII
CTOD(C) convierte la expresión C en el valor de fecha correspondiente
CTOT(C) convierte la expresión C en el valor de fecha y hora correspondiente
DTOC(D) convierte la expresión de fecha D en una cadena
STR(N,n,m) convierte la expresión numérica N en una cadena numérica
TTOC(D) Convierte la expresión de fecha y hora D en una cadena
VAL(C) Devuelve el valor correspondiente a la cadena numérica C
5 Propiedades, eventos y métodos del objeto
Los objetos son muy comunes en la vida real. Por ejemplo, una persona es un objeto y una PC es un objeto.
Si desarmas una PC y la miras, habrá "monitor, chasis, disquetera, disco duro, teclado, mouse ...", cada uno de los cuales es un objeto, es decir, el objeto de la PC está compuesto por múltiples objetos "hijos". En este momento, la PC también se denomina objeto contenedor. En la programación visual, los objetos son los elementos básicos de las aplicaciones. Los objetos comunes incluyen formularios, cuadros de texto, cuadros de lista, etc.
Desde una perspectiva de programación visual, un objeto es una entidad con propiedades (datos) y métodos (comportamiento). Una vez creado un objeto, sus operaciones se describen a través de las propiedades, eventos y métodos relacionados con el objeto.
1. Propiedades de los objetos
Las propiedades (propiedad) se refieren al contenido de una descripción de un objeto, que se utiliza para describir una característica del objeto. Diferentes objetos tienen diferentes propiedades. cada Cada objeto se describe mediante una serie de atributos. En la programación visual, los atributos comunes incluyen título (Caption), nombre (Name), color de fondo (Backcolor), tamaño de fuente (FontSize), si es visible (Visible), etc. Puede controlar eficazmente la apariencia y el funcionamiento de un objeto modificando o estableciendo ciertas propiedades.
Los valores de propiedad se pueden establecer o modificar a través de la ventana de propiedades, o mediante programación para cambiar las propiedades del objeto mientras se ejecuta el programa. El formato general para configurar atributos en un programa es:
Nombre del formulario.Nombre del objeto.Nombre del atributo=Valor del atributo
2. Eventos de objeto
Los llamados eventos son acciones predefinidas por VFP y que el objeto puede reconocer, como evento de clic (Click), evento de doble clic (DblClick) y carga (Load). Eventos, eventos de movimiento del mouse (MouseMove), etc. Diferentes objetos pueden reconocer diferentes eventos. Los eventos de objetos son fijos y los usuarios no pueden crear nuevos eventos. Con este fin, VFP proporciona una gran cantidad de eventos internos, que son suficientes para satisfacer la mayoría de las necesidades operativas en Windows.
Un procedimiento de evento (Event Procudure) es un programa escrito para manejar eventos específicos. Cuando un evento es activado por el usuario (como C1ick) o por el sistema (como Load), el objeto responderá al evento (Responder). El código del programa ejecutado en respuesta a un evento es el proceso del evento.
3. Métodos de objetos
Los métodos son procedimientos asociados con objetos, pero son diferentes de los procedimientos generales de Visual FoxPro. Los programas de métodos están estrechamente relacionados con los objetos y se llaman de manera diferente a los procedimientos generales de Visual FoxPro.
Similar al proceso de eventos, los métodos VFP pertenecen a las funciones internas del objeto, pero los métodos se utilizan para completar una función específica y no necesariamente responden a un determinado evento, como agregar un objeto ( Addobject), método de dibujo de un rectángulo (Box), método de liberación (Release), etc. Los métodos también están "encapsulados" en objetos, y diferentes objetos tienen diferentes métodos internos. VFP proporciona más de cien métodos internos para que los llamen diferentes objetos. A diferencia de los procedimientos de eventos, el usuario puede crear nuevos métodos según sea necesario.
4. Llamada de eventos y métodos del programa
El proceso del evento llama a su código cuando se activa el evento, o el programa puede llamar su código durante la ejecución, mientras que el código del método solo puede ser llamado por el programa. durante la carrera.
El formato para llamar al código de evento en el programa es:
Nombre del formulario.Nombre del objeto.Nombre del evento
El formato para llamar al método del objeto en el programa es
p>
[[
6. La característica más importante de la programación de Visual FoxPro es que La esencia de desarrollar aplicaciones con buenas interfaces de usuario en un entorno visual a la mayor velocidad y eficiencia es utilizar los componentes gráficos proporcionados por VFP para construir rápidamente la interfaz de pantalla de entrada y salida de la aplicación. Control es el nombre general de ciertos componentes gráficos, como "control de etiqueta", "control de cuadro de texto", "control de cuadro de lista", etc. El uso de controles para crear objetos es un método específico para construir interfaces de aplicaciones.
1. Controles y objetos internos de uso común
Los controles de uso común los proporciona la clase base de VFP, con un máximo de 21. Cada control está representado por un botón "Control de formulario", como se muestra en la Tabla 1-7 (P17).
2. Objeto de formulario
El formulario (Formulario) es la interfaz de usuario de la aplicación y la base para la programación. Se muestran varios gráficos, imágenes, datos, etc. a través del formulario o de los objetos del formulario, por lo que el formulario es un objeto contenedor.
En las primeras versiones de FoxPro, los formularios se llamaban pantallas y en Visual Basic se llamaban formularios.
(1) Estructura del formulario.
El formulario VFP tiene las mismas características estructurales que la interfaz de ventana de las aplicaciones de Windows. Un formulario típico tiene un icono, un título, un botón de minimizar, un botón de maximizar, un botón de cerrar, una barra móvil, un cuerpo del formulario y un borde alrededor. Todas las funciones, excepto el cuerpo del formulario, se pueden eliminar total o parcialmente del formulario.
(2) Atributos del formulario
En VFP, los atributos del formulario son las características estructurales del formulario. Puede cambiar las propiedades del formulario modificando las propiedades del formulario. Las propiedades del formulario más utilizadas se muestran en la Tabla 1-8.
La función del nombre del atributo
AutoCenter se utiliza para controlar si el formulario siempre está en el centro de la ventana VFP o en su formulario padre cuando se inicializa
BackColor se usa para determinar el fondo del formulario Color
BorderStyle se usa para controlar si el formulario tiene un borde: sistema (ajustable), línea simple, línea doble
Caption El título del formulario
Closable se usa para controlar el formulario. Si se puede usar el botón de cerrar en la barra de título.
ControlBox se usa para controlar si hay un botón de control en el formulario. barra de título del formulario
MaxButton se usa para controlar si hay un límite máximo en la barra de título del formulario. Botón Minimizar
MinButton se usa para controlar si hay un minimizar. botón en la barra de título del formulario
Movable se usa para controlar si el formulario se puede mover
TitleBar se usa para controlar si el formulario tiene una barra de título
WindowState se utiliza para controlar si el formulario está minimizado, maximizado o normal
WindowType Si el formulario es un formulario modal, el usuario no podrá acceder a otras partes de la pantalla de Windows al acceder al formulario. El formulario debe cerrarse antes que cualquier objeto
(3) Eventos y métodos del formulario.
Al igual que las propiedades, sólo algunos eventos y métodos de formulario se usan con frecuencia, y muchos eventos y métodos rara vez se usan a menos que esté escribiendo una aplicación muy compleja. Puede ver una lista de todos los eventos y métodos del formulario en el cuadro de lista desplegable Procedimiento en la ventana Código o en la pestaña Métodos de la ventana Propiedades.
A continuación solo se enumeran los eventos y métodos más utilizados.
Eventos de formulario de uso común:
Evento de carga: ocurre cuando el formulario se carga en la memoria
Evento de inicio: ocurre cuando se inicializa el formulario
; p>Activar evento: ocurre cuando se activa el formulario.
El orden en el que se activan los eventos anteriores es Cargar, Iniciar y Activar.
Evento de destrucción: ocurre cuando se libera el formulario;
Evento de descarga: ocurre cuando se cierra el formulario.
El orden en el que se activan los eventos anteriores es Descargar y Destruir.
Evento de cambio de tamaño: ocurre cuando el usuario o programa cambia el tamaño del formulario
.
Métodos de formulario más utilizados:
Ocultar método: ocultar el formulario
Mostrar método: mostrar el formulario
Liberar método; — Liberar el formulario;
Método de actualización — Actualizar el formulario.
3. Referencia de objeto
(1) El nivel de contención del objeto.
Los objetos en VFP se pueden dividir en dos categorías según la naturaleza de las clases en las que se basan: objetos de clase contenedor y objetos de clase de control.
Los objetos de clase contenedor pueden contener otros objetos y permitir el acceso a estos objetos, como conjuntos de formularios, formularios, tablas, etc. Los objetos de clase de control solo pueden estar contenidos en objetos contenedor y no pueden contener otros objetos, como Comandos, casillas de verificación, etc. La Tabla 1-9 (P20) enumera los objetos que puede contener cada objeto de clase contenedor.
(2) Referencia de objeto.
Como interfaz de usuario de una aplicación, un formulario puede contener muchos objetos, y estos objetos pueden tener relaciones jerárquicas que se incluyen entre sí. Para hacer referencia a un objeto, necesita conocer su relación con la jerarquía de contenedores. Por ejemplo, si desea manejar los controles de un formulario en un conjunto de formularios, debe hacer referencia al conjunto de formularios, al formulario y al control.
1) Referencia absoluta: Hace referencia a un objeto proporcionando su jerarquía contenedora completa.
Para deshabilitar un control en una columna de la tabla, debe proporcionar la siguiente dirección:
Formset.Form.PageFrame.Page.Grid.Column.Control.Enabled=.F.
p>2) Referencia relativa: al hacer referencia a un objeto en la jerarquía de contenedores, puede utilizar un acceso directo para especificar el objeto que se procesará.
Por ejemplo: THISFORMSET.Frml.Cmdl.Caption="Close"
Indica que el atributo Caption del objeto Cmdl en el formulario denominado Fnnl de este conjunto de formularios está establecido en " cierre".
THISFORM.Cmdl.Caption="Close"
Indica que la propiedad de título (Caption) del objeto Cmdl denominado este formulario está establecida en "Cerrar".
ESTO. Caption="Close"
Para los controles que necesitan cambiar el título, significa establecer la propiedad Caption (Caption) de este objeto en "Cerrar".
ESTO. Padre. BackColor=RGB(192,0g0)
Indica que el color de fondo del objeto principal de este objeto está establecido en rojo oscuro.
La Tabla 1-10 enumera algunos atributos y palabras clave que permiten hacer referencia a los objetos más fácilmente desde la jerarquía de objetos.
Tabla 1-10 Propiedades y palabras clave de los objetos referenciados
Referencia de propiedad o palabra clave
ActiveControl El control con foco en el formulario actualmente activo
ActiveForm El formulario activo actual
ActivePage La página activa en el formulario activo actual
Parent El contenedor directo de este objeto
ESTE este objeto
THISFORM El formulario que contiene el objeto
THISFORMSET El conjunto de formularios que contiene el objeto
Nota: THIS, solo se puede utilizar en programas de métodos o procedimientos de eventos
ESTE FORMULARIO y ESTE CONJUNTO DE FORMULARIO.