Title: Algoritmos y Programacin Clase 6
1Algoritmos y ProgramaciónClase 6
- TDU (Tipos de datos Definidos por el Usuario)
- Manejo de Matrices
2Repaso Tipos de Datos
- Las variables son marcadores de posición que se
utilizan para almacenar valores tienen un nombre
y un tipo de dato. - El tipo de dato determina la clase de datos que
pueden almacenar las variables numéricos (Byte,
Integer, Long, Single, Double, Currency),
alfanuméricos (String), lógicos (Boolean), otros
(Variant, Date, Object, etc.). - Una variable Variant es capaz de almacenar todos
los tipos de datos definidos en el sistema.
3Repaso Tipos de Datos
- De forma predeterminada, si no se proporciona un
tipo de dato o no se declara, la variable toma el
tipo de dato Variant. - El valor por defecto de una variable del tipo
Variant es Empty - Las variables de tipo String pueden ser de
longitud variable o de longitud fija - Dim variable As String ? Longitud variable
- Dim variable As Stringtamaño ? Longitud fija
4Repaso Tipos de Datos
- Para evitar problemas al equivocarse de nombre en
las variables, puede estipular que Visual Basic
le avise siempre que encuentre un nombre que no
se haya declarado explícitamente como una
variable incluyendo en la sección Declaraciones
del módulo de formulario o estándar la
instrucción - Option Explicit
- Es este caso, VB generará un error cuando
encuentre una variable no declarada.
5Crear tipos de datos TDU
- Se pueden combinar variables de varios tipos
diferentes para crear tipos definidos por el
usuario (conocidos como TDU). - Los tipos definidos por el usuario son útiles si
se quiere crear una única variable que registre
varias unidades de información relacionadas. - Para crear un TDU se utiliza la instrucción Type
en la sección Declaraciones del módulo.
6Crear tipos de datos TDU
- La sintaxis de la instrucción Type es
- Alcance Type NombreTDU
- Elemento1 As Tipo
- Elemento2 As Tipo
- ...
- ElementoN As Tipo
- End Type
- Alcance Opcional. Es el alcance del tipo de
dato. Puede ser Private o Public. Si no se
especifica se asume Public.
7Crear tipos de datos TDU
- NombreTDU Requerido. Es el nombre del tipo de
dato. - Elemento1, Elemento2, , ElementoN Son los
nombres de los elementos del TDU. Debe existir al
menos uno. - Tipo Corresponde a un tipo de dato del sistema u
otro TDU previamente definido. - Si un TDU tiene un alcance privado (Private),
sólo se puede utilizar en el módulo donde está
definido.
8Crear tipos de datos TDU
- Si un TDU tiene un alcance público (Public), se
puede utilizar en cualquier parte. - Los módulos de formulario (archivos .frm) sólo
pueden tener declaraciones TDU y variables TDU
privadas. - Los módulos estándar (archivos .bas) pueden
tener declaraciones TDU y variables TDU privadas
o públicas. - Los elementos del TDU pueden ser variables
normales, arreglos u otro TDU.
9Crear tipos de datos TDU
- Para acceder a un elemento de un TDU se usa el
operador punto - variableTDU.elemento
- Asignar y recuperar los valores de los elementos
de una variable TDU es similar a establecer y
obtener propiedades - variableTDU.elemento valor
- También puede asignar una variable a otra si
ambas son del mismo TDU - variable1TDU variable2TDU
10Crear tipos de datos TDU
- Una vez que se define un TDU, éste entra a formar
parte de los tipos de datos disponibles en el
proyecto
11Ejemplo 1
- Para un conjunto de puntos (x, y), contar cuántos
están sobre el origen, el eje x, el eje y, el
primer cuadrante, el segundo cuadrante, el tercer
cuadrante y el cuarto cuadrante.
12Ejemplo 1 Definición de variables
- Datos de entrada
- N ? Número de puntos
- Pi ? Elemento i-ésimo del vector de puntos.
- Cada punto tiene un valor X y un valor Y
- Datos de salida
- Origen ? Número de puntos sobre el origen
- EjeX ? Número de puntos sobre el eje X
- EjeY ? Número de puntos sobre el eje Y
13Ejemplo 1 Definición de variables
- Cuad1 ? Número de puntos sobre el primer
- cuadrante
- Cuad2 ? Número de puntos sobre el
- segundo cuadrante
- Cuad3 ? Número de puntos sobre el tercer
- cuadrante
- Cuad4 ? Número de puntos sobre el cuarto
- cuadrante
14Ejemplo 1 Código fuente
- '(en General-Declaraciones)
- Option Explicit 'Requerir declaración de
variables - 'Declaración del TDU Punto
- Private Type Punto
- X As Single
- Y As Single
- End Type
- 'Declaración de variables
- Dim N As Integer, P() As Punto
- Dim I As Integer, Origen As Integer
- Dim EjeX As Integer, EjeY As Integer
- Dim Cuad1 As Integer, Cuad2 As Integer
- Dim Cuad3 As Integer, Cuad4 As Integer
15Ejemplo 1 Código fuente
- '(en el evento Click de un CommandButton)
- 'Inicialización de variables
- Origen 0
- EjeX 0 EjeY 0
- Cuad1 0 Cuad2 0
- Cuad3 0 Cuad4 0
- 'Lectura de datos
- N Val(InputBox("Ingrese el número de Puntos"))
- ReDim P(1 To N)
- For I 1 To N
- P(I).X Val(InputBox("X(" I ") "))
- P(I).Y Val(InputBox("Y(" I ") "))
- Next I
16Ejemplo 1 Código fuente
- 'Cálculos
- For I 1 To N
- If P(I).X 0 And P(I).Y 0 Then
- Origen Origen 1
- ElseIf P(I).Y 0 Then
- EjeX EjeX 1
- ElseIf P(I).X 0 Then
- EjeY EjeY 1
- ElseIf P(I).X gt 0 And P(I).Y gt 0 Then
- Cuad1 Cuad1 1
- ElseIf P(I).X lt 0 And P(I).Y gt 0 Then
- Cuad2 Cuad2 1
- ElseIf P(I).X lt 0 And P(I).Y lt 0 Then
- Cuad3 Cuad3 1
- Else
- Cuad4 Cuad4 1
- End If
- Next I
17Ejemplo 1 Código fuente
- 'Mostrar resultados
- Dim Aux As String
- Aux Aux "Origen " Origen vbCrLf
- Aux Aux "EjeX " EjeX vbCrLf
- Aux Aux "EjeY " EjeY vbCrLf
- Aux Aux "Cuad1 " Cuad1 vbCrLf
- Aux Aux "Cuad2 " Cuad2 vbCrLf
- Aux Aux "Cuad3 " Cuad3 vbCrLf
- Aux Aux "Cuad4 " Cuad4 vbCrLf
- Text1.Text Aux
18Ejemplo 2
- El archivo Datos.txt contiene varios registros
con los siguientes datos de estudiantes sexo
(M, F), edad (14, 35), código de la comuna
donde vive (1, 16). - Elaborar un programa en VB que efectúe los
siguientes procesos - Leer todos los registros de datos.
- Calcular el total y el porcentaje de mujeres y de
hombres. - Calcular el total y el porcentaje de los mayores
de edad y de los menores de edad. - Determinar el porcentaje de los estudiantes que
viven en las comunas de código impar pero
distinto de 3.
19Ejemplo 2 Definición de variables
- Datos de entrada
- Ei ? Registro i-ésimo de un estudiante.
- Cada registro tiene
- - Un elemento Sexo de tipo String
- - Un elemento Edad de tipo Integer
- - Un elemento CodComuna de tipo Integer
- Datos de salida
- NumH ? Número total de Hombres
- NumM ? Número total de Mujeres
- PorcH ? Porcentaje de Hombres
- PorcM ? Porcentaje de Mujeres
20Ejemplo 2 Definición de variables
- MenE ? Número de menores de edad
- MayE ? Número de mayores de edad
- PorcMenE ? Porcentaje de menores de edad
- PorcMayE ? Porcentaje de mayores de edad
- PorcImpar ? Porcentaje de estudiantes que viven
en comunas de código impar y distinto de 3. - Variables auxiliares
- N ? Contador de estudiantes
- NumImpar ? Número de estudiantes que viven en
comunas de código impar y distinto de 3.
21Ejemplo 2 Código fuente
- '(en un módulo estándar)
- 'Requerir declaración de variables
- Option Explicit
- 'Declaración del TDU Estudiante
- Public Type Estudiante
- Sexo As String 1
- Edad As Integer
- CodComuna As Integer
- End Type
- 'Declaración de variables globales
- Dim N As Integer, E() As Estudiante, NumH As
Integer - Dim NumM As Integer, PorcH As Single, PorcM As
Single - Dim MenE As Integer, MayE As Integer
- Dim PorcMenE As Single, PorcMayE As Single
- Dim PorcImpar As Single, NumImpar As Integer
22Ejemplo 2 Código fuente
- '(en el evento Click de un CommandButton)
- ChDrive App.Path 'Cambiamos el drive actual
- ChDir App.Path 'Cambiamos el directorio actual
- 'Abrimos el archivo
- Dim NumArch As Integer
- NumArch FreeFile()
- Open "Datos.txt" For Input As NumArch
- 'Leer datos mientras no sea el final del archivo
- N 0
- Do While Not EOF(NumArch)
- N N 1
- ReDim Preserve E(1 To N)
- Input NumArch, E(N).Sexo, E(N).Edad,
E(N).CodComuna - Loop
- Close NumArch
23Ejemplo 2 Código fuente
- 'Cálculos
- NumH 0 NumM 0 MenE 0 MayE 0 NumImpar
0 - Dim I As Integer
- For I 1 To N
- If E(I).Sexo "M" Then NumH NumH 1
- Else NumM NumM 1 End If
- If E(I).Edad lt 18 Then MenE MenE 1
- Else MayE MayE 1 End If
- If E(I).CodComuna Mod 2 1 And _
- E(I).CodComuna ltgt 3 Then NumImpar NumImpar
1 - Next I
- PorcH NumH / N PorcM NumM / N
- PorcMenE MenE / N PorcMayE MayE / N
- PorcImpar NumImpar / N
24Ejemplo 2 Código fuente
- 'Mostrar resultados
- Dim Aux As String
- Aux Aux "NumH " NumH vbCrLf
- Aux Aux "NumM " NumM vbCrLf
- Aux Aux "PorcH " PorcH vbCrLf
- Aux Aux "PorcM " PorcM vbCrLf
- Aux Aux "MenE " MenE vbCrLf
- Aux Aux "MayE " MayE vbCrLf
- Aux Aux "PorcMenE " PorcMenE vbCrLf
- Aux Aux "PorcMayE " PorcMayE vbCrLf
- Aux Aux "PorcImpar " PorcImpar vbCrLf
- I FreeFile()
- Open "Resultados.txt" For Output As I
- Print I, Aux
- Close I
25Tarea
- Tomar o crear un archivo de datos y calcularle
los principales estadísticos (media, desviación
estándar, otros).
26Algoritmos y ProgramaciónClase 6 Segunda Parte
27Contenido
1. Repaso Matrices (variables tipo tabla). 2.
Iteración definida con matrices (índices). 3.
Ejemplos de aplicación. 4. Actividades extraclase
(Tareas).
281. Matrices
Una matriz es un arreglo de datos, organizados en
filas y columnas.
n columnas
a11 a12 ... a1j ... a1n a21
a22 ... a2j ... a2n ai1 ai2 ...
aij ... ain am1 am2 ... amj ... amn
A
m filas
291. Matrices
- En VB una matriz (o arreglo) requiere
- Un NOMBRE, que ha de ajustarse a la sintaxis de
nombres del lenguaje. Ej A, Tabla_Uno, X, XY,
etc. - Una DECLARACIÓN (Dim) en la cual se especifique
el tipo de datos y el número de filas y columnas.
301. Matrices - Declaración
- Declaración de matrices Se hace con la
instrucción - Dim
- Puede ser ESTÁTICA o DINÁMICA.
- Declaración ESTÁTICA. Ejemplo
- Dim A(20,10) As Single
- El número de filas (20) y columnas (10) es
definido.
311. Matrices - Declaración
- Declaración DINÁMICA. Ejemplo
- Dim A() As Single
- El número de filas y columnas se sabrá a tiempo
de ejecución (tiempo dinámico). - Luego, con M y N conocidos, se redimensiona la
matriz - ReDim A(M,N)
321. Matrices - Declaración
- Si se desea modificar el tamaño de la matriz
preservando los valores que ésta contiene, se
puede redimensionar nuevamente sólo cambiando el
número de elementos de el último subíndice. - Ejemplo
- ReDim Preserve A(M,T)
331. Matrices - Elementos
- Por convención,
- A(i, j) es el elemento de la i-ésima fila y
j-ésima columna de la matriz A. - el primer subíndice (i) se refiere al subíndice
de las filas. - el segundo subíndice (j) se refiere al subíndice
de las columnas. - Ej A(3,4) representa el elemento de la fila 3,
columna 4 de la matriz A.
34 Matrices - Procesos
- Procesos con matrices
- Lectura desde cualquier medio de entrada
(teclado, archivo, etc). - Cálculos y Relaciones Lógicas Los elementos de
la matriz pueden intervenir en operaciones
lógicas y matemáticas como cualquier variable. - Salida de resultados hacia cualquier medio de
salida (pantalla, archivo, etc).
35 Iteración Definida/1
PROCESO DE LECTURA DESDE EL TECLADO
- L número de fila.
- K número de columna.
- La matriz se recorre por filas.
- Se asigna valor a la fila L y se recorren sus
elementos internos (columnas K). - Luego se mueve a la siguiente fila L.
For L 1 To M For K 1 To N X(L, K)
InputBox(Xlk ) Next K Next L
36 Iteración Definida/2
PROCESO DE LECTURA DESDE UN ARCHIVO
Nom App.Path \MAT.txt Redim X(M,N) OPEN Nom
FOR INPUT As7 For L 1 To M For K 1 To N
Input7, X(L,K) Next K Next L CLOSE7
- Se abre el archivo de datos.
- Se recorren todos los elementos de la matriz, y
se llenan los datos. - Se cierra el archivo de datos.
37 Ejemplos de aplicación
Suma de dos matrices
38 Ejemplos de aplicación
Suma de dos matrices
For i 1 To m For j 1 To n C(i,j)
A(i,j) B(i,j) Next j Next i
Este ejemplo trabaja por filas. También se puede
hacer por columnas
39 Ejemplos de aplicación
Calcular la suma y el promedio de cada fila de la
matriz X
For i 1 To M SF(i) 0.0 For j 1 To
N SF(i) SF(i) X(i,j) Next j
PF(i) SF(i) / N Next I
40 Ejemplo de aplicación
Calcular el mayor y el menor de cada fila de la
matriz X
For i 1 To M MaxF(i) X(i,1) MinF(i)
X(i,1) For j 2 To N If(X(i,j) gt
MaxF(i))Then MaxF(i) X(i,j)
ElseIf(X(i,j) lt MinF(i))Then MinF(i)
X(i,j) End if Next j Next i
41Ejemplo de aplicación Multiplicar un vector
columna por un vector fila para formar una matriz
42Cmxn am x btn
bt1xn
amx1
Cmxn
Cijaibj i 1,,m , j1,,n
43Algoritmo para C a x bt
- Lectura de datos.
- Se redimensiona la matriz.
- Se fija una fila para la matriz C.
- Se fija una columna de la matriz C.
- Se multiplica término a término ab.
- Fin
- Redim C(m,n)
- For i1 to m
- For j1 to n
- C(i,j) a(i)b(j)
- Next j
- Next i
44Transpuesta de una matriz Amn ? Atnm
A
AT
45Características del algoritmo
- Se requieren dos procesos iterativos para
recorrer las dos dimensiones de la matriz A. - AT(j,i) ? A(i,j) i1,,m j1,,n
- La dimensión de la matriz transpuesta
- A(m,n) ? AT(n,m)
46El Algoritmo
- dimensión de la matriz transpuesta.
- Se posiciona en la fila i de la matriz A que será
la columna i de la matriz AT. - Se posiciona en la columna j de la matriz A que
será la fila j de la matriz AT. - Se le asignan los valores a la matriz AT.
- Lee n, m, A
- Dim AT(n,m)
- For i1 to m
- For j1 to n
- AT(j,i) A(i,j)
- Next j
- Next i
47Ejercicio de matrices
- Hacer un programa que permita identificar si una
matriz es identidad o no.
Verdadero (True)
Falso (False)
48El Algoritmo
EsIdentidad True For i 1 To n For j 1
To n If (i j And matriz(i, j) ltgt 1)
Then EsIdentidad False Exit
For End If If (i ltgt j And
matriz(i, j) ltgt 0) Then EsIdentidad
False Exit For End If
Next j Next i
49Listado de ejercicios
- Dada una matriz A de orden mxn, calcular otra
matriz B de orden mxn de tal manera que cada
elemento de B contenga la suma de los vecinos del
correspondiente elemento de A. - Calcular el producto escalar de las dos
diagonales de una matriz.
50Algoritmos y ProgramaciónFin Clase 6
51Algoritmos y ProgramaciónClase 6
52Manejo de Archivos
- Un archivo es un conjunto de datos relacionados
ubicados en un disco. - Dependiendo del tipo de datos que contiene el
archivo, se usa el tipo de acceso apropiado. En
VB hay tres tipos de acceso a archivos - Secuencial para leer y escribir archivos de
texto en bloques continuos. - Aleatorio para leer y escribir archivos binarios
de texto o estructurados como registros de
longitud fija. - Binario para leer y escribir archivos
estructurados de forma arbitraria.
53Manejo de Archivos
- El tipo de acceso a archivos que se utilizará en
este curso es el tipo de acceso secuencial. - El acceso secuencial está diseñado para usarlo
con archivos de texto normales como los archivos
creados con un editor de textos típico (como el
Bloc de Notas). - Un archivo abierto para acceso secuencial
permite - Leer datos desde el archivo (Input)
- Escribir datos en el archivo (Output)
- Anexar datos en el archivo (Append)
54Instrucción Open
- Para abrir un archivo para acceso secuencial, se
usa la instrucción Open. - Sintaxis
- Open archivo For modo As numArchivo
- archivo Requerido. Expresión de cadena que
especifica un nombre de archivo puede incluir el
directorio o carpeta y la unidad de disco. - modo Requerido. Palabra clave que especifica el
modo de archivo Input (Lectura), Output
(Escritura), Append (Escritura, agregando datos)
55Instrucción Open
- numArchivo Requerido. Un número de archivo
válido entre 1 y 511 inclusive. El carácter es
opcional. Para obtener el siguiente número de
archivo disponible se utiliza la función
FreeFile. - Si la ruta del archivo no se incluye en archivo,
VB buscará el archivo en el directorio actual. - El directorio actual, inicialmente, es la carpeta
desde donde se ejecuta la aplicación. - Para cambiar el directorio actual se utiliza la
instrucción ChDir.
56Instrucción Open
- Cuando se abre un archivo secuencial en modo
Input, el archivo ya debe existir de lo
contrario se produce un error. - Cuando se abre un archivo que no existe en modo
Output o Append, la instrucción Open primero crea
el archivo y luego lo abre. - Para cerrar un archivo abierto con la instrucción
Open se utiliza la instrucción Close.
57Función FreeFile
- Devuelve un tipo Integer que indica el siguiente
número de archivo disponible para su uso en la
instrucción Open. - Sintaxis
- FreeFile(numIntervalo)
- numIntervalo Opcional. Un valor entero 0 o 1.
- Si numIntervalo es 0 (predeterminado), FreeFile
devuelve un número de archivo entre 1 y 255,
inclusive. - Si numIntervalo es 1, FreeFile devuelve un número
de archivo entre 256 y 511.
58Instrucción Close
- Cierra un archivo secuencial abierto con la
instrucción Open. - Sintaxis
- Close numArchivo
- numArchivo Opcional. Es cualquier número de
archivo válido. El carácter es opcional. Si se
omite, Close cierra todos los archivos abiertos
con la instrucción Open. - Se pueden cerrar varios archivos separando cada
numero de archivo con una coma en la misma
instrucción Close.
59Instrucción ChDir
- Cambia el directorio o carpeta actual.
- Sintaxis
- ChDir ruta
- ruta Requerido. Un String que identifica el
directorio o carpeta que va a ser el nuevo
directorio o carpeta actual. Si no existe se
genera un error. - La ruta puede incluir la unidad de disco. Si no
se especifica la unidad, la instrucción ChDir
cambia el directorio de la unidad actual.
60Instrucción ChDrive
- Cambia la unidad de disco actual.
- Sintaxis
- ChDrive unidad
- unidad Requerido. Un String que especifica una
unidad de disco existente. - Si unidad es una cadena de longitud cero (""), la
unidad de disco actual no cambia. - Si unidad no existe se genera un error.
61App.Path
- La propiedad Path del objeto App (objeto global
que guarda información de la aplicación) devuelve
un String con la ruta de acceso desde donde se
está ejecutando la aplicación. - App.Path especifica la ruta de acceso del archivo
.vbp de proyecto cuando se ejecuta la aplicación
desde el entorno de desarrollo, o la ruta de
acceso del archivo .exe cuando se ejecuta la
aplicación como un archivo ejecutable. - Utilice la instrucción ChDir App.Path para
cambiar la carpeta actual al directorio de
ejecución de la aplicación.
62Lectura y escritura de datos
- Para leer datos desde un archivo secuencial se
puede utilizar - La instrucción Input
- La instrucción Line Input
- La función Input()
- Para escribir datos en un archivo secuencial se
puede utilizar - La instrucción Print
- La instrucción Write
63Instrucción Input
- Lee datos de un archivo secuencial abierto y
asigna esos datos a variables. - Sintaxis
- Input numArchivo, listaVariables
- numArchivo Requerido. Cualquier número de
archivo válido. - listaVariables Requerido. Lista de variables
delimitada por comas que se le asignan los
valores que se leen del archivo.
64Instrucción Input
- Las variables a leer con la instrucción Input
no pueden ser una matriz o una variable de
objeto. Sin embargo, es posible usar variables
que describen elementos de una matriz o de un
tipo definido por el usuario. - Los elementos de datos de un archivo deben
aparecer en el mismo orden que tienen las
variables en listavariables y deben coincidir con
variables del mismo tipo de datos.
65Instrucción Input
- Si una variable es numérica y los datos no lo
son, se asigna un valor cero a esa variable. - Si se llega al fin del archivo cuando se está
leyendo un elemento de datos, se da por terminada
la entrada y se produce un error. - La instrucción Input ignora las comillas dobles
("") en la entrada de datos. - Esta instrucción reconoce como separador válido
de datos a la coma (,) y al Enter. Otro separador
puede producir resultados inesperados.
66Función EOF
- Devuelve un tipo Boolean que indica si se llegó
al final de un archivo abierto. - Sintaxis
- EOF(numArchivo)
- numArchivo Requerido. Un número de archivo
válido. - La función EOF devuelve True cuando se llega al
final del archivo en caso contrario devuelve
False.
67Instrucción Print
- Escribe datos en un archivo secuencial.
- Sintaxis
- Print numArchivo, exp poscar
- numArchivo Requerido. Un número de archivo
válido. El carácter es obligatorio. - exp Opcional. La expresión a escribir en el
archivo. - poscar Opcional. Especifica el punto de
inserción del carácter siguiente. Si se omite, el
siguiente carácter se imprime en la línea
siguiente.
68Instrucción Print
- Utilice un punto y coma () en poscar para situar
el punto de inserción inmediatamente a
continuación del último carácter mostrado.
Utilice una coma (,) ó Tab para situar el punto
de inserción al principio de la siguiente zona de
impresión. - La instrucción Print no escribe comillas dobles
alrededor de una expresión de tipo String.
69Instrucción Line Input
- Lee una línea de un archivo secuencial abierto y
la asigna a una variable String. - Sintaxis
- Line Input numArchivo, variable
- numArchivo Requerido. Cualquier número de
archivo válido. El carácter es obligatorio. - variable Requerido. Una variable de tipo String.
70Instrucción Line Input
- La instrucción Line Input lee un carácter en el
archivo hasta que encuentra un retorno de carro
(ASCII 13) o una secuencia retorno de
carro-avance de línea (ASCII 13 ASCII 10) y
luego almacena en variable los caracteres leídos. - Las secuencias de retorno de carro-avance de
línea no se tienen en cuenta y no se añaden a la
cadena de caracteres.
71Función Input
- Devuelve un tipo String que contiene caracteres
de un archivo abierto en modo Input. - Sintaxis
- Input(numCar, numArchivo)
- numCar Requerido. Un entero correspondiente al
número de caracteres a leer. - numArchivo Requerido. Un número de archivo
válido. El carácter es opcional.
72Función Input
- A diferencia de la instrucción Input , la
función Input devuelve todos los caracteres que
lee, incluyendo puntos y coma, retornos de carro,
avances de línea, comillas y espacios iniciales. - Para leer todo el contenido del archivo, utilice
la función LOF para determinar el número de
caracteres que tiene el archivo. - LOF(numArchivo) ? Devuelve un tipo Long que
indica el número de caracteres de un archivo
abierto mediante la instrucción Open.
73Instrucción Write
- Escribe datos en un archivo secuencial.
- Sintaxis
- Write numArchivo, listaExp poscar
- numArchivo Requerido. Un número de archivo
válido. El carácter es obligatorio. - listaExp Opcional. Una o varias expresiones
delimitadas por comas, espacios o puntos y comas
() que se desean escribir en el archivo. La
instrucción Write imprime una coma en el
archivo por cada expresión que se escriba en el
archivo y comillas dobles alrededor de
expresiones de tipo String.
74Instrucción Write
- poscar Opcional. Especifica el punto de
inserción del carácter siguiente. Puede ser una
coma (,) o un punto y coma (). Si se omite, el
siguiente carácter se imprime en la línea
siguiente. - poscar igual a una coma (,) tiene el mismo efecto
que poscar igual a un punto y coma () situar el
punto de inserción inmediatamente a continuación
del último carácter mostrado, separando los datos
por una coma en el archivo.