• Miércoles 20 de Noviembre de 2024, 10:20

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 ... 4 5 [6] 7 8 ... 27
126
Power Builder / Re: Enter En Lista
« en: Viernes 24 de Noviembre de 2006, 00:53 »
Mmmm tal vez tengas que activar en el form la opción de keypreview, para que TODOS los eventos de ese tipo sean disparados primero en el form y tu codigo tendría que ir en un event handler del form.

127
Pascal / Re: ¿como Realizar Operaciones Con Numeros Grandes?
« en: Martes 21 de Noviembre de 2006, 00:01 »
Las palabras mágicas para google son:
"bcd math"

Binary Coded Decimal Math:

http://en.wikipedia.org/wiki/Binary-coded_decimal

Eso si: NO ES SENCILLO, tal vez buscar una biblioteca de funciones que te sirva de base sea mejor.

128
ASM (Ensamblador) / Re: - Flechas De Direccion-
« en: Miércoles 8 de Noviembre de 2006, 01:15 »
En modo texto podrias cambiar el color de fondo o de las letras escribiendo en la posicion de memoria segmento 0xB800 para adelante. Pintas de un color para seleccionar y de otro para borrar la seleccion.

Más detalles de modos graficos:
http://www.qzx.com/pc-gpe/vgabios.txt

129
C/C++ / Re: Implementacion Ping???
« en: Miércoles 1 de Noviembre de 2006, 01:27 »
Cita de: "su -"
Bueno pero el problema es, que si se usa lo que Enko y lencho dice (lo que puse en Perl tambien...) es que el programa se quedaria esperando a que ping terminara y si el ping de Windoes es igual al de GNU o Unix pues saturaria la memoria o el usuario se cansaria de esperar a que terminara de imprimir el empaquetado de ping.
Creo que si  :scream:  zwd2000 tiene que explicar mejor...
 :blink: ¿Como puede saturar la memoria?
A menos que sea como poner "ping server -t".

130
Java / Re: ¿comparar Arreglos?
« en: Miércoles 1 de Noviembre de 2006, 01:20 »
Supongo que es una comparación simple == o != Pero no tienes claro el criterio por el cual el algoritmo debe decidir si los arreglos son iguales o diferentes. Generalmente se acepta que son iguales sólo si son arreglos del mismo número de elementos y todos sus elementos son iguales.

131
C/C++ / Re: Arboles B+
« en: Martes 31 de Octubre de 2006, 21:32 »
Simplemente puse B+ Tree en wikipedia y encontre esto:

http://en.wikipedia.org/wiki/B%2B_tree

Este link está genial, con un ejemplo en java que muestra gráficamente paso a paso como se hace:
http://www.seanster.com/BplusTree/BplusTree.html

Aqui hay algo de código para c++:
http://en.wikibooks.org/wiki/Transwiki:B%2B_tree

132
Programación de Videojuegos / Re: Se Me Adelantaron ;(
« en: Jueves 19 de Octubre de 2006, 21:57 »
Felicitaciones a  MIGUEL POSADA, ELVER ROJAS, JULIÁN CASTILLO Y ERNESTO GÁLVEZ!,
Realmente espero que todo su esfuerzo y dedicación sea recompensado.

P.D.

Lo triste es ver que la mentalidad del inversionista latino en general sigue siendo tan obsoleta y cerrada.

133
Allegro / Re: Ayuda Para Construir Un Juego
« en: Jueves 19 de Octubre de 2006, 05:40 »
Quita esos break, son para bucles y switch no para el if.

134
Delphi / Re: Elegir Delphi O Vbasic
« en: Viernes 13 de Octubre de 2006, 23:53 »
Si vas a trabajar de forma independiente en software de gestion es más recomendado Delphi (que mejor para trabajar con bases de datos!), aunque no salgan más versiones tiene buenisimos componentes muchos open source que es el punto clave que te ahorra trabajo (y no te encontraras con la desagradable sorpresa que estan "sealed") y claro, los puedes modificar a gusto si fuera necesario.  :rolleyes:

Si trabajarás para alguna empresa entonces es mejor c#, por que suelen escoger este lenguaje. Sin embargo si eliges delphi y luego quieres pasarte a C# no será nada difícil, yo pase de Delphi a C# sin ningún problema en una semana. De hecho es más fácil pasar de delphi a c# que de cualquier otro lenguaje a c# incluyendo visual basic. Esto no es de extrañar por que el diseñador de c# primero diseño la version del object pascal que usa delphi.

Ahora C++ es ampliamente usado en casi todos los otros tipos de software... pero no en software de gestión.

135
Pascal / Re: Buscar Dentro De Strings
« en: Jueves 5 de Octubre de 2006, 22:22 »
Pascal no viene con tanta variedad de funciones de cadenas, pero con las que tiene puedes hacer lo que quieres y lo del bucle es buena idea. De todos modos es más que seguro que exista alguna biblioteca de funciones para cadenas que sería bueno tener a mano para estas cosas.

136
Pascal / Re: Resolver Sudoku
« en: Miércoles 27 de Septiembre de 2006, 01:53 »
Cita de: "Ocean Soul"
Yo uso turbo pascal 7 (Tambien intente con free pascal, pero sucede lo mismo). Todo el TDA Lista me lo dieron en la universidad, igual yo lo verifique denuevo, y para mi esta todo bien...

Que problema!

Aca les dejo el codigo de la lista en el procedimiento que me sale el error, quien sabe, talvez si hay un error....
Código: Text
  1.  
  2.          TipoPosicion=Integer;
  3.   PtrLista=^NodoLista;
  4.  
  5.   NodoLista=Record
  6.       Elem:TelemC;
  7.       sig:PtrLista;
  8.       end;
  9.  
  10.   Lista=Record
  11.                     List:PtrLista;
  12.                     Long:Integer;
  13.                     end;
  14.  
  15. Procedure VaciarLista(Var L:lista);
  16. var
  17. temp:ptrLista;
  18. Begin
  19.         while (L.Long>0) and (L.List<>nil) do
  20.   Begin
  21.     temp:=L.List;
  22.     L.List:=L.List^.sig;
  23.     EliminarElemC(Temp^.Elem);
  24.     dec(L.Long);
  25.     dispose(temp);
  26.   end;
  27.   L.long:=0;
  28.   L.List:=NIL;
  29. end;
  30.  
  31.  
Esta parte no me convence... hace que un algoritmo que debería ser simple sea demasiado complicado de seguir: :P  Imagínate lo que pasaría si el algoritmo sería más complicado...

    temp:=L.List;
    L.List:=L.List^.sig;
...
    dec(L.Long);

Además los nombres que le pusistes a los tipos y variables no son buenos, eventualmente poner esos nombres cortos y no muy descriptivos sólo dan dolor de cabeza. :P

Código: Text
  1.  
  2.          TPosicion=Integer;
  3.   PElementoDeLista=^TElementoDeLista;
  4.  
  5.   TElementoDeLista=Record
  6.       DatosDeElemento:TDatosDeElemento;
  7.       SiguienteElemento:PElementoDeLista;
  8.       end;
  9.  
  10.   TLista=Record
  11.                     PrimerElemento:PElementoDeLista;
  12.                     NumeroDeElementos:Integer;
  13.                     end;
  14.  
  15.  

Puede parecer incomodo pero evita dolores de cabeza con los bugs.


Intenta modificando el codigo para que se parezca a esto:
Código: Text
  1.  
  2. actual := L.PrimerElemento;
  3. while actual<>nil
  4. begin
  5.   siguiente := actual.siguiente;
  6. ...
  7.   borrar "actual"
  8. ...
  9.   actual:=siguiente;
  10. end;
  11.  
  12.  

137
Programación de Videojuegos / Re: Formato De Archivo De Mapas
« en: Miércoles 20 de Septiembre de 2006, 22:18 »
Una forma es tener varias capas en tu mapa, cada capa puede ser básicamente de dos tipos:

1. Cada casilla contiene directamente la información del mapa:
Cada número indica características del mapa. Puedes tener una enumeracion o banderas de estado para describir cada posición. Esto sólo es recomendable para detalles muy abundantes en tu mapa y que ocupan muy poco espacio en memoria, generalmente no más de 4 bytes aprovechando al máximo cada bit.

2. Cada casilla sólo contiene un indice a una lista de objetos:
Cada número es un indice a una tabla de objetos, al acceder a cada objeto podrías obtener su tipo y a partir de ello saber como manejarlo. Esto es más adecuado para detalles no tan frecuentes en el mapa y que además cuya información ocupa una cantidad razonable de memoria. Esta es una buena forma de economizar memoria, por ejemplo puedes utilizar solo 2 bytes para el indice de la tabla de objetos y tener más de 60000 objetos por mapa lo que es más que suficiente para un mapa de un tamaño razonable. Al final de tu archivo de mapa tendrías que guardar la información de cada objeto, indicando el número de objetos, luego (por objeto) cuanto espacio ocupa la información del objeto en cuestión.

3. Sin casillas, acceso directo a la lista de objetos:
Otra forma es prescindir de la tabla de indices y trabajar directamente con la lista de objetos que conforman tu mapa. Es mucho más económico en memoria para mapas muy grandes que no son muy densos en detalles. La desventaja es perder el acceso directo a cada objeto simplemente conociendo su posición. Al momento de desplegar en pantalla estos mapas o al trabajar la lógica del juego tendrás que recorrer esa lista de objetos muy a menudo con mucho impacto en rendimiento en tiempo de CPU, asi que es prácticamente necesario tener la lista de objetos del mapa en una estructura de datos a manera de tabla hash bidimensional. Lo que sería a la vez una optimización del caso 2 que sólo permite un objeto por "casilla". En este caso tendrías una lista de objetos por cada casilla y el numero de casillas debería ser mucho menor para economizar memoria. De todos modos la clave es saber cuanta memoria puedes sacrificar para reducir el consumo de tiempo de CPU.

138
Inteligencia Artificial / Re: Que Debo De Saber?????
« en: Jueves 17 de Agosto de 2006, 20:42 »
Cita de: "Bicholey"
:D  :D  :D  :D


Hola foreros , estoy por tomar un curso de IA y quisiera adelantar un poco uds que ya han llevado cursos de IA diganme cuales son los conocimientos basicos que uno debe de tener en cuenta o que me recomiendan aprender o que debo de leer para ir adelantando.

Este gato agradece su colaboracion...
Repasa tus conocimientos de lógica y matemáticas aplicables a programación.

139
Delphi / Re: Voz A Texto, Sacar Palabras De Audio
« en: Lunes 31 de Julio de 2006, 00:57 »
En otras palabras está bastante verde que encuentres un programa que no sea de pago para lo que quieres hacer...

Pero si realmente lo quieres hacer por ti mismo... tal vez para tu tesis...

Busca papers científicos (en inglés, no hay otra :P) que traten de análisis de señales acústicas, reconocimiento de patrones con redes neuronales, filtrado de señales acústicas para reconocimiento de patrones, seguro que entre el material que encuentres, en alguna parte, como en la bibliografía te de más pistas para buscar lo que quieres, para colocar las palabras más adecuadas en google. (No te desanimes si te encuentras que están llenos de ecuaciones escritas lenguaje matemático avanzado que te parecerán más símbolos mágicos escritos por de algún archimago... siempre es posible aprender más para comprender lo que esta escrito :P )

Ojo que es un tema complicado donde toman parte inteligencia artificial para el reconocimiento de patrones, análisis de señales, también teoría de anatomía del oido y del aparato fonador humano. Mucha información que tienes que recolectar para hacer lo que quieres.

Pero quien sabe tal vez tengas suerte y des con algún código, que de seguro no será nada sencillo, que pueda hacer lo que quieres.

140
Programación de Videojuegos / Re: Propuesta Para Programadores De Bcn
« en: Lunes 31 de Julio de 2006, 00:35 »
¿Estamos hablando de ganar dinero, verdad? No es por desanimar pero un juego 3d, con todas las complicaciones que conlleva (estan hablando de usar un motor 3d, asi que no debe ser nada simple lo que quieren hacer) y además que quiera hacerse UN HUECO en el MERCADO necesita de un capital de por lo menos un cuarto de millón de euros (siendo muy optimistas), que seguro no tienen.  :alien:

141
PHP / Re: Caracteres Especiales
« en: Lunes 17 de Julio de 2006, 20:13 »
Mmmm... programaste alguna vez en C o C++?

142
Delphi / Re: Tmediaplayer No Abre Todo Avi?
« en: Viernes 14 de Julio de 2006, 20:08 »
Si el Tmediaplayer no puede reproducir algún video es o bien por que no está instalado el codec en la máquina o por falta de alguna configuración de MCI, es decir que los codecs nuevos no están mapeados para usarlos, lo que sólo debería ocurrir en windows 98.

143
Delphi / Re: Tutor De Installshield
« en: Viernes 14 de Julio de 2006, 20:05 »
Bueno, installshield es bastante caro y complicado. Podrías optar por una alternativa open source: WIX. Búscalo en el SourceForge:

http://sourceforge.net/projects/wix

Wix te permite crear instaladores para windows en formato .MSI , para los detalles del lenguaje XML que usa puedes revisar la documentación y este tutorial:

http://www.tramontana.co.hu/wix/

144
Delphi / Re: Crecimiento Del Ejecutable Con Archivos Res
« en: Viernes 14 de Julio de 2006, 20:01 »
Bueno, sólo agregar que adicionalmente existe otra ventaja de evitar usar íconos: Ahorras recursos de GDI y no tienes que molestar al sistema operativo para reservar y liberar estos recursos con el riesgo que algún bug en tu código impida liberarlos todos. Es más fácil asegurar que liberamos el bitmap grande que liberar 200 iconos chicos. En windows 98 era casi criminal usar tantos íconos y no era raro ver cuando estos empezaban a cambiar o desaparecer por que tenían límite fijo :P.

145
C# / Re: Aplicacion Cliente Servidor
« en: Jueves 6 de Julio de 2006, 17:39 »
Si tienes más de una interfaz de red (puedes ver esto usando el comando ipconfig desde Inicio ->ejecutar-> cmd -> ipconfig ) puede ser que el primero no tenga conectividad con la máquina cliente:

IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];

