Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Statusbar (https://www.clubdelphi.com/foros/showthread.php?t=77621)

gianfranco_tont 12-02-2012 16:01:01

Statusbar
 
Tengo un statusbar en cada uno de los from, quisiera una idea de como pasa el usuario que acceso al sistema, la hora actual entre los varios from.

Caral 12-02-2012 16:22:57

Hola
Tienes que obtener el dato, de donde quieras, por ejemplo de un adoquery, lo puedes pasar a una variable global para que se pueda ver en los forms que te interese y luego pasarlo al statusbar.
Código Delphi [-]
StatusBar1.Panels[0].Text := Nombre;
Saludos

Casimiro Notevi 12-02-2012 16:23:31

Por favor, recuerda poner títulos descriptivos a tus preguntas, gracias :)
guía de estilo, gracias por tu colaboración.

gianfranco_tont 12-02-2012 17:14:54

Ok, el query se ejecuta solo al inicio del programa, como hago esto publico para usarlo en todos los from. No entiendo lo que enviaste.

Caral 12-02-2012 17:18:30

Hola
Al principio de los form hay una parte que dice :
Código Delphi [-]
private
    { Private declarations }
  public
    { Public declarations }
  end;
Si quieres una variable global la pones ahi, por ejemplo:
Código Delphi [-]
private
    { Private declarations }
  public 
    Var nombre: String;
    { Public declarations }
  end;
Ya sera publica, con solo poner el uses de esa unit se podra ver en donde la necesites.
Ahora, si usas un datamodule que se iniciara al comienzo del programa seria un buen sitio para poner esa variable.
Saludos

gianfranco_tont 12-02-2012 17:30:26

Ok puede enviarme la sentencia completa?
En que form coloco la variable publica?
Donde le indico que la variable nombre es igual al nombre del usuario que inicio la secion?
Y finalmente como llamo el nombre para el estatus bar?

Caral 12-02-2012 17:38:32

Hola
1- En el datamodule:
Código Delphi [-]
var
  DataModule1: TDataModule1;
  Usuario, Nombre: string;
2- En el form login:
Código Delphi [-]
If AdoQuery1Clave.AsString = Edit2.Text then
        Begin
           LoginOk := True;
           Usuario := AdoQuery1CodUsuario.AsString;
           Nombre := AdoQuery1Nombre.AsString;
           AdoQuery1.Active := False;
           Close;
        end
3- En el form login:
Código Delphi [-]
procedure TFLogin.FormCreate(Sender: TObject);
begin
   Usuario := '';
   Nombre := '';
  end;
4- En el form que se necesite:
Código Delphi [-]
If not LoginOK then Close;
   StatusBar1.Panels[0].Text := Nombre;
Saludos

gianfranco_tont 12-02-2012 18:25:11

Me da un error a colocar el loginOk := true debajo del beguin

gianfranco_tont 12-02-2012 18:33:20

Lo siento el error fue mio el nombre de mi from es distinto.


La franja horaria es GMT +2. Ahora son las 19:14:28.

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