![]() |
![]() |
| 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
|
||||
|
||||
|
Bueno en cuanto al retorno de carro es habitual que vaya acompañado por una alimentación de línea por eso siempre van juntos los dos códigos
0A ----- Line Feed (Alimentación de línea) 0D ----- Carriage Return (Retorno de carro() De hecho la tecla enter produce esos códigos precisamente. Puedes probarlo: Esto es una prueba <Enter> Guardálo con el nombre que desees por ejemplo prueba: vete al DOS Debug prueba D <enter> Y ahora veras en hexadecimal todo lo escrito y al final 0AOD Para abandonar deBug pulsa Q y luego Enter En cuanto al otro problema porque no lees el archivo entero y no caracter a caracter lo guardas en una variable o donde creas oportuno y luego vas tomando de 2 en 2 los códigos y los pasas a decimal o a lo que corresponda. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 02-10-2005 a las 12:54:24. |
|
#2
|
||||
|
||||
|
Y como cargo un archivo entero en una cadena???
pq yo lo que hago es abrir el archivo (fopen), ir copiando con (fget o fgets), y luego cerrar el archivo (fclose). Gracias Un saludo Antonio |
|
#3
|
||||
|
||||
|
Hola,
Cita:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString archivo = "C:\\archivo.txt";
TStringList *temporal = new TStringList();
try
{
temporal->LoadFromFile(archivo);
ShowMessage(temporal->Text);
}
__finally
{
temporal->Free();
}
}
Código:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString archivo = "C:\\archivo.txt";
TFileStream *fs = new TFileStream(archivo, fmOpenRead);
TStringStream *ss = new TStringStream("");
try
{
ss->CopyFrom(fs, 0);
ShowMessage(ss->DataString);
}
__finally
{
fs->Free();
ss->Free();
}
}
|
|
#4
|
||||
|
||||
|
Aunque no entiendo muy bien lo que te pasa , para no tener
problemas con los retorno de carro ( 0D0A ) maneja el fichero en modo binario no en modo texto. |
|
#5
|
||||
|
||||
|
Pues va a ser que no....
...vamos a ver he probado lo de cargar el archivo de una vez con el Tstringlist, pero nada... el archivo es este: archivo Lo he puesto con extension .doc para poder subirlo. Si lo habris con un editor hexadecimal, podreis verlo perfectamente. Yo lo que quiero es obtener en una cadena todo el codigo hexadecimal. Porque hasta ahora para poder trabajar con el, lo que tengo que hacer es abrir el archivo con un editor hexadecimal, seleccionar todo el codigo y copiarlo a un archivo de texto. La version hexadecimal de ese archivo es: archivohex Asi que si alguien pudiera decirme como leer directamente el archivo y obtener ese codigo hexadecimal en una cadena y luego volver a pasarlo a otro archivo.... Muchas Gracias Un saludo Antonio |
|
#6
|
||||
|
||||
|
He preparado este ejemplo, que puede servir como base, como es tarde lo dejo así, solo queda darle algunos retoques:
Se necesita: Un TOpenDialog y un StringGrid
Un Saludo
__________________
Guía de Estilo de los Foros Cita:
|
|
#7
|
||||
|
||||
|
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 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|