Autor Tema: Archivo Binario(tambien conocido como secuencial)  (Leído 20049 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado eto

  • PIC12
  • **
  • Mensajes: 64
    • Programacion y Electronica
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #15 en: 04 de Enero de 2009, 02:29:22 »
Esta muy interesante este tema, de lo unico que tengo duda, es porque el foro no envia las notificaciones de los temas que he solicitado notificacion, pues este tema lo habia solicitado, y lo deje con unos cuantos post, pero regreso de algun tiempo y ya habian avanzado bastante y ni enterado, lo mismo pasa con otro post de programadores, tampoco me notifica.  :shock:

Pd. disculpen si me sali del tema.
No borro mis errores, al contrario los mantengo a la vista para no cometerlos otra vez.

Mi Web

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #16 en: 04 de Enero de 2009, 23:46:07 »
Esta muy interesante este tema, de lo unico que tengo duda, es porque el foro no envia las notificaciones de los temas que he solicitado notificacion, pues este tema lo habia solicitado, y lo deje con unos cuantos post, pero regreso de algun tiempo y ya habian avanzado bastante y ni enterado, lo mismo pasa con otro post de programadores, tampoco me notifica. 
Hola eto eso que comentas sobre que te avise sobre las respuestas del post no lo he revisado pero tomo este mismo respiuesta como prueba haber si te notifica de un a nueva respuesta y asumo que esa notificacion te la envia a tu correo que tienes suscrito en el foro o cuando entres nuevamente al foro te avise nose como solicitas ese aviso de todas maneras lo pondre en practica para ver eso ya que es muy importante eso de avisarle sobre los post que uno lleva una secuencia asi no se pierde de lo adelando y como va el tema en si.

saludos y bueno sin desviar el tema aca les subo el componente con el cual estoy trabajando para que los que le intereza ya lo tengas y puedan ir haciendo sus practica y como les comente en respuesta anteriores estoy en la etapa de im plementar el formato intel, luego les informo como me va ya que mi destresa en delphi es podre tengo que ir leyenmdo mucho para poder ir avanzando.

Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado eto

  • PIC12
  • **
  • Mensajes: 64
    • Programacion y Electronica
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #17 en: 05 de Enero de 2009, 04:01:06 »
Hola astrocar, pues esta vez si me notificó, gracias., acabo de bajar el componente que subiste se ve interesante, lo probaré más tarde.

Saludos.

Pd. para que te notificque , cuando estas viendo un tema, en la parte donde esta el boton de respuesta, al lado aparece el boton de notificar, y en tu perfil configuras a donde y como quieres que te notifique.
No borro mis errores, al contrario los mantengo a la vista para no cometerlos otra vez.

Mi Web

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #18 en: 05 de Enero de 2009, 07:59:48 »
Hola astrocar, pues esta vez si me notificó, gracias., acabo de bajar el componente que subiste se ve interesante, lo probaré más tarde.

Saludos.

Pd. para que te notificque , cuando estas viendo un tema, en la parte donde esta el boton de respuesta, al lado aparece el boton de notificar, y en tu perfil configuras a donde y como quieres que te notifique.
Ok me alegro entonce caso cerrado lo de la notificacion y centremos entonce en el tema.

saludos y esperando opinioners varias, jajajaj.
Atten.
Alexander santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #19 en: 06 de Enero de 2009, 00:49:00 »
Hola Astrocar,
Después de ver el componente que has colgado, reescribiendo código para depurarlo al máximo, mi proposición para carga-guardar ficheros bin es la siguiente:

Código: Delphi
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   FileCtrl, StdCtrls, ExtCtrls, Grids, MPHexEditor, XPMan, MPHexEditorEx;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Button2: TButton;
  13.     SaveDialog1: TSaveDialog;
  14.     OpenDialog1: TOpenDialog;
  15.    // XPManifest1: TXPManifest;
  16.     MPHexEditorEx1: TMPHexEditorEx;
  17.     procedure Button2Click(Sender: TObject);
  18.     procedure Button1Click(Sender: TObject);
  19.     procedure loadbin(Nom_Fichero:string);
  20.     procedure savebin(Nom_Fichero:string);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31.  
  32. {$R *.DFM}
  33.  
  34. procedure TForm1.loadbin(Nom_Fichero:string);
  35. begin
  36.   // Cargar fichero
  37.   with MPHexEditorEx1
  38.   do
  39.     if FileName <> Nom_Fichero then
  40.     begin
  41.       if not FileExists(Nom_Fichero)
  42.       then
  43.         CreateEmptyFile('Unnamed')
  44.       else
  45.         LoadFromFile(Nom_Fichero)
  46.  
  47.     end;
  48. end;
  49.  
  50. procedure TForm1.savebin(Nom_Fichero:string);
  51. begin
  52.   // Guardar fichero
  53. MPHexEditorEx1.SaveToFile(Nom_Fichero);
  54. end;
  55.  
  56. procedure TForm1.Button2Click(Sender: TObject);
  57. //Boton Guardar fichero Bin con filtro .bin
  58. begin
  59. savedialog1.InitialDir := getcurrentdir;
  60. savedialog1.Filter := 'ARCHIVO BIN|*.bin';
  61. savedialog1.Execute;
  62. if savedialog1.FileName <> '' then savebin(savedialog1.FileName+'.bin');
  63. end;
  64.  
  65. procedure TForm1.Button1Click(Sender: TObject);
  66. //Boton Cargar fichero Bin con filtro .bin
  67. begin
  68.  opendialog1.InitialDir := getcurrentdir;
  69.  opendialog1.Filter := 'ARCHIVO BIN|*.bin';
  70.  opendialog1.Execute;
  71.  if opendialog1.FileName<>'' then loadbin(opendialog1.FileName );
  72. end;
  73.  
  74. end.

No es necesaria ni la lectura ni escritura por bloques de los datos binarios, ya que van implementadas en el componente y son rápidas de ejecutar.
Intentaré colgar mañana ( por esta noche) la implementación básica de los hex en formato intel 8bits

Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #20 en: 07 de Enero de 2009, 16:36:37 »
ok gracias Droky aunque desde que empece a trabajar con el componente ya pude sin problema cargar y guardar los ficheros bin mil dilculpas por no informar eso aunque yo subi ub ejecutableble de mi aplicacion que muestra es y otros avances mas y tambien dije que estoy es en la parte de el formato intel cosa que aun no lo he implementado del todo.

Bueno estuve patr de dias ausente del foro por que me fui al monte de caseria pero ya estoy de vueltas y con ganas de terminar la parte de intel para empezar luego y a fondo la parte de interface entre el pic18f2550 y la aplicacion qyue estamos manejando y quiero que sea via usb con que aun no la defino bienpor no tener cosas lista del soft como el formato intel y colocar las lista de eeprom que soportara el programador asi que ya hoy en la noche les comento los avances que desarrolle sobre eso del intel y agregue las eeprom a menejar.

Saludos y estamos en contacto por futuros avances de la aplicacion. pero ya cumpliento objetivos especificos para el final cumplir objetivos generales que es el programador de eeprom 100% funcional.
Atten:
Alexander Santana.
Barcelona-Venezuela.
« Última modificación: 12 de Enero de 2009, 22:40:47 por ASTROCAR »
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #21 en: 12 de Enero de 2009, 22:48:36 »
Hola buenas noches luego de tanto leer en delphi ya logre implementar las rutinas para procesar el formato intel, bueno sin mas comentarios aca le subo la manera de como pude hacer para abrir un fichero intel hex:

procedure TForm1.Button1Click(Sender: TObject);
var
Fhex: TextFile;
Fila,Aviso:string;
t:shortstring;
RECLEN,RECTYPE,DATA,CHKSUM:byte;
count,RESULTADO:INTEGER;
ADDRESS,SUMALINEA:word;
label
 error;
begin
  if OpenDialog1.Execute then          { Display Open dialog box }
  begin
  //LEE EL ARCHIVO Y LO ESCRIBE EN EL MEMO1
  memo1.lines.LoadFromFile(opendialog1.FileName);
  //Calcula el tamaño del fichero
  MPHexEditorEx1.datasize:=(memo1.Lines.Count-1)* 16;
  end;
  AssignFile(Fhex, OpenDialog1.FileName);   { File selected in dialog box }
  Reset(Fhex);
  //LEE Y PROCESA EL ARCHIVO Y LO ESCRIBE EN EL COMPONENTE
  while not eof(Fhex) do
  begin
  ReadLn(fhex, fila) ; //Lee las líneas del fichero
  RECLEN:=strtoint('$'+copy(fila,2,2));// lee longitud (RECLEN)
  ADDRESS:=strtoint('$'+copy(fila,4,4));// lee offset
  RECTYPE:=strtoint('$'+copy(fila,8,2));//Tipo de datos
  CHKSUM:=strtoint('$'+copy(fila,Length(fila)-1,2));//Checksum de la linea leida
  SUMALINEA:=RECLEN+lo(ADDRESS)+hi(ADDRESS)+RECTYPE;
  if fila[1]<>':' then
  begin
   Aviso:='Error en (:)';
   goto error;
  end;
        count:=0;
        while (count < RECLEN) do
        begin
        t:='$'+copy(fila,10+2*count,2);
        DATA:=strtoint(t);
        SUMALINEA:=SUMALINEA+DATA;
        MPHexEditorEx1.data[ADDRESS+count]:=DATA;
        inc(count);
        end;
  RESULTADO:=256-SUMALINEA;
  RESULTADO:=RESULTADO AND 255;
  IF CHKSUM<>RESULTADO THEN
  BEGIN
  AVISO:='Error en Checksum';
  goto error;
  end;

  end;

CloseFile(Fhex);
EXIT;

error:
  showmessage ('Fichero Corrupto '+Aviso);
end;


Ahora me resta la parte de guardar en formato intel que desde hoy empieso ese nuevo objetivo.

Saludos y aca tambien le dejo el ejecutable para que miren y disculpen mi desorden en la programacion pero principiante siempre es desordenado. Pero la idea es que funcione y esta hecho a mi manera de interpretar el formato intel si tienen sugerencias bienvenidas sean.
Atten.
Alexander Santana.
Anzoategui-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Archivo Binario(tambien conocido como secuencial)
« Respuesta #22 en: 27 de Diciembre de 2009, 12:59:12 »
Hola Buenos dias y si mal no recuerdo ya hace un año que abri este post y lo tenia olvidado luego que termine la parte del formato intel.

En fin ya estoy retomando el tema nuevamente para ver si de una ves por todo termino mi programdor de eeprom; ahora el tema que quiero tocar es el de la comunicacion entre el pic y mi aplicacion delphi en un principio quise hacerlo en usb pero luego me dije si aun no manejo bien serial como voy a desarrollar en usb asi que decidi experimental con serial, por tal razon investigue sobre componentes que manejen puerto serial y ubique uno llamado TPAPRO el cual ya lo instale en mi version de delphi 7 y estoy en la parte de familiarizarme con dicho componente y alguien tiene informacion de este componete serial bienvenida sea.

La idea es configurar el puerto serial y luego establecer un protocolo para lectura, escritura y verificacion de las eeprom logico usando el componente ya mensionado.

Ejemplo desde la aplicacion delphi enviar un buffer en el cual diga que eeprom se va a trabajar ya sea I2c, SPI o MICROWIRE, seguido del tipo de eeprom si va hacer leida, escrita o verificada, por ultimo la direcion en la cual va hacer leida, escrita o verificada. <eso serial el protocolo a manejar y ya teniendo eso claro se envia el buffer que se vaya a escribir o en su defecto se recibe el buffer que va hacer escrito.

Saludos y sigo en mi proyecto y en estos momento estudiando el componente TPAPRO seria bueno tener ejemplo usando ese componente.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE