Programación Vb 2024
Hice un archivo de texto "F.txt" de 34, 857, 424 bytes.
Pon un botón de comando Command1 en el formulario, el código es el siguiente.
Subcomando privado 1_Click()
Dim DAT() As Byte 'Almacena los datos leídos del archivo original.
Almacena el identificador del archivo como una cadena.
"Cambiar el tamaño del archivo a longitud de archivo larga"
Dim TouDAT (2655) almacena el encabezado del archivo en bytes.
Dim MyT2(865, 243) As Byte 'Define una matriz bidimensional para almacenar el encabezado de cada segmento.
Dimmydat (865, 10000, 3) como byte 'define una matriz tridimensional para almacenar cada párrafo, lo que puede entenderse como la definición de 866 matrices bidimensionales, cada matriz bidimensional tiene 10001 filas y 4 columnas.
Dim n As Long
Dim J es un número entero
Marcar K como un número entero
Dim n As Long
Dim OutDAT() As Byte 'Almacena la salida de datos en el archivo de destino.
Nombre de archivo=aplicación. Caminos y caminos. " \F.txt " 'Supongamos que el archivo original se llama F.txt.
FileSize = FileLen(FileName)' para obtener la longitud del archivo.
ReDim DAT (tamaño de archivo - 1) como bytes
Leer datos del archivo
Abrir archivo binario con nombre de archivo como #1
Obtener #1,DAT
Cerrar
Almacena el encabezado del archivo en la matriz TouDAT.
Para i = 0 a 2655
TouDAT(i) = DAT(i)
A continuación,
obtengo cada dato y guárdelo en una matriz.
Para i = 0 a 865
Almacena el título de cada párrafo en el array MyT2.
Para J = 0 a 243
MyT2(i, J) = DAT(2656 i * 40248 J)
Siguiente J
Almacenar los 40004 bytes de cada segmento en el array MyDAT.
n = 2656 i * 40248 244
Para J = 0 a 10000
Para K = 0 a 3
MiDAT(i , J, K) = DAT(n)
n = n 1
Siguiente K
Siguiente J
Siguiente I p>
comience a fusionar los datos que se generarán.
Calcule el número de bytes en el nuevo archivo
Debería ser: 2656 866*(244 5000*4) bytes, porque incluso 10001 líneas son solo 5000 líneas, cada línea 4 bytes.
'****************************************** ************************************************** * ********
Es muy importante escribir dos líneas aquí. Si escribe una línea, se desbordará.
n = 20244
n = n * 866 2656
O escribe así:
n = CLng(866) * 20244 2656
'****************************************** * ************************************************* ** ********
ReDim outdate(n-1) como bytes
Fusionar en el encabezado del archivo
Para i = 0 a 2655
OutDAT(i) = TouDAT(i)
A continuación,
integro cada dato
Para i = 0 a 4
Fusionar encabezados de párrafos en OutDAT.
Para J = 0 a 243
OutDAT(2656 i * 20244 J) = MyT2(i, J)
Siguiente J
Almacenar los 40004 bytes de cada segmento en el array MyDAT.
n = 2656 i * 20244 244
Para J = 1 a 10000 Paso 2
Para K = 0 a 3
OutDAT (n) = MyDAT(i, J, K)
n = n 1
Siguiente K
Siguiente J
Siguiente I
nombre de archivo=aplicación. Caminos y caminos. " \New.txt " 'Supongamos que los resultados se escriben en el archivo New.txt.
Leer datos del archivo
Abrir el nombre del archivo binario como #1
Actualizar #1,,
Cerrar
Conector final
La operación pasó y el número de bytes en el archivo de resultados es 2656 866 * (244 5000 * 4) = 17533960 bytes.