Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mensajes multiples (https://www.clubdelphi.com/foros/showthread.php?t=42147)

mjjj 04-04-2007 23:58:26

Mensajes multiples
 
Hola hola....

tengo el siguiente drama...

tengo un programa que genera mensajes, practicamente instantanos, todo bien hasta que se generan mas de 2... desde que se acumulan 3 mensajes, solo me aparece uno solo....

hay una opcion para el numero de mensajes (showmessage) maximos arrojasdos a pantalla....

espero su respuesta...

gracias

dec 05-04-2007 00:08:58

Hola,

Lo raro es que pudieras (normalmente) mostrar más de dos mensajes, puesto que estos (cuando se muestran con "ShowMessage") lo hacen de forma "modal", así que hasta que no se cierre el primer mensaje no podría mostrarse otro...

Tal vez podrías plantearte mostrar los mensajes de otro modo. Puedes utilizar un "TListBox" o un "TListView", por ejemplo, de modo que puedas añadir ahí todos los mensajes que te sean menester.

Otra posible solución pasaría por usar un formulario que crearas tú mismo y dentro del que podrías mostrar el mensaje que estimaras oportuno. Este formulario no lo mostrarías de forma "modal" sino normalmente... de modo que también podrías mostrar tantos formularios/mensajes como te fueran precisos.

Pero tal vez podrías explicar un poco más de qué va el asunto. Lo digo porque a mí, personalmente, no me haría gracia una aplicación que me llenara la pantalla de mensajes... aunque quizá sea cuestión de gustos, qué sé yo. Por otro lado, no me disgusta ver en una aplicación una lista en donde se acumulen varios mensajes a modo de "log"... tal como hacen aplicaciones como los grabadores de CD's, ya sabes:

Código:

13:00:01 - Preparando el disco...
13:00:01 - Creando caché de archivos...
13:00:10 - Comienza la grabación...


Lepe 05-04-2007 12:51:33

Lo más rápido de implementar, es un Form con un Memo alineado alClient, fuente Courier New y una rutina llamada
Código Delphi [-]
Log(mensaje:string;const IncluirFecha:Boolean = true);

Cuando quieras guardarlo llamas al SAveTofile del memo y listo.

Se puede añadir un par de rutinas más, para que el nombre del archivo sea el nombre de tu aplicación con extensión .log, que al abrir el form mire si existe ese archivo y lo cargue.

Quizás un par de botones para borrar el log, seleccionar todo o cosas así.

Cuando empieces una aplicación nueva, solo tienes que importar ese Form ya hecho y listo, a funcionar. (yo lo uso muy a menudo para depurar la aplicación cuando el watch de delphi no me sirve o son bucles).

Saludos

mjjj 05-04-2007 18:34:10

vale... dema que me serviria algo asi.... porfa trata de ser un poco mas especifico en cuanto al codigo... soy principiante y no entiendo nada de lo que escribiste....

gracias

seoane 05-04-2007 18:37:56

Para crear un fichero de log puedes usar este truco

mjjj 05-04-2007 19:10:54

bkn con el codigo... pero como llamo al procedimiento Log(mensaje: string)

con un boton, en algun evento especial de algun objeto.... perdon por preguntar tanto... es que estoy empezando a meterme en esto...

gracias

dec 06-04-2007 02:19:13

Hola,

Creo que estás queriendo decir cuándo llamas al procedimiento "Log", y no cómo, puesto que esto sabes ya hacerlo. Ahora bien, ¿cuándo llamas al procedimiento "Log"? Pues, obviamente, cuando te sea necesario...

Iniciamos este Hilo suponiendo que necesitabas mostrar varios mensajes al usuario de tu aplicación, pues bien, en el mismo lugar en que antes mostrabas un mensaje, podrías llamar al procedimiento "Log".

Haz alguna prueba y en caso de dudas coméntalas por aquí. :)

mjjj 09-04-2007 17:19:34

... hola a todos... aer, corrijanme si estoy equivocado... un procedimiento log es un mensaje, o no?? ... el cual se llama a traves de showmessage... eso es lo que entiendo yo.

Me linkearon a un ejemplo de como haccer un LOG, el programa corre, pero no aparece nada en pantalla... como hago correr esa rutina??


gracias....

seoane 09-04-2007 17:30:57

Hola mjjj, creo que hay una pequeña confusión. Primero preguntaste como mostrar mas de un mensaje a la vez, en principio eso no es posible utilizando ShowMessage, ya que este se muestra de forma modal y bloquea el thread que lo llama hasta que el mensaje se cierra. Si tu aplicación tiene mas de un thread, la cosa cambia, pero en ese caso no es muy recomendable que varios thread muestren mensajes a la vez.

Por todo lo anterior, te recomendaron que en vez de mostrar mensajes utilizaras un memo, o incluso que escribieras los mensajes en un archivo de texto en vez de mostrarlos. En ese punto es donde intervine yo para recomendarte el truco del log, que lo que hace es guardar los mensajes en un archivos de texto, sin mostrar nada. Pero ahora veo que no es lo que tu estabas buscando.


La franja horaria es GMT +2. Ahora son las 16:37:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi