• Jueves 22 de Mayo de 2025, 14:40

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Eternal Idol

Páginas: 1 ... 113 114 [115] 116 117 ... 205
2851
C/C++ / Re: Urgente..
« en: Martes 6 de Febrero de 2007, 09:32 »

2852
C++ Builder / Re: Problema Borrar Ejecutable Desde Setup
« en: Lunes 5 de Febrero de 2007, 14:35 »
Cita de: "okap"
Disculpa mi ignorancia pero no entiendo el término "attachear el depurador".  Además hay que tener en cuenta que cuando lanzo dicho ejecutable de forma independiente, sí que crea el archivo ".vbs" y tras unos segundos borra el ".exe". El problema está cuando dicho ejecutable, en lugar de lanzarlo yo mismo, lo lanza el programa de instalación. Es entonces cuando no crea el archivo ".vbs"
No exactamente hay que tener en cuenta eso ya que, al menos para mi, no indica la solucion. Con "attachear" el depurador me refiero a una opcion que proveen tanto el Visual Studio (Menu Debug>>Attach to process) como el WinDbg (Menu File>>Attach to a process). De esa manera podes ver la razon por la cual falla el CreateFile ... si es que es llamado. Tambien podes usar tecnicas mas simples, como printf ...

2853
C++ Builder / Re: Problema Borrar Ejecutable Desde Setup
« en: Lunes 5 de Febrero de 2007, 12:21 »
Si no se esta creando el archivo vbs es muy facil encontrar el problema, depura el ejecutable que deberia crearlo. Una forma facil de hacerlo es poniendo un MessageBox justo antes de lo que queremos depurar y despues "attachear" el depurador.

2854
C/C++ / Re: C Estándar???
« en: Lunes 5 de Febrero de 2007, 00:16 »
Cita de: "Geo"
Si programas para Windows, las alternativas grauitas son VC++ (la versión 2005 Express es gratuita, aunque tienes que bajar el SDK para poder utilizar la API Win32. Las versiones "de pago" son bastante caras
Cabe destacar que el compilador (VC++) es el mismo, lo que cambia es el IDE (Visual Studio, Express, etc).

2855
C/C++ / Re: C Estándar???
« en: Domingo 4 de Febrero de 2007, 21:36 »
stdio es una libreria standard, conio no. Tu compilador es arcaico y obsoleto, no solo se ejecuta bajo MS-DOS sino que genera ejecutables de 16 bits para ese S.O., ya estamos hace unos años con 64 bits.

Si queres un buen compilador para Windows podes conseguir gratuitamente el VC++ y el gcc (Open Source) para muchas plataformas.

2856
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 09:21 »
Cita de: "Nevhazovat"
¿Nadie sabe como hacerlo?
¿Es una pregunta en serio? Lo hice a los 10 minutos de ver el problema, y entre varios te dejamos los pasos para hacerlo (incluso en otro foro tambien) pero otra cosa muy diferente es que como bien dice su- te vayamos a hacer la tarea.

2857
DirectX / Re: Error , Unresolved External Symbol _direct3dcreate
« en: Viernes 2 de Febrero de 2007, 18:05 »
Es un error al enlazar, necesitas la biblioteca de importacion (creo que era d3d.lib).

2858
C/C++ / Re: Problema Con Pila
« en: Viernes 2 de Febrero de 2007, 18:00 »
Cita de: "yaG"
Mientras estaba escribiendo mi respuesta, el se había auto-respondido...
En el primer código que paso no uso malloc...

Gracias por las correcciones!!!!
Si, no me di cuenta y mire solo su segundo codigo  :P Tenias razon en cuanto a cual era el problema.

2859
C++ Builder / Re: Borrar Un Ejecutable Desde él Mismo
« en: Viernes 2 de Febrero de 2007, 17:08 »
De nadas, me alegro de que te haya servido  :comp:

2860
Novedades en SoloCodigo / Re: 5º Aniversario :)
« en: Viernes 2 de Febrero de 2007, 14:54 »
Que bueno! Y que aguante eh, cinco años ya y todos los que quedan!

Felicitaciones a todos los que aportan al foro!

Les dejo birras:
:beer: :beer: :beer:

2862
C/C++ / Re: Problema Con Pila
« en: Viernes 2 de Febrero de 2007, 09:50 »
Cita de: "yaG"
Aver, no soy un experto sobre el C, pero creo que ya se cual es el problema...

Me parece que ya estaba solucionado.

