|
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 - Ithilien
76
« en: Miércoles 11 de Julio de 2007, 20:21 »
Hola de nuevo Enko. He estado mirando eso bien, y trabajando me di cuenta de que realmente no sirve esto, no? Lo digo porque estamos definiendo eventos para una clase ( en el ejemplo ) potencia, que construimos nosotros. Lo que ocurre es que yo uso los TTimers que ya estan definidos, y que, tienen su evento OnTimer que es del tipo TNotifyEvent, que solo acepta un parámetro que es el Sender. Y necesito pasarle otro parámetro, entiendes?
¿Se puede solucionar el problema? gracias!
77
« en: Martes 10 de Julio de 2007, 21:34 »
perfect! me sirve!!!! Muchísimas gracias. Tu también tienes una falta  : es casting, no casing
78
« en: Martes 10 de Julio de 2007, 19:38 »
Hola, llevo atascado un par de días con el siguiente problema: Tengo que implementar, para un conjunto de TTimers que creo dinámicamente, una función OnTimer diferente. El caso es que he probado a crear una función e intentar asignársela, pero no acepta parámetros y al hacer Timer[i]->OnTimer = (TNotiryEvent) &NuevoOnTimer(cadena);
, con "cadena" como char *, da error de tipos. El error que da concretamente es el siguiente: [C++ Error] Supervisor.cpp(65): E2109 Not an allowed type
Por lo tanto, no sé como hacerlo. Si alguien lo sabe, lo agradecería muchísimo.
79
« en: Martes 10 de Julio de 2007, 16:46 »
Después de haber hecho unas cuantas pruebas, "parece" que se comporta de manera concurrente un conjunto de TTimers. Ahora, mi duda es la siguiente: Para cada uno de ellos he de pasarle un que tiene que procesar. Como puedo definir el evento OnTimer para cada TTimer, de tal manera que cada uno de ellos tenga un puntero a char diferente? ( todo esto de forma dinámica. Está claro que no sé el número de timers necesarios. Va variando ). Muchas gracias
80
« en: Lunes 9 de Julio de 2007, 22:30 »
Hola, quería saber si la forma de funcionar de los TTimer's podría ser de manera concurrente desde este punto de vista:
Si yo declaro un TTimer **t = new TTimer *[10], por ejemplo, y luego para cada puntero TTimer = new TTimer(this), siendo this un TForm, si le pongo un intervalo determinado, por ejemplo, 100 y establezco la propiedad enabled de cada uno de estos 10 timers a true, cada 100 milisegundos se ejecutarían a la vez los 10??
Y otra cuestión relacionada sobre la declaración dinámica: ¿Es posible definir para cada uno de los Timers su método correspondiente que se ejecuta cada 100 mseg.? Lo digo porque me interesa que cada Timer haga una búsqueda en un path diferente ( tendría un timer por cada path ) para resolver el problema que tengo con mi aplicación, y me interesaba que esa búsqueda se hiciera de manera concurrente. De ahí el uso de este tipo de objetos.
También se me ocurrió usar hebras, pero creo que haciendo un while(true) / sleep(100) en cada una de ellas se consume mucho más CPU que usando Timers.
Muchas gracias!
81
« en: Lunes 9 de Julio de 2007, 21:22 »
Ok. Pensé que habría alguna otra forma, porque me gusta más que tenga borde. Gracias!!!
82
« en: Lunes 9 de Julio de 2007, 20:43 »
Hola,
cómo puedo hacer que una aplicación, cuando se haga click sobre un botón se muestren por pantalla una serie de formularios de tal forma que queden fijos ( sin que se puedan mover ) hasta que se pulse otro botón para cerrarlos todos?
Gracias!
83
« en: Lunes 9 de Julio de 2007, 20:22 »
Hola,
me gustaría saber cómo puedo hacer que el usuario dé un path a través de un TDialog, pues los que me ofrece C++ Builder 6 son del estilo de abrir ficheros, imágenes, y de guardar.
Es posible? Muchas gracias!
84
« en: Jueves 5 de Julio de 2007, 22:53 »
Hola, he estado buscando en la ayuda de c++ builder y no veo la manera clara de imprimir un fichero bmp. Mi idea es cargarlo en un TGraphic::Bitmap *bm y luego en un Tprinter *p dibujarlo en su Canvas p->Canvas->Draw(x,y,bm). El caso es que pensé que si quería que se imprimiera en la parte superior izquierda del folio, x e y debían ser 0, pero me da error ( access violation ).
Alguna solución? Muchas gracias!
85
« en: Jueves 5 de Julio de 2007, 22:27 »
Ok sí, pero lo que quiero decir es que se tiene que seguir instalando mysql desde el setup.msi.
86
« en: Jueves 5 de Julio de 2007, 21:30 »
Ok, pero estamos en las mismas, no? es decir, el usuario debe instalar mysql, introducir password de root...no?
87
« en: Jueves 5 de Julio de 2007, 21:17 »
Esque ocurre una cosa. Me gustaría que la instalación de la BD fuera transparente al usuario y "no se diera cuenta que se hace" la primera vez que corre el software. Entonces por eso quería saber si existía alguna manera de integrar la base de datos con mi aplicación de manera "automática"
88
« en: Jueves 5 de Julio de 2007, 21:07 »
Suponiendo que se instale MySQL en el ordenador que sea, el script que tengo que ejecutar se genera de algún sitio o se hace a pelo?
89
« en: Jueves 5 de Julio de 2007, 20:54 »
Hola a todos, soy nuevo en MySQL y tengo el siguiente problema:
Tengo una aplicación hecha en C++ Builder que se conecta a MySQL. El problema es que quiero trasladar la base de datos al ordenador allá donde vaya el programa, y no sé como hacerlo, es decir, no sé si se tiene que copiar la carpeta tal cual y ya está o que.
Alguien puede comentarme los pasos que se han de seguir? Gracias!
90
« en: Jueves 5 de Julio de 2007, 20:51 »
Cierto es, no había caído. Muchísimas gracias!
91
« en: Miércoles 4 de Julio de 2007, 23:59 »
Hola,
gracias por responder. Efectivamente me sirve pero ahora lo que me ocurre es que cuando ejecuto el programa, no aparece ningún valor por defecto, es decir, el campo text ha desaparecido. Si antes tenía una lista de 20 números e inicilamente salía el 1, ahora, tengo que desplegar la lista para que me salga el uno. Se puede solucionar?
Gracias!
92
« en: Miércoles 4 de Julio de 2007, 20:39 »
Hola, quisiera saber si pueder hacerse que el contenido de un ComboBox no pueda modificarse durante la ejecución, esto es, que cuando me apareza un ComboBox en un form con una lista de valores, que esa lista no sea modificable con el teclado, no sé si me explico.
Muchas gracias!
93
« en: Sábado 23 de Junio de 2007, 11:53 »
Muchas gracias. Funcionó a la perfección!!!!!
94
« en: Viernes 22 de Junio de 2007, 18:30 »
Gracias por responder, pero no me sirve, ya que al hacer ( el formulario se llama FormCargar ) FormCargar->ShowModal(); ... while(......){ .... FormCargar->ProgressBar->Position++; ... }//Y resto de código que forma parte del proceso de comprobación de la existencia de un fichero
El formulario se queda parado, sin hacer nada, ya que he estado leyendo que ShowModal() detiene la ejecución o algo así hasta que se produzca un evento o similar... ( corregidme si me equivoco ). Entonces no aparece la barra de progreso avanzando ni nada. A lo mejor no me expliqué con claridad en el primer post. Necesito que se cargue el formulario entero y posteriormente necesito hacer una determinada tarea. Esa tarea no está en el evento OnShow del formulario que cargo, sino que desde otro llamador hago FormCargar->Show(); y luego hago el resto, como se podía ver en el fragmento de código anterior ( es decir, que desde el formulario llamador se hace todo ). He probado a ponerlo en el evento OnShow de FormCargar, pero también me pasa lo mismo, esto es, hasta que no se completa la tarea no aparece el formulario dibujado completamente, y se me ve entero en blanco salvo la ProgressBar, que se ve como avanza... A ver si alguien sabe como arreglar el problemilla.... Saludos!
95
« en: Viernes 22 de Junio de 2007, 01:52 »
Hola,
estoy haciendo una aplicación tal que cuando se pulsa un boton de un formulario determinado, el evento hace que se abra otro y comience a avanzar una progressbar. El problema que tengo es que cuando esto ocurre, la imagen que hay en el formulario que la uso como "fondo" del mismo no me aparece. Tampoco aparecen los TLabel que hay. Entonces mi pregunta es:¿hay alguna forma de que se cargue el formulario completamente y luego comience el cómputo del progressbar?
Muchas gracias.
P.D.:Si sirve de algo, la función que invoca el click en el botón es Form->Show();
96
« en: Viernes 15 de Junio de 2007, 12:09 »
Sirvió a la perfección. Infinitas gracias!!!!!
97
« en: Jueves 14 de Junio de 2007, 18:26 »
Hola,
necesito hacer una función para un botón que me pinte el texto que hay en un texbox sobre una imagen que tengo cargada. El caso es que me lo pinta usando TImage->Canvas->TextOutA(...), lo que pasa es que me aparece el texto con el fondo blanco detras de las letras. Lo que me gustaría es pintar ese texto, pero con el fondo transparente, como ocurre con con los TLabel.
Muchas gracias.
Saludos!
98
« en: Sábado 10 de Marzo de 2007, 12:36 »
Hola,
yo también tengo que usar hilos y he leído ( pero no probado ) que existe la clase TThread así que supongo que se podrá hacer algo...
Saludos!
99
« en: Sábado 10 de Marzo de 2007, 10:47 »
Hola JuanK, muchas gracias por contestar. Efectivamente esa opción sería la correcta. De todas formas me interesaba evitar el usar ficheros, porque lo que quería era guardar en la base de datos la imagen bmp, por lo que al final he utilizado la opción Stream. Eso, junto con código de una página japonesa / china / koreana, me ha servido para resolver el problema. Por si alguien esta interesado también en la conversión de imágenes JPG a BMP, pongo el código para que no tengan que buscar más, que siempre se agradece: //Se carga la imagen TJPEGImage *j = new TJPEGImage; j->LoadFromFile( OpenPictureDialogo->FileName ); j->DIBNeeded(); //Se redimensiona Graphics::TBitmap * bm = new Graphics::TBitmap(); bm->Width = DBImagen->Width; bm->Height = DBImagen->Height; bm->Canvas->StretchDraw(bm->Canvas->ClipRect,j); j->Assign(bm); //Se asigna al campo fotografía de la tabla de la BD Graphics::TBitmap *b = new Graphics::TBitmap(); TMemoryStream *s = new TMemoryStream; b->Assign(j); b->SaveToStream(s); delete b; delete j; MyTablaTrabajador->Edit(); MyTablaTrabajadorfotografia->LoadFromStream(s); MyTablaTrabajador->Post();
Aquí supongo que quiero mostrar la nueva imagen que cargo de un OpenPictureDialog en un DBimage que tengo en el formulario. Se consigue una redimensión de la imagen para que se vea correctamente, ajustándola a las dimensiones del DBImage. Por último, MyTablaTrabajador es un objeto TMyTable muy similar aTTable, cuyo TableName es una tabla que tengo en mi base de datos que se llama trabajador, y que tiene un campo que se llama fotografía. Saludos!!!
100
« en: Miércoles 7 de Marzo de 2007, 11:10 »
Hola,
alguien puede decirme como se realiza ese procedimiento de conversión?
Gracias
|
|
|