• Miércoles 20 de Noviembre de 2024, 18:35

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 - Amilius

Páginas: 1 ... 14 15 [16] 17 18 ... 27
376
C/C++ / Re: Reserva De Memoria
« en: Sábado 11 de Junio de 2005, 04:47 »
Cita de: "iori2029"
Hola a todos.

Mi problema es el siguiente, necesito saber como reservar memoria para varias cadenas de manera dinamica, por ejemplo el usuario dice que quiere hacer un cuestionario de 10 preguntas y que quiere que sea de incisos, de 2 incisos por pregunta en este caso, entonces el total de cadenas a escribir sera de 30 cadenas(Pregunta1,respuesta1 de pregunta1,respuesta2 de pregunta1,Pregunta2 etc.....)
Bueno hasta ahi creo que vpy bien, quiero guardar todas esas cadenas en una variable de tipo **puntero, y despues escribirlas a un archivo con fwrite,para su posterior lectura con fread.

Una idea, mas o menos lo he intentado asi puntero=(char **) malloc(sizeof(char)*totaldecadenas);   y escribiendolas con fwrite y con un bucle ,pero no me sale bien. Agradecere su ayuda. :devil:
Seguro que ese malloc reserva suficiente memoria???? ¿no debería ser tamaño de un puntero a char en lugar de tamaño de un char?

377
C++ Builder / Re: Transferencia De Archivos Por Sockets
« en: Viernes 10 de Junio de 2005, 01:19 »
Podrías describir mejor tu problema... hay tantas cosas que pueden estar saliendo mal...

¿Utilizas un delimitador/separador de paquetes?
¿Puedes enviar un mensaje utilizando los 256 valores de un byte? (Parece que no por que envias solo texto)

¿Estas usando el componente estándar? (Con ese se puede enviar mensajes mediante cadenas utilizando los 256 valores gracias al tipo especial de cadenas que no sacrifica el ASCII 0)

378
Delphi / Re: Resolucion De Pantalla
« en: Miércoles 8 de Junio de 2005, 19:52 »
Seguro que en el monitor de 17 pusieron 1024x768 como mínimo y posiblemente más, en el de 15 generalmente usan 800x600 por que 1024x768 no se ve tan nítido.

Probaste con la propiedad "escalado" y "pixeles por pulgada" el formulario?

Seguramente tienes un formulario gigante, aqui van algunas ideas:

Usa pestañas, asi el formulario queda organizado en "hojas" que puedes llenar haciendo click en cada pestaña.

Trata agregando una barra vertical de desplazamiento.

Intenta reducirlo para que la ventana principal no ocupe más de 800x600

NOTA: Las pulgadas del monitor NADA tienen que ver con la resolución de la pantalla.  Eso sólo se ve afectado por la máxima resolución del monitor, no por cuantas pulgadas tenga.

379
Inteligencia Artificial / Re: Rapidez En Las Rna, "backpropagation"
« en: Sábado 30 de Abril de 2005, 20:59 »
Pues depende mucho de

1. la máquina donde corres el programa
2. tu codigo
3. el compilador
4. el lenguaje

pero no das esos datos.  :whistling:

380
Programación de Videojuegos / Re: Juego De Rol En Línea
« en: Martes 12 de Abril de 2005, 02:34 »
Hola,

Aprecio bastante sus comentarios y espero pronto implementar nuevas mejoras.  ;)


P.D.

La habilidad "Regatear" actua inmediatamente (no es necesario activarla) al momento de comprar o vender objetos a un npc.

381
Inteligencia Artificial / Re: Talves Link Interesante
« en: Miércoles 16 de Marzo de 2005, 04:19 »
Que puedo decir, la interfaz es muy buena  :) aunque el nucleo del programa sea simple.

382
Java / Re: Sistema Punto De Venta En Java
« en: Domingo 20 de Febrero de 2005, 17:46 »
Simple: aumenta unos retornos de carro y fin de linea, ascii 13, 10(o 10 y luego 13 ?.. como sea el orden... :P ) en lugar del espacio en linea, un FinDeLinea general para linux,win,mac,etc.

¿Que no existe un writechars que venga con fin de linea incluido?  :rolleyes:

(!) Utiliza el tag, boton CODE para mantener las tabulaciones de tu codigo.

