• Sábado 14 de Diciembre de 2024, 22:03

Autor Tema:  editor de texto con dll privativa  (Leído 1859 veces)

bloodyogos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
editor de texto con dll privativa
« en: Martes 24 de Junio de 2008, 11:44 »
0
buenas, a ver, estoy empezando con visual c++ 2008 y necesito hacer un editor de texto que utiliza una dll privativa bastante simplona, tiene 5 comandos abrir, cerrar, leer, escribir, buscar. hasta aqui bien, el porque de usar esta dll es por que sirve para abrir un formato de archivos codificado y octal, y esto te lo muestra como texto decimal.
por lo que he leido, abrir, cerrar y buscar serian comandos para 3 botones, y luego leer y escribir se asociarian a una richtextbox, ahora la pregunta, ¿como se supone que le asocio leer y escribir a la richtextbox?

lamento no tener una pregunta mas jugosa pero estoy pez con windows forms, un saludo

bloodyogos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: editor de texto con dll privativa
« Respuesta #1 en: Martes 24 de Junio de 2008, 12:41 »
0
El archivo .h que va con la .dll y el .lib dice asi:
Código: Text
  1. // The following ifdef block is the standard way of creating macros which make exporting
  2. // from a DLL simpler. All files within this DLL are compiled with the DATAFILEREADERDLL_EXPORTS
  3. // symbol defined on the command line. this symbol should not be defined on any project
  4. // that uses this DLL. This way any other project whose source files include this file see
  5. // DATAFILEREADERDLL_API functions as being imported from a DLL, whereas this DLL sees symbols
  6. // defined with this macro as being exported.
  7. // DataFileReader.dll (C) Ro2Helpers. All rights reserved.
  8. #include <stdio.h>
  9. #ifdef DATAFILEREADERDLL_EXPORTS
  10. #define DATAFILEREADERDLL_API __declspec(dllexport)
  11. #else
  12. #define DATAFILEREADERDLL_API __declspec(dllimport)
  13. #endif
  14.  
  15. typedef unsigned int __uint;
  16. typedef unsigned char __uchar;
  17.  
  18. enum ro2data_offset { offset_cur = 1, offset_end = 2, offset_start = 3 };
  19.  
  20. typedef struct
  21. {
  22.     FILE *hFile;
  23.     __uint fPos;
  24. } ro2data_handle;
  25.  
  26. DATAFILEREADERDLL_API __uint ro2data_read ( ro2data_handle *handle,
  27.                                     __uchar *pBuf,
  28.                                     __uint BlockSize,
  29.                                     __uint BlockCount );
  30.  
  31. DATAFILEREADERDLL_API __uint ro2data_write ( ro2data_handle *handle,
  32.                                     __uchar *pBuf,
  33.                                     __uint BlockSize,
  34.                                     __uint BlockCount );
  35.  
  36. DATAFILEREADERDLL_API bool ro2data_open ( ro2data_handle *handle,
  37.                                     char *name );
  38.  
  39. DATAFILEREADERDLL_API int ro2data_seek ( ro2data_handle *handle,
  40.                                 int seek, int origin );
  41.  
  42. DATAFILEREADERDLL_API int ro2data_close ( ro2data_handle *handle );
  43.  

asi ya hablamos con mas propiedad del asunto

bloodyogos

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: editor de texto con dll privativa
« Respuesta #2 en: Jueves 26 de Junio de 2008, 09:49 »
0
...es cuanto menos curioso que en un foro de visual c++ en el que parece haber gente, ni uno sepa acer esto... vamos que yo solo pido ayuda por que estoy traduciendo un juego al español con un editor hexadecimal, y esta dll es la via mas facil de aorrarme mucho trabajo... ¿nadie? hombre por compasion, aunque sea pensando en todos los hispanoparlantes del mundo, he traducigo mas de media interfaz del juego, y lo que me queda, a lo mejor no os suena serio pero es un trabajo de pelotas :hitcomp:
va hecharme una mano

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: editor de texto con dll privativa
« Respuesta #3 en: Jueves 26 de Junio de 2008, 18:36 »
0
Pues mira, no creo que nadie te ayude porque no quiera, simplemente que con la informacion que proporcionas sobre la dll y el include no es suficiente, a mi no me sirve de nada saber que tipo de parametros aceptan las funciones/metodos, si no se que representan esos valores y para que sirven, todo eso deberia de venir en la documentacion de la libreria. Al menos las librerias que he utilizado tienen la documentacion, asi por ejemplo, en SDL (una libreria para programar videojuegos) tenemos el siguiente metodo:

Código: Text
  1.  
  2. int SDL_Init(Uint32 flags);
  3.  
  4.  

en esta definicion, solo se que SDL_Init regresa un entero, y toma como parametro una variable flags de tipo Uint32, pero ¿que representa ese flags? ¿y que representa el valor int que regresa? Sin la documentacion solo puedes suponer que significa, pero necesitas la documentacion para saber como utilizarla. La documentacion dice:

Citar
Initializes SDL. This should be called before all other SDL functions. The flags parameter specifies what part(s) of SDL to initialize. (Flags should be bitwise-ORed together, e.g. "SDL_INIT_AUDIO | SDL_INIT_VIDEO".)

SDL_INIT_TIMER
Initializes the timer subsystem.

SDL_INIT_AUDIO
Initializes the audio subsystem.

SDL_INIT_VIDEO
Initializes the video subsystem.

SDL_INIT_CDROM
Initializes the cdrom subsystem.

SDL_INIT_JOYSTICK
Initializes the joystick subsystem.

SDL_INIT_EVERYTHING
Initialize all of the above.

SDL_INIT_NOPARACHUTE
Prevents SDL from catching fatal signals.

SDL_INIT_EVENTTHREAD
Run the event manager in a separate thread.

Return Value
Returns -1 on an error or 0 on success. You can get extended error message by calling "SDL_GetError". Typical cause of this error is using a particular display without having according subsystem support, such as missing mouse driver when using with framebuffer device. In this case you can either compile SDL without mouse device, or set "SDL_NOMOUSE=1" environment variable before running your application.

Para cualquier funcion de cualquier libreria, necesitas la documentacion, incluso la documentacion de la API de windows esta disponible, sin esta documentacion es casi imposible saber como utilizar una libreria.

Dejando a un lado eso, me parecio muy poco cortes de tu parte exigir una respuesta. A nadie en este foro se le paga por ayudar, la mayoria lo hacemos porque nos gusta y en nuestro tiempo libre, la ayuda que se da, es un privilegio y no un derecho, solo recuerda eso.

Saludos  :hola:

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================