Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-12-2009
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Quitar mensaje

Buenas:

Tengo lo siguiente en mi programa:
Código:
    try
      MysqlConecta.Connect;
    finally
       if MysqlConecta.Connected then
                  txtInfo.Lines.Add('Conexion existosa')
       else txtInfo.Lines.Add('Error en la Conexion.');
      end;
Todo funciona correctamente, pero quiero quitar el mensaje del SQL ERROR, de cuando falla la conexion, no quiero que muestre el mensaje.

Tambien tengo otra duda:

Quiero hacer un FindWindow que me busque todos los programas puestos en una BD. ¿Es posbile?


Gracias.

Última edición por jandrorm fecha: 29-12-2009 a las 13:27:02.
Responder Con Cita
  #2  
Antiguo 29-12-2009
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 20
droguerman Va por buen camino
usa un try ... catch, el mensaje no aparecerá cuando ejecutes el programa sólo cuando lo ejecutes desde delphi
__________________
self.free;
Responder Con Cita
  #3  
Antiguo 29-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Lightbulb

Puedes aumentar otro bloque try pero con except mas o menos asi:
Código Delphi [-]
 try
    try
      MysqlConecta.Connect;//aqui intento conectarme
    except
      {si deseo capturar el error puedo codificar algo aqui,
        pero como no sea ha escrito nada, pues no generará ni se mostrará 
       ningun mensaje de error. 
       }
    end;
 finally
     if MysqlConecta.Connected then
       txtInfo.Lines.Add('Conexion exitosa')
     else txtInfo.Lines.Add('Error en la Conexion.');
 end;
Otra opcion es personalizar el mensaje de error algo asi:
(Esta vez si vamos a escribir codigo en el bloque except )
Código Delphi [-]
try
    try
      MysqlConecta.Connect;//aqui intento conectarme
    except
      txtInfo.Lines.Add('Error en la Conexion.');//<---al ocurrir un error se hace esto 
    end;
 finally
     if MysqlConecta.Connected then
       txtInfo.Lines.Add('Conexion exitosa');
   end;
Los dos fragmentos de codigos anteriores serian semejantes.
Espero que te hubiera ayudado en algo..
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 29-12-2009 a las 17:05:23.
Responder Con Cita
  #4  
Antiguo 29-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow Agregando una tercera opcion

Una tercera opcion seria capturar el error en una variable de tipo Exception, y agregarle lo que quisieramos o personalizar el mensaje de error.
Código Delphi [-]
 try
    try
      MysqlConecta.Connect;//aqui intento conectarme
    except on MyVariable : Exception do//aqui capturo el error 
     begin
      MyVariable.Message:='Error en la Conexion.'+#13+#10+'Detalles -->'+#13+#10+'"'+MyVariable.Message+'"';
      txtInfo.Lines.Add(MyVariable.Message); 
     end;
    end;
 finally
     if MysqlConecta.Connected then
        txtInfo.Lines.Add('Conexion exitosa');
 end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 29-12-2009 a las 17:05:36.
Responder Con Cita
  #5  
Antiguo 29-12-2009
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Hey perfecto añadi tu segunda opcion, jeje ayuda fue poco me lo hicistes todo jeje. Y alguien me puede resolver mi segunda duda? Muchas gracias a los dos por las respuestas.
Responder Con Cita
  #6  
Antiguo 29-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por jandrorm Ver Mensaje
...
Y alguien me puede resolver mi segunda duda?
...
Sobre tu segunda duda esteeee.... no se entiende muy bien lo que deseas hacer,debes ser mas claro o explicate mejor.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #7  
Antiguo 29-12-2009
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Vale me explico algo mejor, yo quiero tener una BD con una lista de programas y luego quiero en el programa, que me leea la BD y busque cada uno de ellos, de forma que si se añade un nuevo programa a esa BD lo buscara tambien, nose si ahora me explique mejor.
Responder Con Cita
  #8  
Antiguo 29-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Question Seguimos en las mismas

