Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2015
Hayton Hayton is offline
Miembro
 
Registrado: ene 2008
Posts: 18
Poder: 0
Hayton Va por buen camino
Transformación de fichero binario ebcdic-ibm a un txt

Hola,

Pido ayuda por si alguien sabe o ya lo ha hecho.

Tengo un fichero binario en un formato llamado EBCDIC de ibm, del cual no se con que estructura tiene definidos los datos y mi problema es que no se como hacer para transformarlo en un fichero de texto normal. He buscado por el foro y no he encontrado nada. He buscado por google y todo lo que he podido encontrar no me ha servido.

A ver si alguien de todos ustedes sabrían hacer eso.

Gracias de antemano y saludos.
Responder Con Cita
  #2  
Antiguo 28-04-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.739
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
WOW!!!

Parece que EBCDIC es una mostruocidad!

http://en.wikipedia.org/wiki/EBCDIC

Aparentemente esta formado por caracteres de 8 bits, pero la traducción no es tan simple como parece.
Supongo que una forma de hacerlo sería:

Código Delphi [-]
var 
  EBCDIC = array[0..255]of char;

// Carga la traducción del alfabeto EBCDIC a ASCII
procedure cargar_pagina_EBCDIC;
begin
   EBCDIC[0] := ' ';
   EBCDIC[1] := ' ';
   EBCDIC[2] := ' ';
   EBCDIC[3] := ' ';
   // ...
   EBCDIC[129] := 'a';
   EBCDIC[130] := 'b';
   // ...
end;

function traduce(sEBCDIC: string) : string;
var
   i:integer;
begin
   Result := '';
   for i := 1 to length(s) do
   begin
      Result := Result + EBCDIC[Ord(sEBCDIC)];
   end;
end;

begin
  cargar_pagina_EBCDIC;
  s := traduce('FJ#d2');
  ShowMessage(s);
end;
Responder Con Cita
  #3  
Antiguo 28-04-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
Hayton,

Cita:
Empezado por Hayton
...Tengo un fichero binario en un formato llamado EBCDIC de ibm...no se con que estructura tiene definidos los datos...no se como hacer para transformarlo en un fichero de texto normal...


Pregunto:

1- ¿Cual es el origen del archivo en cuestión (Máquina IBM) y que información contiene?.

2- En el caso de que sea un AS/400, ¿Has considerado usar Client Access o iSeries Navigator para convertirlo de EBCDIC to ASCII?.

Revisa esta información:
Espero sea útil

Nelson.
Responder Con Cita
  #4  
Antiguo 29-04-2015
Hayton Hayton is offline
Miembro
 
Registrado: ene 2008
Posts: 18
Poder: 0
Hayton Va por buen camino
Hola, gracias por las respuestas. El problema de la conversión parece que lo tengo mas o menos resuelto. Ahora me falta el tema de leer un fichero binario sin saber su estructura. Perdón por este paso, pero estoy un poco oxidado con los ficheros binarios.

Saludos
Responder Con Cita
  #5  
Antiguo 29-04-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.739
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Prueba con este código:

Código Delphi [-]
var
  F1: TextFile;
  b: Byte;
begin
  if OpenDialog1.Execute then begin
    AssignFile(F1, OpenDialog1.Filename);
    Reset(F1);
      while not Eof(F1) do begin
        Read(F1, b);

        // Hacer algo con este Byte
        HacerAlgoCon(b);

      end;
    end;
    CloseFile(F1);
  end;
end;

Tomado de ejemplo de Seoane: http://www.clubdelphi.com/foros/showthread.php?t=60337
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Leer byte a byte un fichero binario NPIdea C++ Builder 2 22-03-2012 16:36:34
Duda Sobre Transformacion de Programas !! llSnakell Varios 2 25-01-2011 18:49:09
Ayuda con fichero binario JoAnCa Varios 9 28-07-2008 18:33:05
Localizar un array de bytes en un fichero binario. maro Varios 3 12-02-2008 11:58:12
Bloquear registro en fichero binario jonmendi API de Windows 3 13-11-2007 17:16:31


La franja horaria es GMT +2. Ahora son las 03:43:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi