Autor
|
Tema: Leer parte de un archivo (Offset) (Leído 2,808 veces)
|
Freeze.
|
Hola, supongamos que yo tengo 1 archivo y adentro tiene escrito lo siguiente: Hola.........as....... ...a.s......127......y ..n......a.......y..... n.......................y (viendolo desde un Editor Hexadecimal) ¿Como leo yo ese numero 127? Estuve intentando con EOF, LOF, LOC, SEEK pero nada, no pude. Ya de tranto estudiar otros lengujes se me ha olvidado el vb un poco.
|
|
|
En línea
|
|
|
|
Ferсhu
Desconectado
Mensajes: 1.215
Menos palabras y Mas codigos.
|
ese "127" tiene una posicion, te moves hasta esa posicion en el archivo (SEEK) y luego lees la cantidad de valores q keres.
osea...es algo logico no??
si sabes manejar archivos (y creo q sabes) no creo q te sea mui dificil.
Saludos!!
|
|
|
En línea
|
|
|
|
Freeze.
|
Private Sub Form_Load() Dim Server As String Open "C:\server.exe" For Binary Access Read As #1 Server = Space(Seek(1) + 10) Get #1, , Server Close #1 Print Server End Sub
Eso es lo que tengo..! Pero no entiendo como hacer para llegar justo al 1 de (127)...
|
|
|
En línea
|
|
|
|
vivachapas
Desconectado
Mensajes: 612
|
Open "C:\server.exe" for binary as #1 Server = Input(LOF(1),1) Close #1 Resultado = Mid(Server,40,3)
donde puse 40,3 no va 40... tire un numero... pero iria la ubicacino del 1 del 127... 3 es xq 127 tiene 3 caracteres... bueno la verdad no se si te sirve... xD pero suerte y SALUDOS
|
|
|
En línea
|
|
|
|
|
Freeze.
|
Open "C:\server.exe" for binary as #1 Server = Input(LOF(1),1) Close #1 Resultado = Mid(Server,40,3)
donde puse 40,3 no va 40... tire un numero... pero iria la ubicacino del 1 del 127... 3 es xq 127 tiene 3 caracteres... bueno la verdad no se si te sirve... xD pero suerte y SALUDOS Exacto, gracias por recordarme la funcion y aparte codearme un poco
|
|
|
En línea
|
|
|
|
SKL (orignal)
Desconectado
Mensajes: 259
UpLoadSourceCode
|
a ver, si podes poner un pedaso del texto tal y como esta... o el mismo archivo para descargarlo seria mas facil...
otra cosa, el numero ese se mueve de posicion?, es siempre el mismo numero?, hasta que sifra puede llegar...
asi es mucho mas facil... pone el texto tal cual esta en tu archivo...
|
|
|
En línea
|
|
|
|
|
foobar
Desconectado
Mensajes: 47
|
Open "C:\server.exe" for binary as #1 Server = Input(LOF(1),1) Close #1 Resultado = Mid(Server,40,3)
donde puse 40,3 no va 40... tire un numero... pero iria la ubicacino del 1 del 127... 3 es xq 127 tiene 3 caracteres... bueno la verdad no se si te sirve... xD pero suerte y SALUDOS El acceso binario no es para eso... la idea es poder leer DATOS BINARIOS. Dim lOffset As Long Dim valorByte As Byte Dim valorLng As Long Dim sStaticStr As String * 6 Dim btData(5) As Byte
lOffset = 17 ' Offset donde se quiere leer, relativo al principio del archivo.
Open "C:\server.exe" for Binary as #1
Get #1, lOffset, valorByte ' Lee 1 byte en esa posición. Get #1, lOffset, valorLong ' Lee 4 bytes en esa posición. Get #1, lOffset, sStaticStr ' Lee 6 bytes y los mete en un String. Get #1, lOffset, btData ' Lee 6 bytes en un array de bytes.
Debug.Print StrConv(btData, vbUnicode) ' Convierte el array de bytes en String.
Close #1
Bytez.
|
|
|
En línea
|
|
|
|
|
|