![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
funciona perooooooo...
he probado ese codigo, cambiado al c++ y funciona pero mirad lo que pasa:
Principio de la cadena, copiada de un editor hexadecimal 436F7079726967687420286329313939352044696E616D6963204D756C74696D65646961002090010... Principio de la cadena, obtenida mediante el codigo anterior: 436F7079726967687420286329313939352044696E616D6963204D756C74696D656469610020FFFFFF90010 El principio es el mismo...ok...pero mirad las FFFFF...esta el archivo plagado de ellas...y no tienen porque salir, porque leyendo caracter a caracter no salen... ..alguien entiende algo?...ademas no puedo quitar todas las F, pq quitar algunas que si valen. Pd.- pprey, no he podido probar tu codigo, pq no se como hacer un pas y usarlo en c++. Si pudieras pasarlo a c++.. Gracias a todos Un saludo Antonio |
|
#2
|
|||
|
|||
|
hex
Con respecto a pasartelo a C++ lo que te envie, ahora mismo no podría pasartelo a C++ porque no tengo mucho tiempo para ello. Por lo que veo ahora tienes problemas con las FFFF con el codigo que te paso otro compañero. Pues bien creo que el problema de las FFFF es que al pasar tu el codigo a C desde delphi, quizás tengas algun problema en los bucles. Mira bien tu codigo y los loops que haces, a ver si tienes algun problema con los indices.
Si tengo un momento y mi codigo te lo puedo pasar a C++, ya te lo enviaré o bien te mando un .pas para que lo incluyas en un paquete de buider. |
|
#3
|
||||
|
||||
|
El codigo que se puso traducido a c++ es mas o menos este:
if(odFichero->Execute()) { equipo = odFichero->FileName; iFileHandle = FileOpen(odFichero->FileName, fmOpenRead); iFileLength = FileSeek(iFileHandle,0,2); FileSeek(iFileHandle,0,0); Buffer = PChar(AllocMem(iFileLength + 1)); iBytesRead = FileRead(iFileHandle, Buffer, iFileLength); FileClose(iFileHandle); for(int i=0;i < iBytesRead-1;i++) { cadenahex = cadenahex + IntToHex((int)(Buffer[i]),2); } } |
|
#4
|
||||
|
||||
|
bueno, al final he conseguido que funcione...he comprobado que las FFFF esas, las ponia pq el numero que habia en buffer era negativo y al pasarlo a hexadecimal pues ponia unas cuantas FFFF y luego el par correcto. Asi que cuando el numero es negativo quito las Fs...y funciona perfect...
...Asi que la primera parte...prueba SUPERADA!!!...gracias a todos... ahora vamos con la segunda parte...ahora es al contrario...tenemos nuestra cadena hexadecimal...y hay que pasarla a un archivo de texto normal...lo hago y lo hace todo perfectamente peroooooooooo...como ya os conte, cuando encuentra el codigo hexadecimal 0A, intenta escribir un caracter que en el archivo aparece como 2 caracteres...es decir en vez de escribir en el archivo 0A escribe 0D0A. La prueba es que he intentado a escribir en un archivo un 10 y tachan...me hace lo mismo...0D0A. Es decir tan simple como esto: Cita:
Alguna manera de como hacer que me escriba solo 0A???? Gracias Un saludo Antonio |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|