Cita de: "yaG"
En tu función de "agregar", no ví que hagas uso de la instrucción "new", que es justamente lo que caracteriza el uso de memoria dinámica en C.

El operador new no existe en C sino en C++ y no es caracteristico del uso de memoria dinamica sino mas bien del uso de objetos dinamicos ya que este operador tambien llama al constructor algo que no hace la funcion malloc que si es es caracteristica del uso de memoria dinamica y existe en C.

Cita de: "yaG"
Por lo que veo en tu función agregar, simplemente declaras un puntero LOCAL de la función.
En ningún momento "solicitas" memoria "nueva"...

Si lo hace, con malloc.

Cita de: "yaG"
Me parece que la función agregar debería ser así

No funcionaria en C por lo que te comentaba de new;  clrscr tampoco es una funcion standard de C ni de C++.

2863
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 21:28 »
Cita de: "Nevhazovat"
Saber lo que se dice, no se ninguno de los dos. Este es mi primer año estudiando C y la verdad es que me resulta bastante complicado cuando nos salimos de los superbásico.
OK. Pero entonces no se para que queres pasar ese codigo de C++ a C, ni siquiera se si lo entendes ... ¿Que es lo que necesitas en realidad?

2864
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 20:37 »
Cita de: "Nevhazovat"
Gracias, pero no se usar malloc, ni donde ni como ponerlo. Tampoc entiendo lo de los campos.
¿Entonces para que lo queres en C? ¿Sabes alguno de los dos?

malloc se usa pasandole como parametro el tamaño de la memoria a reservar y devuelve un void* por lo tanto hay que hacer un casting al tipo que queremos usar:

float *f = (float*)malloc(2 * sizeof(float));

Con eso reservamos el tamaño necesario para dos variables float.

Con campos me refiero a las variables que eran miembros de esa clase (x,f, etc) y que antes se podian usar directamente (el this estaba implicito) y para las que ahora tenes que usar un puntero a una estructura que en este caso la llamamos this por gusto.

2865
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 17:46 »
Tenes que ponerle un poco mas de esfuerzo ... en la linea 14 tenes el primer error ... despues en la 15 usa el nuevo prototipo.

No me hiciste caso en cuanto a los campos, no podes acceder a n o x directamente, tenes que usar this->n.

No podes usar new, tenes que usar malloc y de paso agregale el free a eso con una funcion que sea equivalente al destructor que debia tener esa clase ...

2866
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 16:08 »
Cita de: "Geo"
También, procura lo de declarar variables al inicio de las funciones, aunque según entiendo en las últimas versiones del estándar ya se permite declarar en cualquier punto (¿o estoy confundido :P?). De cualquier forma, faltaría que tu compilador lo soportara :).
Si, C99 lo soporta, pero no se que compilador soporta completamente C99 (creo que ninguno popular lo hace el 100%) :lol: Esta caracteristica en particular no compila en VC++ y si por ejemplo los comentarios en una sola linea (//).

2867
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 13:12 »
Yo lo haria mas o menos asi para empezar:

Código: Text
  1.  
  2. typedef struct _DivDiff
  3. {
  4.   float *x,*f;
  5.   int n,intial,final;
  6. }DivDiff, *PDivDiff;
  7.  
  8. void iovalues(PDivDiff this);
  9. float dd(PDivDiff this, int intial, int final);
  10.  
  11.  

Tene en cuenta que las variables tienen que ser declaradas todas al principio de una funcion, tenes que acceder a todos los campos que antes se accedian directamente con this->campo y que tenes que reemplazar cin/cout.

2868
ASM (Ensamblador) / Re: Directdraw En Fasm
« en: Jueves 1 de Febrero de 2007, 00:52 »
Cita de: "pabloreda"
pregunte en el foro de FASM..
http://board.flatassembler.net/forum.php?f=3
Y tambien lo sacaron  B)  SYSREDRAW era la culpable, aunque lo hizo off-line ...

2869
ASM (Ensamblador) / Re: Directdraw En Fasm
« en: Jueves 1 de Febrero de 2007, 00:45 »
Cita de: "pabloreda"
gracias Eternal, lo que puedas hacer

Fuera de la polemica que ya sabemos quien busca y no pienso entrar, solo espero que te des cuenta de quien no te ayuda en lo mas minimo y quien ayuda siempre a cualquiera.

Cita de: "pabloreda"
todos los tutoriales de directx y eso usan C y lo necesito en asm

Eso no es realmente muy problematico ya que una vez que le tomas la mano a los macros para COM y tenes las declaraciones es lo mismo usar asm que C o C++.