Pues amigo.... disculpa pero no acabo de entenderte.
Dices:
Cita:
Empezado por jandrorm Ver Mensaje
yo quiero tener una BD...
...hasta ahi todo bien...pero lo que no me cuadra es ...
Cita:
Empezado por jandrorm Ver Mensaje
...con una lista de programas...
Como es eso?
En la Base de dato vas a guardar una lista de Programa?
En que tipo de columna?,etc,etc ???
Cómo ó que exactamente vas a Guardar en la BD?
Recalco: Por favor se mas detallista y explicate mejor.
Los datos que das no son suficiente.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #9  
Antiguo 29-12-2009
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Yo quiero detectar una serie de programas con mi aplicación en delphi. Se que para detectar un programa abierto es:

Código:
  var
  h: HWND;

h := FindWindow(nil, 'lo que sea');
Vale y para no hacer todos los FindWindow y aparte por comodidad. Quiero que al añadir uno a la BD o al editarlo el programa me lo busque. Aclarar que si detecta alguno de los programas el resultado sera el mismo para todos y si no los detecta también.

Entonces en vez de hacer:

Código:
h := FindWindow(nil, 'programa1');
h := FindWindow(nil, 'programa2');
h := FindWindow(nil, 'programa3');
h := FindWindow(nil, 'programa4);
Entonces para ahorrarme el código anterior y no tener que modificar el programa cada vez que añada uno nuevo me gustaría poder cojer el nombre del programa de la BD y que el delphi lo busque en el que esta utilizando la aplicacion.

Haber yo en la BD voy a almacenar una serie de nombres de programas:

Código:
CREATE TABLE `programas` (
  `id` int(9) unsigned NOT NULL auto_increment,
  `nombreprograma` varchar(16) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Espero haberte aclarado un poco mas la idea de lo que quiero hacer y no haberte liado mas jeje, por cierto muchas gracias por tu empeño en ayudarme.
Responder Con Cita
  #10  
Antiguo 29-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow Ahora si.....

Creo que por fin te hiciste entender...(aunque me queda ciertas dudas)..pero
Veamos....
Segun lo que te entiendo.. tendrias que hacerte un procedure o function que haga el FindWindow mas o menos asi:
Código Delphi [-]
function Detectar_Programa(const Nombre: String): Boolean;
begin
 Result:=FindWindow(nil,PChar(Nombre))<>0;
end;
Esa Funcion te verifica si un programa esta en ejecusion.
ahora para saber todos los programas que estan corriendo y que tengo registrado en mi base de dato, pues no me queda mas que comparar uno a uno, pero usando la anterior Funcion, mas o menos asi:
(En el evento OnClick de un Boton)
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var aux:String;
begin
 Memo1.Lines.Clear;//voy a usar un memo para mostrar los programas que estan ejecutandose
 MyQuery.SQL.Text:='select nombreprograma from programas;'//mi Consulta SQL
 MyQuery.Open;//ejecuto la consulta
   while not MyQuery.Eof  do // recorro el dataset para ir comprobando uno a uno los nombres
   begin
      aux:=MyQuery.Fields[0].AsString;//obtengo el nombre del programa que esta en el registro actual
        if Detectar_Programa(aux) then //verifico si dicho programa esta corriendo
           Memo1.Lines.Add(aux);//lo adiciono aun memo para mirarlo
      MyQuery.Next;//continuo con el proximo
   end;
end;
Espero te haya sido de utilidad.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #11  
Antiguo 30-12-2009
jandrorm jandrorm is offline
Miembro
 
Registrado: dic 2009
Posts: 24
Poder: 0
jandrorm Va por buen camino
Hey perfecto muchisimas gracias de verdad.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como quitar mensaje de Windows? vicvil API de Windows 5 31-07-2007 17:08:55
Quitar mensaje: "Discard changes this record?" erick78 Conexión con bases de datos 0 07-12-2005 00:44:08
como quitar el mensaje "cable de red está desconectado" RONPABLO Windows 2 17-11-2005 23:26:42
Como quitar mensaje en Word Albano Varios 0 11-01-2005 22:12:22
Como puedo quitar el mensaje de conexion al interbase malone Firebird e Interbase 1 12-06-2003 17:58:33


La franja horaria es GMT +2. Ahora son las 14:26:17.


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
Copyright 1996-2007 Club Delphi