383
ASM (Ensamblador) / Re: Convertir Cadena A Numero
« en: Domingo 13 de Febrero de 2005, 19:27 »
Otra forma es tomar primero el más significativo y sumarlo a lo que tengas en "acumulado", para agregar otro dígito multiplicas lo que tengas en "acumulado" por 10 y sumas el siguiente dígito hasta terminar la cadena.

Manejar un número de 32 bits en DX:AX (en DX los 16 bits altos) en modo de 16 bits (sin utilizar EAX, EDX, etc) es problemático por que necesitas agregar codigo extra. En 16 bits no basta con una simple instrucción MUL, no dispones de un registro de 32 bits. Lo mismo en 32 bits si quieres multiplicar por un número de 64 bits: no te basta una simple instrucción y el código se complica, no es algo deseable pero tampoco imposible. Todas las operaciones se complican, tienes que usar los flags de carry, borrow... es un lio.

384
ASM (Ensamblador) / Re: Mi Pc No Sabe Dividir
« en: Domingo 13 de Febrero de 2005, 18:38 »
Saludos,

Bueno en realidad para que la condenada división resulte el cociente debe poder caber en un registro del mismo tamaño en bits del divisor (8,16,32).  :P

El problema es que si el resultado es demasiado grande para caber en el registro destino del cociente (AL, AX, EAX) se genera un INT0 (Que generalmente muestra el mensaje no muy adecuado de división entre 0, ya que esa sólo es una de las posibles causas). El cociente y residuo quedan con valores indefinidos.

En el caso:

mov ax,10
mov bx,2
div bx

Si en dx (que en el ejemplo no está con valor definido) tienes un valor mayor o igual a 2 al aplicar division entera:  DX:AX DIV BX (BX=2) siempre te saldra  error. Fíjate que no importa que DX:AX sea MUCHO mayor a BX.

Como DX estaba indefinido en tu código y siendo suficiente que sea mayor o igual a 2 a fuerza de probabilidades te salía ese mensaje de error.

P.D.

Como dijo deldar, en este caso es mejor usar el desplazador  ;)

P.D. 2:

Es fácil darse cuenta por que hay que EVITAR usar divisiones en tu código de alto nivel, el código que genera el compilador vá más alla de un simple DIV o IDIV.

385
Programación de Videojuegos / Re: Juego De Rol En Línea
« en: Domingo 13 de Febrero de 2005, 18:00 »
Gracias a todos por sus comentarios de apoyo y observaciones para la mejora del juego. La versión Beta.44 está disponible con varias mejoras detalladas en página web:

http://www.artes-arcanas.com/

Por partes en ".rar":

http://groups.msn.com/legadodelasartesarcanas

386
C/C++ / Re: Problema Con Una Red
« en: Viernes 11 de Febrero de 2005, 14:13 »
Cita de: "elbrodi2"
...ahora solo necesito el codigo en C o C++ porque no lo kiere de programas que ya existan, sino nosotros hacerlo...
Haces parecer el trabajo de programar como si sólo fuera tronar los dedos y listo...

Busca un open source, tienes internet a la mano, luego agarra el código, comprendelo, saturalo de comentarios a diestra y siniestra por si es que te preguntan algo, cambia todos esos nombres de variables cortos por unos extra largos y extra auto explicativos.

... de hecho te falta como el 95% del trabajo, tal vez más... En teoría ya tienes la "capa física", a ver  como te va con el resto, pues buena suerte... :hola:

P.D.

También creo que Jonathan tiene grandes habilidades de diplomático, y la verdad que es necesario tener esas habilidades...

387
Inteligencia Artificial / Re: La Eterna Discusión
« en: Viernes 11 de Febrero de 2005, 14:02 »
Cita de: "nausea"
...¿Cuanta gente, en los años 1950-1960 pensaba que se podía ir a la Luna?...
Ese es un tema de mucha polémica en discución ya que no está demostrado que todo no fuera más que un fraude. Es necesario recordar que el mundo se encontraba en medio de una guerra de propaganda. Yo no pondría nunca mis manos al fuego defendiendo la veracidad de esos eventos...

Como actualmente lo aparente es más importante que lo real, como en el caso anterior,  y especialmente después de Einstein que nos mostro que hasta el tiempo es relativo, creo que no importa si una máquina alguna vez logre ser realmente inteligente, siempre y cuando se comporte en forma inteligente... y haga el trabajo. ;)

388
C++ Builder / Re: Timage Que Me Está Piiiiiiiiiiiiiii
« en: Domingo 30 de Enero de 2005, 14:04 »
Como es C++ Builder de Borland:

Utiliza un TpaintBox y un Tbitmap. El Tpaintbox es para mostrar en pantalla y el Tbitmap para guardar la imagen en memoria, cuando no la necesites liberas el Tbitmap y en el evento "onpaint" del TpaintBox pintas la imagen en blanco, sino pintas el Tbitmap.

389
Inteligencia Artificial / Re: La Eterna Discusión
« en: Viernes 28 de Enero de 2005, 14:54 »
Considero que el punto fuerte de la inteligencia humana respecto a cualquier IA, es la misma que poseen otros animales: auto-organización a todo nivel para obtener soluciones buenas, tal vez no las mejores, pero que les puedan sacar de apuros en "tiempo real".  

Ninguna máquina es capaz de mejorar su hardware, pero se sabe que un ser humano o cualquier animal que necesite "más potencia" y en especial en determinados momentos de su etapa de crecimiento puede incrementar el número de interconexiones entre neuronas, mejorar su alimentación, etc. En resumen mejorar su "Hardware". Claro que lo contrario también es cierto: si no lo utilizas se atrofia...  :rolleyes:

Al mezclar electrónica con partes biológicas tal vez buscan sacar ventaja precisamente esas ventajas biológicas que aún no son comprendidas a cabalidad. Sólo vean el caso de los termiteros, es una estructura muy bien organizada, hecha de material reciclable y capaz de dar cobijo a millones de termitas supliendo sus necesidades alimenticias, temperatura, humedad y defensa de agresores. No conozco una sola ciudad en todo el mundo que sea asi: 100% reciclable y que puede suplir las necesidades de todos sus habitantes.

390
Programación de Videojuegos / Re: Sonidos Wave Para Juegos
« en: Jueves 27 de Enero de 2005, 15:11 »
:)  :)  :)

Buena página !!!

Y las gráficas del sonido son perfectas para no tener que bajar o escuchar todos los sonidos, muy buen sistema!!.

391
Programación de Videojuegos / Re: Juego De Rol En Línea
« en: Sábado 22 de Enero de 2005, 00:42 »
Hola,

Respondo a tus preguntas en orden:

1.
Se puede conseguir bastante oro vendiendo los objetos que sueltan los monstros: las gacelas carne roja, los guerreros esqueleto armas, etc.

Muchas veces los montruos de distintos tipos se enfrentan entre si y cuando alguno muere dejan algún "tesoro", como los guerreros esqueleto que se enfrentan contra gusanos gigantes de la arena. :)  Las armas aumentan de precio si las reparas, por ejemplo afilando las espadas.

Puedes comprar herramientas para extraer recursos (pescar, mineria, talar árboles) y para convertir materias primas en otros productos (herrería, carpintería, sastería) para venderlos en mayores precios (regatear).

2.  En realidad por el tipo de juego no existe una opción como "abrir/guardar". El comando "/avatar" está pensado para jugar con el mismo personaje en otros servidores que bien pueden tener distintos mapas. Por eso es que es necesario copiar el archivo ".avt" (que es creado en la carpeta "avatares" pero del cliente) a la carpeta "avateres" del servidor "arkhos.exe".

3.- No entendi bien la pregunta... pero supongo que te refieres a que salga un menu para elegir los objetos que quieres recoger en lugar de recogerlos todos si hay espacio en tu bolso.

5.- Es todo un "quest" , en el manual hay una pequeña explicación, pero básicamente:

+ Tener la pericia liderazgo y mínimo nivel 7.
+ Conseguir el objeto que activa el lugar de conjuración de clanes: "gema de mando"
+ Viajar a la tierra de osos polares y al entrar al centro de la zona de creación de clanes con la gema en las manos. La zona de creación de clanes está señalada por una figura geométrica azul dibujada en el hielo.

Saludos.  :hola:

392
C/C++ / Re: Pregunta Rara
« en: Miércoles 19 de Enero de 2005, 19:01 »
Es un termino "místico/arcano" más, como tantos otros de la nomenclatura matemática.  :rolleyes:

