Pascal/Turbo Pascal - Duda sobre extraer textos de un archivo binario.

 
Vista:

Duda sobre extraer textos de un archivo binario.

Publicado por B7 (1 intervención) el 21/05/2016 20:28:54
Saludos.

Programa en consola.

¿Cómo puedo extraer los textos de un archivo .bin? Me refiero a todos los textos que empiezan y finalizan con null.

Ejemplo:

[NULL] [NULL] [NULL] [NULL]Ah, looks like you're awake.[NULL] [NULL] [NULL] [NULL]


Algún ejemplo, de ser posible. Si es necesario en el proximo mensaje subo el archivo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda sobre extraer textos de un archivo binario.

Publicado por ramon (2158 intervenciones) el 22/05/2016 13:14:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{Mira esto sino manda el archivo de texto}
 
 program leertexto;
  uses
    crt;
  const
     texto : array[1..4] of string = (
     '[NULL] [NULL] [NULL] [NULL]Ah, looks like you re awake.[NULL] [NULL] [NULL] [NULL]',
     '[NULL] mi mundo [NULL] [NULL]es, asi like you re awake.[NULL] [NULL] [NULL] [NULL]',
     'I no lo [NULL] [NULL] [NULL]cambio, looks like you re awake.[NULL] [NULL] [NULL] [NULL]',
     '[NULL] [NULL] por no  [NULL]tener, otro like you re awake.[NULL] [NULL] [NULL] [NULL]');
 
    archi = 'mitexto.txt';
 
  var
    f : text;
    dato : string;
    letra : char;
    i : integer;
 
 
  procedure guardadatos;
  begin
    assign(f,archi);
    rewrite(f);
    dato := copy(texto[1],1,length(texto[1]));
    writeln(f,dato);
    close(f);
    append(f);
    for i := 2 to 4 do
    begin
      dato := copy(texto[i],1,length(texto[i]));
      writeln(f,dato);
    end;
    close(f);
  end;
 
  procedure cargatexto;
  begin
     assign(f,archi);
  {$I-} reset(f); {$I+}
     if ioresult <> 0 then
     begin
       writeln('  Error De Archivo O No Existe Pulse Una Tecla');
       readkey;
     end
 else
    begin
       while not eof(f) do
       begin
          readln(f,dato);
          for i := 1 to length(dato) do
          if dato[i] = '[' then
          delete(dato,i,6);
          write(dato);
          writeln;
       end;
         close(f);
         readkey;
    end;
  end;
 
 
  begin
      guardadatos;
      clrscr;
      cargatexto;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre extraer textos de un archivo binario.

Publicado por BC (1 intervención) el 24/05/2016 00:59:06
Saludos de nuevo.

Ante todo muchas gracias por tomar de tu tiempo en responder.

Te voy a adjuntar el archivo. http://www74.zippyshare.com/v/4CiX3uHa/file.html

Una vez que descargas el archivo bin, lo debes abrir con el notepad.

El programa que deseo crear, leerá desde la primera linea hasta la ultima.

La idea es extraer todos los dialogos + nombres de items, todo lo necesario (ejemplo: ring)
Me he fijado que a veces el texto esta rodeado por 4 NULL y otras veces por menos. (dialogos, textos)
A veces 1 solo caracter esta rodeado por Null. (Y eso es lo que no quiero extraer)


Asi que no se que logica deberia aplicar, soy nuevo en esto y quiero aprender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre extraer textos de un archivo binario.

Publicado por ramon (2158 intervenciones) el 24/05/2016 23:38:31
Tengo problemas con la es tracción del archivo ponlo tu a qui es traído lo siento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar