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 10-10-2014
Avatar de ZayDun
ZayDun ZayDun is offline
Miembro
 
Registrado: mar 2007
Posts: 129
Poder: 18
ZayDun Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
ZayDun,




Te comento:

1- El código del Msg #43 del link sugerido, tiene dos funciones para el cambio de archivos a nivel Binario : ChangeFileHex y ChangeFileOffset las cuales, permiten cambiar una cadena hexadecimal en un archivo.

2- Función ChangeFileHex: Cambia n ocurrencias de una cadena hexadecimal por una nueva cadena hexadecimal en un archivo dado y salva los cambios en un nuevo archivo del mismo nombre del original con extensión .new, en el mismo directorio del archivo de entrada.

3- Función ChangeFileOffset: Sustituye en un Offset (Dirección en Decimal) de un archivo dado una cadena hexadecimal y salva los cambios en un nuevo archivo del mismo nombre del original con extensión .new, en el mismo directorio del archivo de entrada.

Los Bytes Per Row (BPF) de ambas funciones están en función de la longitud de la cadenas de entrada OldHex (Función ChangeFileHex) y NewHex (Función ChangeFileOffset), siendo importante recordar que ambas cadenas deben ser del mismo tamaño en las funciones mencionadas.

Nota: Las dos funciones anteriores leen y modifican los archivos de entrada y salida directamente en disco, lo cual les permite procesar archivos de cualquier tamaño, limitados solo por las características del Sistema de Archivos del Sistema Operativo de forma rápida y eficiente e independientemente de cualquier componente de Delphi, funcionado correctamente según lo esperado en las pruebas realizadas.

Pregunto:

1- ¿Cual función utilizastes ChangeFileHex o ChangeFileOffset?.

2- ¿Has utilizado el programa HxD - Hexeditor para ubicar el offset de la cadena a modificar?.

Revisa con detalle todo lo anterior, si aun no te funciona, publica un link para descargar el archivo con el detalle de lo que quieres modificar y vere que puedo hacer


Espero sea útil


Nelson.
El problema como casi siempre.. era mio, parece que se ha solucionado el problema dandole permisos de administrador, como te decía el código copilaba perfectamente pero no realizaba el cambio.

Tengo una última duda si fueses tan amable de contestarme, estoy utilizando la función ChangeFileHex y a veces el nombre de la cadena es mas largo que el de la original, hay alguna posibilidad de permitir que cambie independientemente del tamaño de la cadena? cuando realizo el cambio manualmente en el archivo no hay ningún problema con el archivo, es decir que no se vuelve corrupto. Gracias de nuevo por tu tiempo.
Responder Con Cita
  #2  
Antiguo 10-10-2014
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
ZayDun,

Cita:
Empezado por ZayDun
...estoy utilizando la función ChangeFileHex...¿Hay alguna posibilidad de permitir que cambie independientemente del tamaño de la cadena?...


Te comento:

1- Si es posible, la clave esta en tener dos Buffers : Uno de entrada y otro de salida.

2- Voy a hacer unos cambios a la función ChangeFileHex y cuando este listo lo publico

Pregunto:

1- ¿Cual es el objetivo de esta aplicación?

2- ¿El uso de la aplicación es a nivel comercial, académico o personal?.

3- ¿En que país se usara la aplicación?.

Espero sea útil

Nelson.
Responder Con Cita
  #3  
Antiguo 10-10-2014
Avatar de ZayDun
ZayDun ZayDun is offline
Miembro
 
Registrado: mar 2007
Posts: 129
Poder: 18
ZayDun Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
ZayDun,




Te comento:

1- Si es posible, la clave esta en tener dos Buffers : Uno de entrada y otro de salida.

2- Voy a hacer unos cambios a la función ChangeFileHex y cuando este listo lo publico

Pregunto:

1- ¿Cual es el objetivo de esta aplicación?

2- ¿El uso de la aplicación es a nivel comercial, académico o personal?.

3- ¿En que país se usara la aplicación?.

Espero sea útil

Nelson.
Tengo un programa que al abrirlo trae los datos de configuración por defecto, el problema es que aunque cierre la aplicación con los nuevos datos el programa no los guarda y cada vez que lo abro tengo que volver a modificarlo todo, el archivo a modificar se guarda como config.dat y mi idea es que modifique la cadena y despues ejecute el programa.

El programa es para uso personal y el país es España.
Responder Con Cita
  #4  
Antiguo 10-10-2014
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
ZayDun,

Cita:
Empezado por ZayDun
...Tengo un programa que al abrirlo trae los datos de configuración por defecto...


Pregunto:

1- ¿A que programa te refieres?, ¿Cual es el objetivo de esa aplicación?

2- ¿Cuales son los datos de configuración por defecto de la aplicación en cuestión que quieres modificar?.

Espero sea útil

Nelson.
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
Modificar archivo binario elarys Varios 1 21-10-2010 14:18:13
Funciones para limpiar y buscar una cadena en otra cadena o en un fichero xaguilars Trucos 1 29-07-2007 22:20:14
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Convertir a binario cadena de caracteres wgfs Varios 0 28-10-2006 00:58:28
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15


La franja horaria es GMT +2. Ahora son las 13:31:44.


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