P.D.

Es la condición del while, for, etc, que debe cumplirse para que se ejecute el código dentro del bucle {} .

393
Delphi / Re: Herencia
« en: Miércoles 19 de Enero de 2005, 00:50 »
¿Intentaste usando referencias a objetos (Ttable y los que necesites) definidos en la clase padre?

394
Programación de Videojuegos / Re: Pseudo Encuesta
« en: Miércoles 19 de Enero de 2005, 00:44 »
¿Estas desarrollando algun videojuego actualmente?

Si, un juego de rol multiusuario masivo (MMORPG), llamados también "MUD" gráficos.

¿que lenguaje usas?

Object Pascal de Delphi

¿usas librerias graficas?¿cuales?¿poque?

Prácticamente DirectDraw, aunque en este punto bien podría usar sólo GDI por la forma en que trabajo con los gráficos para que el juego pueda correr hasta en una pentium clásica con una tarjeta de video de 1MB sin aceleración alguna.

Accedo a las bibliotecas DirectDraw mediante un equivalente de los ".h" de directX para delphi. (http://www.delphi-jedi.org/DelphiGraphics/)

¿para que sistema lo estas programando?

Windows 98, 2000, XP

¿en que fase esta?
Fase beta, aunque es completamente funcional siempre surge alguna idea para implementarla.

¿hace cuanto que lo estas programando?
Hace más de dos años, es un proyecto de tiempos libres.

¿que resolucion usa?
Trabaja en modo ventana y pantalla completa a 640x480x16bits

¿de que se trata?
Es un pequeño mundo medieval fantástico, donde se trata de darle al jugador la mayor libertad en la medida de lo posible (puede trabajar, comerciar, ir de cacería, etc.), no es en absoluto un "juego lineal". En la última versión incluso se pueden conquistar castillos.

¿programas otras cosas que no sean videojuegos?
En mi anterior trabajo (bases de datos), actualmente no estoy programando.

¿estudian algo relacionado?
Soy Ingeniero de Sistemas a nivel licenciatura.

395
C/C++ / Re: Programando En C/c++
« en: Martes 18 de Enero de 2005, 14:00 »
Pero algún método numérico de aproximación (incluidos algoritmos genéticos para casos realmente "feos") se podrá aplicar para grados 5 o 6... o no?

P.D.

Tienen algunos ejemplos de aplicación en la vida real de los grados 5 o 6?

396
C/C++ / Re: ¿Crees Que C++ Ya Paso A La Historia?
« en: Martes 18 de Enero de 2005, 00:26 »
Una cosa es decir que un lenguaje visual te da "todo hecho" y otra que ahorran trabajo redundante. Pero no siempre es más rápido utilizar el arrastrar y soltar en un lenguaje "visual".

Por ejemplo:

Necesitas hacer 50 ventanas de interfaz de usuario para introducir datos en una base de datos. Las 50 interfaces prácticamente son idénticas en funcionamiento, cada interfaz debe evitar que el usuario introduzca datos erróneos (lleno de esos pequeños controles de introducción de datos que ahorran mucho tiempo cuando llenas las ventanas, haciendo todo lo posible para que el usuario tenga que teclear lo menos posible).

¿Como las harías con VB? ¿Las harías visualmente una por una o programarías una ventana especial que se "arme" con los componentes y controles a partir de los campos de base de datos que necesitas llenar?

Con delphi puedes optar por la segunda alternativa (y definitivamente esta hecho para eso) y programar una ventana que se arme con distintos tipos de componentes de acuerdo a los campos que tiene que llenar el usuario y con los controles de introducción de datos necesarios. Para los casos especiales puedes tener una tabla especial en base de datos para armar de forma más específica cada ventana de interfaz. Asi si existe un cambio en base de datos (ej. se agregan campos, o se agregan restricciones para introducir información) la interfaz se adapta a la nueva estructura sin tener que agregar otro componente para un nuevo campo y volver a compilar.

397
Visual Basic 6.0 e inferiores / Re: Identificador De Billetes
« en: Viernes 14 de Enero de 2005, 16:02 »
Sólo decirles Buena suerte.

P.D.
 :huh:
¿Que calidad de imágenes obtienen con la web cam? Por lo menos si es de las "normalitas" la imagen que captura no es suficientemente buena.

Un escanner es la opción racional, lógica ¿no les parece?

398
Virus / Re: Un Virus Es Tan Complicado?
« en: Viernes 14 de Enero de 2005, 03:28 »
Cita de: "buhito"
una vez oi a un tipo decir "si supieran lo facil que es quitar un virus"
supongo que es saber donde esta y borrarlo pero hay mas?

no se me dejo la duda
Como ya dijeron mucho depende de la resistencia que presente el virus.

Personalmente puedo contarles de un tipo de virus que a la vez era "antivirus" de si mismo para evitar ser detectado:

El virus x (no recuerdo el nombre  :unsure: )

Te infectas por via normal: ejecutas el archivo .exe (en este caso el .exe debería ser para win32, el virus no era compatible con otro tipo de .exe infectado).

Cuando ejecutas el archivo infectado de este virus pasa lo siguiente:

1.- El virus comienza su trabajo separandose del archivo infectado y creando un archivo separado ejecutable, también agrega al registro la información para que su ejecutable separado sea cargado como servicio del sistema. Sólo al reiniciar la máquina y cargarse como servicio comenzaba a infectar otros archivos.

2.- El virus limpia el archivo .exe que infecto y que fue ejecutado (aqui actua como antivirus de si mismo y deja un archivo .exe totalmente limpio, evitando ser detectado por sistemas de control de integridad que tenga el .exe). Es importante aclarar que ese virus encriptaba parte del .exe original de forma que un antivirus no podía "curar" los .exe infectados.

3.- En este punto, si borras el .exe separado del virus y quitas del registro la indicación para que sea ejecutado como servicio te deshaces del virus (si es que no tienes otros .exe infectados).

4.- Si no te das cuenta de la infección y empieza a correr el servicio tendrás todos los .exe que ejecutes en adelante infectados y , esta es la parte fea  :lightsabre: ,  habilitara puertos de comunicación con protocolos estilo "tftp"(trivial ftp, sin medidas de seguridad) para abrir las puertas de tu máquina de par en par a otros tipos de virus.

+ El virus encriptaba el archivo .exe de forma que los antivirus no podían "curar" los archivos .exe infectados, no se fusionaba realmente al ".exe". Estoy seguro que todos estarán de acuerdo lo astuto de esta artimaña que al mismo tiempo permite al virus pasar inadvertido por auto-controles de integridad del mismo ejecutable  y también es más fácil de programar por evitar tener que asegurar que el .exe funcione luego de que el virus se adiera al archivo original (en este caso el archivo .exe original no era más que un gran bloque de datos en parte encriptado y adosado al ejecutable).

+ Como el virus re-lanzaba al .exe ya limpio, algunos programas que no eran "compatibles" con esta forma de ser ejecutados (desde otro .exe) no "arrancaban" a la primera, intentabas de nuevo (esta vez el .exe ya esta totalmente limpio) y "milagro" funciona sin problemas.

+ Para desinfectarte del virus sin perder tus .exe prácticamente tienes que ejecutar todos tus archivos .exe infectados, el mismo virus se encarga de "curar" tus ".exe" y finalmente con solo borrar el archivo ejecutable que crea para iniciarse como "servicio" quedas libre de la infección. Claro que estoy seguro que alguien que no sepa de programación le parecería una locura la parte de "ejecutar TODOS los archivos .exe infectados".  :D

399
Programación de Videojuegos / Re: Juego De Rol En Línea
« en: Jueves 13 de Enero de 2005, 20:13 »
Cita de: "EugenioEnko"
Citar
por cierto que lenguaje has usado para programar ese juego

100% seguro que Delphi y no tan seguro pero creo que habra utilizado los componentess de DelphiX que utilizan DirectX.
En realidad use unas biblitecas "interface" (de Jediproject para directX7), que afortunadamente estaban bien comentadas para trabajar con los .dll de directDraw y directSound, sin embargo mucho de lo que pude aprender de directx se lo debo al open source DelphiX, especialmente como usar el lock / unlock y varios detalles adicionales.  ;)

400
C/C++ / Re: ¿Crees Que C++ Ya Paso A La Historia?
« en: Jueves 13 de Enero de 2005, 14:03 »
Muy buena la entrevista.  :D

Páginas: 1 ... 14 15 [16] 17 18 ... 27