Si sólo te aparece una IP entonces es otro problema.

146
C# / Re: Evento Lowmemory
« en: Lunes 26 de Junio de 2006, 23:15 »
:rolleyes:

Seguro que generaba el evento usando uno o una combinacion de estos:

System.Diagnostics.Process
NonpagedSystemMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.NonpagedSystemMemorySize64 instead.
PagedMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.PagedMemorySize64 instead.
PagedSystemMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.PagedSystemMemorySize64 instead.
PeakPagedMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.PeakPagedMemorySize64 instead.
PeakWorkingSet    Message: This property has been deprecated. Please use System.Diagnostics.Process.PeakWorkingSet64 instead.
PeakVirtualMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.PeakVirtualMemorySize64 instead.
PrivateMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.PrivateMemorySize64 instead.
VirtualMemorySize    Message: This property has been deprecated. Please use System.Diagnostics.Process.VirtualMemorySize64 instead.
WorkingSet    Message: This property has been deprecated. Please use System.Diagnostics.Process.WorkingSet64 instead.

147
Pascal / Re: Alguien Sabe Como Enlazar Directx En Pascal
« en: Jueves 8 de Junio de 2006, 20:56 »
Cita de: "Enko"
Citar
P.D. En el trabajo uso C#. tongue.gif
Orientado con gráficos y videojuegos o bien otra cosa?

