Delphi y intelhex
"Tolomeo se mudo al Polo Norte"
|
Imagino que para mostrar sólo los datos válidos, tenes que jugar con el retorno de la función ReadLine, es decir:
|
"Tolomeo se mudo al Polo Norte"
|
La función de ReadLine, llena un buffer línea a línea del contenido del HEX, y va traduciendo la lectura según esta conformada la linea. La explicación es sencilla, y se basa en el formato Hex de Intel
Código:
Intel Hex is a common format to store binaries to be loaded into EPROM for Código:
Código:
There are extended formats, and there is the chance that the EPROM Saludos |
"Tolomeo se mudo al Polo Norte"
|
Podrias explicarnos a que te refieres con linea valida?, y porque el readln no te sirve, quizas asi muchos podriamos colaborar
|
"Tolomeo se mudo al Polo Norte"
|
Cita:
:D |
"Tolomeo se mudo al Polo Norte"
|
Quieren leer un intel hex file?
Pues he aca la solucion: No voy a inventar que yo lo hise por que pa que, estoy estudiando esto pero si uds quieren adelanten para que despues me ayuden, vallan a este link:
http://www.sixca.com/delphi/article/readhex.html y en la pagina prinsipal mucho mas: http://www.sixca.com/delphi/index.html ademas e conseguido el codigo de varios grabadores en delphi tal ves lo suba para que lo estudien. Solo me falta el del icprog y el del winpic800 para completar la coleccion. :D |
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
1 Archivos Adjunto(s)
"Tolomeo se mudo al Polo Norte"
|
Segun lo poco que entendi tengo unas propuestas, son dos lineas basicamente las puse en rojo para que las identifiques. En la primera devuelvo cero si el resultado es correcto, y en la segunda lo agrego al memo
|
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
es que el asunto radica , segun lo que entendi la linea que necesitas esta en HexBuf que es de tipo Byte, el asunto es convertirlo a string por eso utilize la funcion que agregue al principio
|
Si lo que quieres es solamente eliminar lo que no son datos de cada linea, podemos usar una función como esta:
Y si queremos cargar todo en un memo:
Por otro lado lo que podemos querer en realidad es obtener todos los bytes que se van a grabar (incluidos los que no aparecen el archivo que yo supongo como ceros) y además ordenados. Eso ya es un poco, solo un poco, mas complicado ¿es eso lo que quieres? :confused: |
"Tolomeo se mudo al Polo Norte"
|
Bueno, siguiendo con mi respuesta anterior:
Solo quedaría añadir algunas cosillas, como la comprobación de la "suma de comprobación". |
"Tolomeo se mudo al Polo Norte"
|
Memo1 es el nombre de un memo que debes tener colocado en tu formulario
|
"Tolomeo se mudo al Polo Norte"
|
Creo que no me explique bien, el código no debe escribirse directamente en la unit, se debe encerrar dentro de algún evento como por ejemplo hacer click sobre un botón:
|
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
Tienes razón, solo hace falta una pequeña corrección:
|
"Tolomeo se mudo al Polo Norte"
|
Hola JoseFco, y no era un programador de pics? :confused:
aunque el que quieras esta bien pero no hagas como algunos que despues no comparten la informacion, aunque por lo visto te gusta compartir. :D |
"Tolomeo se mudo al Polo Norte"
|
Gracias JoseFco, eres una gran persona.
Solo queria preguntarte si despues piensas colocar los datos del hex en un stringrid tal como los programadores como winpic800 o icprog? Tambien ya que quieres utilisar un puerto diferente al paralelo puedes utilizar un adactador que se consigue para convertir de usb a 232 FS232, y en la pagina del chip hay ejemplos de control para delphi podrias utilisarlo. :rolleyes: |
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
"Tolomeo se mudo al Polo Norte"
|
Cita:
|
Creo que lo estas enfocando de una manera equivocada JoseFco, para que quieres andar jugando con los datos en un memo cuando ya tienes todos los bytes guardados en un array.
Analicemos el código:
Fíjate que en buffer ya tenemos los bytes tal cual se tienen que mandar al programador, así que cuando hagas la rutina de envío no vayas a coger los datos del memo y convertirlos a bytes, seria hacer el mismo trabajo dos veces. :) |
"Tolomeo se mudo al Polo Norte"
|
Venga una modificación :D:
El problema viene porque el buffer empieza a numerar los bytes desde cero. Por cierto hablando sobre programadores http://www.ic-prog.com/ es uno de los mejores que he visto (aunque no he visto demasiados :p ), y además esta hecho en delphi :D ... lo malo es que no muestra el código fuente :( |
"Tolomeo se mudo al Polo Norte"
|
La franja horaria es GMT +2. Ahora son las 17:43:38. |
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