Alpinador Lt Cmdr

Registrado: 21 Abr 2014Mensajes: 123
|
Publicado: Jue 16 May, 2019 7:34 pm Asunto: Una seccion de Admin con login sencillito |
|
|
Vereis, ...en el programa este para lo de Eventos Second life....somos 2 administradores, y el programa intento que discrimine entre usuarios "publicos" y los "Admins" ya que el interface varia ligeramente cuando un admin esta logueado.......aparecen algunos botones y se permiten modos de edicion de las Rejillas (Grids) etc
entonces, sin complicarme en exceso....puse un boton de "ADMIN Section" y puse lo siguiente
| Código: |
//Globalmente hay una variable bool FLAG_ADMIN que es la que indica
//si hay administrador logueado y USER (int) que indica si es
// usuario 1 o 2
void __fastcall TForm1::Button2Click(TObject *Sender)
{
AnsiString InputString;
InputString = InputBox("Input Box", "Prompt", "Default string");
if(InputString == "12345")
{
FLAG_ADMIN = true;
USER = 1;
Image1->Visible = true;
ShowMessage("SUCCESS...You Now in Admin Mode");
DBEdit1->Visible = true;
DBEdit2->Visible = true;
Label2->Visible = true;
Label3->Visible = true;
DBNavigator1->Visible = true;
DBNavigator2->Visible = true;
DateTimePicker1->Visible = true;
Panel1->Visible = true;
DBGrid1->Options = DBGrid1->Options<<dgEditing; // Adds dbEditing option
DBGrid1->ReadOnly = false;
DBGrid2->ReadOnly = false;
}
if(InputString == "67890")
{
FLAG_ADMIN = true;
USER = 2;
ShowMessage("SUCCESS...You Now in Admin Mode");
DBEdit1->Visible = true;
DBEdit2->Visible = true;
Label2->Visible = true;
Label3->Visible = true;
DBNavigator1->Visible = true;
DBNavigator2->Visible = true;
DateTimePicker1->Visible = true;
Panel1->Visible = true;
DBGrid1->Options = DBGrid1->Options<<dgEditing; // Adds dbEditing option
DBGrid1->ReadOnly = false;
DBGrid2->ReadOnly = false;
}
}
//---------------------------------------------------------------------------
luego tengo un timer que comprueba en un servidor MySQL una tabla con 2 registros con los 2 nombres de usuarios y un boolean (AdminStatus) que indica si esta online logueado o no
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
int cont_admins = 0;
MyTable3->Refresh();
MyTable3->First();
for(int cont = 0; cont <= MyTable3->RecordCount; ++cont)
{
if(MyTable3->FieldByName("AdminStatus")->AsBoolean == 1) cont_admins++;
MyTable3->Next();
}
if(cont_admins == 0) { Image1->Visible = false; Image1->Refresh(); }
else { Image1->Visible = true; Image1->Refresh(); }
//Image1 es la imagen del muñequito que pone Admin Online y que se
//muestra solo cuando hay alguno conectado y logueado en la app
} |
y lo unico que tenemos que hacer cuando haga login o logout.....es actualizar el AdminStatus de la Tabla MySQL de Administradores pero vamos, os dejo algo de tarea a vosotros
Leo, que te parece??? crees que se puede mejorar? |
|