PD: soy curioso como oso
Definitivamente otra cosa. ;)

148
Pascal / Re: Alguien Sabe Como Enlazar Directx En Pascal
« en: Jueves 8 de Junio de 2006, 06:10 »
Cita de: "juancpalmajr"
olvidate de pascal directamente y agarra el c/c++ con el compilador Visual C++ y la API grafica DirectX.
No es tan simple como decir usa C++ y olvidate de pascal. Cada quien tiene su lenguaje preferido. ;)

Para mí es más rápido hacer las cosas con object pascal de delphi por que me es más cómodo. El C++ para mi es "incomodo" comparado con delphi por que en el mismo tiempo puedo hacer más con delphi que con c++ y tampoco me siento limitado en ninguna forma, además que puedo tomar cualquier ejemplo en c++ y se como traducirlo y usarlo en delphi. :)

P.D. En el trabajo uso C#. :P

149
C/C++ / Re: Destructor. Underscore.
« en: Martes 6 de Junio de 2006, 04:08 »
Cita de: "chimps"
Cita de: "chuidiang"
Hola:

Lo de los underline no sé, supongo que es simplemente un estilo para distinguir privados, asegurarse de que no esté repetido, etc. Que yo sepa no hay ninguna necesidad de hacerlo así, salvo por estilo de codificación.

En cuanto al destructor:

Todas las clases tienen un destructor por defecto. Si la clase no reserva memoria con new (o alloc o cualquier otra variante), no hace falta poner el destructor. El destructor por defecto sabe liberar la clase.

Si la clase hace un new y guarda eso en algún atributo de la clase, hay que hacer un destructor y poner el delete de esa memoria declarada.

Si la clase no reserva memoria, pero abre ficheros u otro tipo de recursos, hay que poner un destructor y cerrar el fichero o lo que sea.

Se bueno.
recien hice el cambio de java a c++ y me quedo una duda...cuando hago delete sobre una instancia de una clase que previamente cree con new, me llama automaticamente al destructor o tengo que hacer los 2 pasos por separado?
Si, efectivamente delete llama al destructor.

Pero para saber exactamente que pasa en multitud de situaciones es mejor utilizar este ejemplo simple, lo tome de algún lado que no recuerdo hace milenios y simplemente lo traduje.