Cita de: "pabloreda"
si te interesa me pasaron una libreria ILIX, pero como hace mas de lo que necesito y estas en MASM me complica un poco

No es que me interese o no pero no tengo mucho tiempo, entre el laburo y el estudio me quedo con las manos vacias.

Cita de: "pabloreda"
si conoces otra forma de hacer lo mismo, tambien viene bien, aunque necesito si o si la memoria de video en RAM que despues la copie a VRAM

No es mi campo asi que no se, si se que es posible escribir directo a la memoria de la tarjeta de video desde modo Kernel ... hay que hacer un par de "hacks" con el DDraw ... bastante quilombo pero asi funciona el SoftIce por ejemplo.

Cita de: "pabloreda"
En breve empiezo con la misma interface para DexOS (So similar a la XboX) o un Super DOS (full 32 bits)

Suerte con eso, yo te puedo ayudar con cosas puntuales, no con un proyecto. Si tenes problemas como estos de depuracion siempre estoy disponible, es algo que hago siempre aunque mayormente en modo Kernel  B) Por cierto, esto lo saque con el WinDbg.

2870
ASM (Ensamblador) / Re: Directdraw En Fasm
« en: Jueves 1 de Febrero de 2007, 00:33 »
Por cierto, una forma simple de solucionarlo es agregar esto en wmdestroy:

mov [DDSBack], 0

Y despues en SYSREDRAW:
cmp [DDSBack], 0
jz listo
;codigo
listo:
pop eax esi edi
ret

No se si sera lo ideal PERO funciona  :lol:

2871
ASM (Ensamblador) / Re: Directdraw En Fasm
« en: Jueves 1 de Febrero de 2007, 00:23 »
La verdad que depurar este tipo de cosas es una molestia infinita ... asi que decidi hacerlo en ventanita y no full screen.

El problema esta en SYSREDRAW, es llamada despues de que liberas todo en wmdestroy:.

2872
ASM (Ensamblador) / Re: Directdraw En Fasm
« en: Miércoles 31 de Enero de 2007, 23:41 »
Bueno, le estoy dando una ojeada, despues de modificar un par de lineas al ddraw.inc lo pude ensamblar, mientras voy buscando un par de libritos que tengo por ahi sobre ddraw por si las moscas.

2873
C++ Builder / Re: Leer De Un Fichero Para Grabar En Otro
« en: Miércoles 31 de Enero de 2007, 14:58 »
Yo suelo usar la API de Windows pero igual te paso el codigo del ejemplo que hice para probar el codigo que te pase (uso binario que es lo logico):

Código: Text
  1.  
  2. FILE *orgF = fopen("Orig.txt", "rb");
  3. if (orgF)
  4. {
  5.     fseek(orgF, 0, SEEK_END); //vamos hasta el final del archivo
  6.     long orgSize = ftell(orgF);  //obtenemos posicion y por ende tamaño
  7.     rewind(orgF); //volvemos al comienzo
  8.     char *buffer = (char*)malloc(orgSize);
  9.     fread(buffer, orgSize, 1, orgF); //llenamos el buffer con el archivo
  10.     char *orgPtr = buffer; //ya podemos procesar el texto
  11.  
  12.  

Obviamente supongo que son archivos de texto cortos ...

2874
C++ Builder / Re: Leer De Un Fichero Para Grabar En Otro
« en: Miércoles 31 de Enero de 2007, 12:49 »
De nada pero ... ¿Entonces era asi? ¿El primer archivo tenia todo en una sola linea?

2875
C++ Builder / Re: Leer De Un Fichero Para Grabar En Otro
« en: Miércoles 31 de Enero de 2007, 11:26 »
No llego a entenderlo realmente ...

¿El primero archivo tiene todo en una sola linea? Lo que mostras no es asi ...

Decis que es #INS#INS#INS pero mostras para el primer archivo:
#INS
#INS
#INS

Si tenes que insertar separadores de linea igualmente podes leer el archivo en un buffer e ir recorriendolo (binario siempre funciona).

Teniendo el archivo en un buffer es tan simple como:

Código: Text
  1.  
  2. char *orgPtr = buffer;
  3. for (long x = 0; x < orgSize; x++, orgPtr++)
  4. {
  5.   if (*orgPtr == '#') { fwrite("\r\n", 2, 1, dstF); }
  6.   fwrite(orgPtr, 1, 1, dstF);
  7. }
  8.  
  9.  

Páginas: 1 ... 113 114 [115] 116 117 ... 205