Mensaje    Asunto: Una seccion de Admin con login sencillito Responder citando

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?