La idea es tener una clase simple que te avise cuando se esta creando una nueva instancia, o cuando se está destruyendo una.

A continuacion parte del ejemplo que corre en visual studio, tenemos el Bert.h, el Bert.cpp y un Consola1.cpp donde está el main y varias operaciones de creación de este objeto de diversas formas. La idea es saber exactamente que pasa cuando haces una u otra operación.

Bert.h
******

#include <string>
using namespace std;

class Bert {
  public:
    Bert();
   Bert(char * un_nombre,char * un_contenido);
    ~Bert();
    void agregar_bert();
   void cambiar_nombre(char * un_nombre);
   string get_string();
  protected:
    string contenido,nombre;
};

Bert.cpp
********

#include "stdafx.h"

Bert::Bert(char *un_nombre, char *un_contenido)
{
  printf("%s: Creando un nuevo Bert (%s)\n",un_nombre, un_contenido);
  nombre = un_nombre;
  contenido = un_contenido;
}

Bert::Bert()
{
  nombre = "Sin Nombre";
  contenido = "Sin Contenido";
  printf("%s: Creando un nuevo Bert (%s)\n",nombre.c_str(), contenido.c_str());
}


Bert::~Bert()
{
  printf("%s: Destruyendo un Bert (%s)\n",nombre.c_str(), contenido.c_str());
}

void Bert::agregar_bert()
{
  contenido += " Bert";
  printf("%s: Agregando Bert (%s)\n",nombre.c_str(), contenido.c_str());
}

void Bert::cambiar_nombre(char * un_nombre)
{
   printf("%s: Cambiando nombre de '%s'\n", un_nombre, nombre.c_str());
   nombre = un_nombre;
}

string Bert::get_string()
{
   return contenido;
};

Consola1.cpp
***********

#include "stdafx.h"

Bert* a()
{
   //Bert b1("b1","Cat");
   //b1.agregar_bert();
   //return b1;
   Bert *un_bert = new Bert("*un_bert","Raton");
   return un_bert;
}

void agregar_2bert(Bert &un_bert)
{
   printf("agregar_2bert(Bert &un_bert)\n");
   un_bert.agregar_bert();
   un_bert.agregar_bert();
}

void agregar_2bert(Bert *un_bert)
{
   printf("agregar_2bert(Bert *un_bert)\n");
   un_bert->agregar_bert();
   un_bert->agregar_bert();
}

void agregar_2bert_casoR(Bert *(&un_bert))
{
   printf("agregar_2bert_casoR(Bert *(&un_bert))\n");
   un_bert->agregar_bert();
   un_bert->agregar_bert();
}


void agregar_2bert_casox(Bert un_bert)
{
   printf("agregar_2bert_casox(Bert un_bert)\n");
   un_bert.agregar_bert();
   un_bert.agregar_bert();
}

int main(int argc, char* argv[])
{
   Bert s3;
   Bert s1("s1","Dog");
   Bert s2 = s1;
   s2.cambiar_nombre("s2");
   agregar_2bert(&s1);
   agregar_2bert(s1);
   //agregar_2bert_casox(s2);
   
   //agregar_2bert_casoR(t);

   Bert *s4=a();
   agregar_2bert(*s4);
   agregar_2bert(s4);

   Bert **t;   
   t=&s4;
   (*t)->agregar_bert();

   printf("El nuevo Bert (*s4): %s\n",s4->get_string().c_str());
   delete s4;
   printf("Valor de s4: %i\n",s4);
   s4=NULL;
   delete s4;

   char * cadena1 = "TES\0T";
   printf("Cadena: %s ,
  • : %i, [1]: %i, [2]: %i, [3]: %i, [4]: %i, [5]: %i\n",cadena1,cadena1[0],cadena1[1],cadena1[2],cadena1[3],cadena1[4],cadena1[5]);


   return 0;
}

150
Visual C++ / Re: Existe Algun Formato Grafico Realmente Libre?
« en: Viernes 2 de Junio de 2006, 21:32 »
El Png de hecho sería el formato que estas buscando realmente libre, un estándar de verdad y mucho mejor que el gif.

Casi todos evitan usar el gif para evitar caer en la trampa de pagar licencias corporativas respaldadas por leyes ridículas de patentes que sólo respaldan los intereses de las corporaciones y dejan indefenso al inventor.

Pero jpeg, png y hasta el bmp los usan libremente. De todas formas puedes crear tu propio formato grafico simple como el bmp.

Más información en:
http://en.wikipedia.org/wiki/PNG

Páginas: 1 ... 4 5 [6] 7 8 ... 27