desarrollosconsejeria/adtos-server/1.7-0/adtos/grupos.pas @ 23a384b9
54e95a47 | Elisa | {
|
|
23a384b9 | Elisa | Adtos 1.0 Software de gestión de Aulas Tecnológicas
|
|
Copyright (C) 2011-2012, Consejería de Educación,Junta de Extremadura
|
|||
54e95a47 | Elisa | Programación: Manuel Narváez Martínez <mnarvaez007@gmail.com>
|
|
Diseño gráfico: Ana María Zamora Moreno
|
|||
Desarrollado con Lazarus 0.9.26
|
|||
This program is free software; you can redistribute it and/or modify
|
|||
it under the terms of the GNU General Public License as published by
|
|||
the Free Software Foundation; either version 2 of the License, or
|
|||
(at your option) any later version.
|
|||
This program is distributed in the hope that it will be useful,
|
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
GNU General Public License for more details.
|
|||
You should have received a copy of the GNU General Public License
|
|||
along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||
}
|
|||
23a384b9 | Elisa | unit grupos;
|
|
54e95a47 | Elisa | ||
{$mode objfpc}{$H+}
|
|||
interface
|
|||
uses
|
|||
Math,inicio,globales,globales1,textomensajes,Classes, SysUtils, LResources,
|
|||
Forms, Controls, Graphics, Dialogs, ExtCtrls, ComCtrls, StdCtrls;
|
|||
type
|
|||
23a384b9 | Elisa | { TfrmGrupos }
|
|
54e95a47 | Elisa | ||
23a384b9 | Elisa | TfrmGrupos = class(TForm)
|
|
54e95a47 | Elisa | btnAnadirCurso: TButton;
|
|
btnAnadirGrupo: TButton;
|
|||
btnEliminarCurso: TButton;
|
|||
btnEliminarGrupo: TButton;
|
|||
btnLimpiarCurso: TButton;
|
|||
btnLimpiarGrupo: TButton;
|
|||
btnVolver: TButton;
|
|||
btnModificarCurso: TButton;
|
|||
btnModificarGrupo: TButton;
|
|||
edGrupo: TEdit;
|
|||
edCurso: TEdit;
|
|||
Image1: TImage;
|
|||
imlIcoDis: TImageList;
|
|||
Label3: TLabel;
|
|||
Label4: TLabel;
|
|||
Label49: TLabel;
|
|||
Label50: TLabel;
|
|||
Label51: TLabel;
|
|||
Label52: TLabel;
|
|||
Label53: TLabel;
|
|||
lblCurso: TLabel;
|
|||
lstCursos: TListBox;
|
|||
lstGrupos: TListBox;
|
|||
procedure btnAnadirCursoClick(Sender: TObject);
|
|||
procedure btnAnadirGrupoClick(Sender: TObject);
|
|||
procedure btnEliminarCursoClick(Sender: TObject);
|
|||
procedure btnEliminarGrupoClick(Sender: TObject);
|
|||
procedure btnLimpiarCursoClick(Sender: TObject);
|
|||
procedure btnLimpiarGrupoClick(Sender: TObject);
|
|||
procedure btnModificarCursoClick(Sender: TObject);
|
|||
procedure btnModificarGrupoClick(Sender: TObject);
|
|||
procedure btnVolverClick(Sender: TObject);
|
|||
procedure FormActivate(Sender: TObject);
|
|||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
|||
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
|
|||
procedure FormCreate(Sender: TObject);
|
|||
procedure FormShow(Sender: TObject);
|
|||
procedure lstCursosClick(Sender: TObject);
|
|||
procedure lstGruposClick(Sender: TObject);
|
|||
procedure OrdenataDragDrop(Sender, Source: TObject; X, Y: Integer);
|
|||
procedure OrdenataDragOver(Sender, Source: TObject; X, Y: Integer;
|
|||
State: TDragState; var Accept: Boolean);
|
|||
procedure OrdenataMouseDown(Sender: TObject; Button: TMouseButton;
|
|||
Shift: TShiftState; X, Y: Integer);
|
|||
private
|
|||
procedure AnadirCurso;
|
|||
procedure AnadirGrupo(cur:integer);
|
|||
procedure CargarListaCursos();
|
|||
procedure CargarListaGrupos(aul: integer);
|
|||
procedure CargarListaGrupos();
|
|||
procedure CargarOrdenatas();
|
|||
procedure chkEquipoGrupoclick(sender: Tobject);
|
|||
procedure edalu1keypres(Sender: TObject; var Key: char);
|
|||
procedure EliminarCurso(cur: integer);
|
|||
procedure EliminarGrupo();
|
|||
procedure LimpiarCamposAlumnos();
|
|||
procedure LimpiarCamposGrupo();
|
|||
procedure ModificarCurso;
|
|||
procedure ModificarGrupo;
|
|||
procedure MostrarPersonal();
|
|||
23a384b9 | Elisa | procedure MostrarServidoresAulas();
|
|
54e95a47 | Elisa | procedure OrdenataMouseEnter(Sender: TObject);
|
|
procedure recolocaComponetesMovido(numOrd: integer);
|
|||
procedure restaurarAula();
|
|||
function ValidarDatosCurso(): boolean;
|
|||
function ValidarDatosGrupo(cur: integer): boolean;
|
|||
{ private declarations }
|
|||
public
|
|||
{ public declarations }
|
|||
end;
|
|||
var
|
|||
23a384b9 | Elisa | frmGrupos: TfrmGrupos;
|
|
54e95a47 | Elisa | Ordenata:Array of TImage;
|
|
edAlu1:Array of TLabel;
|
|||
chkEquipoGrupo:Array of TCheckBox;
|
|||
PuntoO,fPuntoD:TPoint;
|
|||
numOrdO,numOrdD:integer;
|
|||
implementation
|
|||
23a384b9 | Elisa | { TfrmGrupos }
|
|
54e95a47 | Elisa | const
|
|
W_ORDENADOR:integer=63;H_ORDENADOR:integer=58;
|
|||
var
|
|||
fcurso,fgrupo:integer;
|
|||
23a384b9 | Elisa | ||
procedure TfrmGrupos.EliminarGrupo();
|
|||
54e95a47 | Elisa | var
|
|
grupo:string;
|
|||
i:integer;
|
|||
grups:array of string;
|
|||
begin
|
|||
if (lstgrupos.Items.count=0) or (lstgrupos.ItemIndex=-1) then
|
|||
begin
|
|||
mensaje(MEN_SELECCIONE_GRUPO, aceptar);
|
|||
exit;
|
|||
end;
|
|||
g_Cursos[fcurso].numerogrupos:=g_Cursos[fcurso].numerogrupos-1;
|
|||
SetLength(grups, g_Cursos[fcurso].numerogrupos);
|
|||
lstgrupos.Items.Delete(fgrupo);
|
|||
grupo:=lstgrupos.Items[lstgrupos.ItemIndex];
|
|||
for i:=0 to g_Cursos[fcurso].numerogrupos-1 do
|
|||
g_Cursos[fcurso].nombregrupos[i]:=lstGrupos.items[i];
|
|||
for i:=0 to g_num_ord_aula do
|
|||
if g_Cursos[fcurso].cgrupos[i] = fgrupo then
|
|||
g_Cursos[fcurso].cgrupos[i]:=-2;
|
|||
fgrupo:=-1;
|
|||
mensaje('el grupo '+ grupo +' ha sido eliminado',aceptar);
|
|||
btneliminarGrupo.Enabled:=false;
|
|||
btnModificarGrupo.Enabled:=false;
|
|||
LimpiarCamposGrupo();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.ModificarGrupo;
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
if (lstgrupos.Items.count=0) or (lstgrupos.ItemIndex=-1) then
|
|||
begin
|
|||
mensaje(MEN_GRUPO_MODIFICAR, aceptar);
|
|||
exit;
|
|||
end;
|
|||
g_Cursos[fcurso].nombregrupos[lstGrupos.ItemIndex]:=edGrupo.text;
|
|||
lstGrupos.Items[lstGrupos.ItemIndex]:=edGrupo.text;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
if g_Cursos[fcurso].cgrupos[i] =fgrupo then
|
|||
g_Cursos[fcurso].cgrupos[i]:=-2;
|
|||
if chkEquipoGrupo[i].Checked then
|
|||
g_Cursos[fcurso].cgrupos[i]:=fgrupo;
|
|||
end;
|
|||
mensaje(MEN_GRUPO_MODIFICADO, aceptar);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.LimpiarCamposGrupo();
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
lstgrupos.itemindex:=-1;
|
|||
edgrupo.Text:='';
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
chkEquipoGrupo[i].Checked:=false;
|
|||
end;
|
|||
23a384b9 | Elisa | Function TfrmGrupos.ValidarDatosGrupo(cur:integer):boolean;
|
|
54e95a47 | Elisa | var
|
|
j,i:integer;
|
|||
TextoMensaje:string;
|
|||
begin
|
|||
TextoMensaje:='';
|
|||
if length(edgrupo.Text)<1 then
|
|||
TextoMensaje:=MEN_INDICA_NOMBRE
|
|||
else if length(lblcurso.Caption)<1 then
|
|||
TextoMensaje:=MEN_INDICA_AULA
|
|||
else
|
|||
begin
|
|||
j:=0;
|
|||
for i:= 0 to g_num_ord_aula-1 do
|
|||
if chkEquipoGrupo[i].Checked then inc(j);
|
|||
if j=0 then
|
|||
textomensaje:=MEN_SELECCIONA_EQUIPO;
|
|||
for i:=0 to g_Cursos[cur].numerogrupos -1 do
|
|||
begin
|
|||
if g_Cursos[cur].nombregrupos[i]= edGrupo.Text then
|
|||
textomensaje:=MEN_GRUPO_EXISTE;
|
|||
end;
|
|||
end;
|
|||
result:=TextoMensaje='';
|
|||
if not result then
|
|||
mensaje(TextoMensaje,aceptar);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.AnadirGrupo(cur:integer);
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
grup:integer;
|
|||
begin
|
|||
grup:=g_Cursos[cur].numerogrupos;
|
|||
g_Cursos[cur].numerogrupos:=g_Cursos[cur].numerogrupos+1;
|
|||
setlength(g_Cursos[cur].nombregrupos,g_Cursos[cur].numerogrupos);
|
|||
g_Cursos[cur].nombregrupos[grup]:=edGrupo.text;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
if chkEquipoGrupo[i].Checked then
|
|||
g_Cursos[cur].cgrupos[i]:=grup;
|
|||
CargarListaGrupos(cur);
|
|||
LimpiarCamposGrupo();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.EliminarCurso(cur:integer);
|
|
54e95a47 | Elisa | var
|
|
curso:string;
|
|||
miscursos:array of Tcursos;
|
|||
i,j,z:integer;
|
|||
begin
|
|||
setlength(miscursos, g_NumCursos-1);
|
|||
j:=0;
|
|||
for i:=0 to g_NumCursos-1 do
|
|||
begin
|
|||
if i<>cur then
|
|||
begin
|
|||
miscursos[j].nombre:= g_Cursos[i].nombre;
|
|||
miscursos[j].numeroalumnos:=g_Cursos[i].numeroalumnos;
|
|||
miscursos[j].numerogrupos:= g_Cursos[i].numerogrupos;
|
|||
setlength(miscursos[j].nombrealumnos,miscursos[j].numeroalumnos);
|
|||
SetLength(miscursos[j].posicionequipo,miscursos[j].numeroalumnos);
|
|||
setlength(miscursos[j].nombregrupos,miscursos[j].numerogrupos);
|
|||
setlength(miscursos[j].cgrupos,miscursos[j].numeroalumnos);
|
|||
for z:=0 to miscursos[j].numeroalumnos -1 do
|
|||
begin
|
|||
miscursos[j].nombrealumnos[z]:=g_Cursos[i].nombrealumnos[z];
|
|||
miscursos[j].posicionequipo[z].x:=g_Cursos[i].posicionequipo[z].x;
|
|||
miscursos[j].posicionequipo[z].y:=g_Cursos[i].posicionequipo[z].y;
|
|||
miscursos[j].cgrupos[z]:=g_Cursos[i].cgrupos[z]
|
|||
end;
|
|||
for z:=0 to miscursos[j].numerogrupos -1 do
|
|||
begin
|
|||
miscursos[j].nombregrupos[z]:=g_Cursos[i].nombregrupos[z];
|
|||
end;
|
|||
j:=j+1;
|
|||
end;
|
|||
end;
|
|||
fcurso:=-1;
|
|||
g_NumCursos:=g_NumCursos-1;
|
|||
SetLength(g_Cursos,g_NumCursos);
|
|||
g_Cursos:=miscursos;
|
|||
curso:=lstCursos.Items[lstCursos.itemindex];
|
|||
lstCursos.Items.Delete(lstCursos.itemindex);
|
|||
mensaje('el curso '+ curso +' ha sido eliminado',aceptar);
|
|||
btneliminarCurso.Enabled:=false;
|
|||
btnModificarCurso.Enabled:=false;
|
|||
cargarlistaCursos();
|
|||
LimpiarCamposAlumnos();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.ModificarCurso;
|
|
54e95a47 | Elisa | var
|
|
curso:string;
|
|||
i:integer;
|
|||
begin
|
|||
if (lstCursos.Items.count=0) or (lstCursos.ItemIndex=-1) then exit;
|
|||
curso:=edCurso.text;
|
|||
if mensaje('¿Desea modificar el curso ' +curso+'?',sino)=2 then exit;
|
|||
lstCursos.Items[fcurso]:=curso;
|
|||
g_Cursos[fcurso].nombre:=curso;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
g_Cursos[fcurso].nombrealumnos[i]:=edAlu1[i].Caption;
|
|||
g_Cursos[fcurso].posicionequipo[i].X:=Ordenata[i].Left;
|
|||
g_Cursos[fcurso].posicionequipo[i].y:=Ordenata[i].top;
|
|||
end;
|
|||
mensaje('El curso ' + edcurso.Caption + ' ha sido modificado correctamente',aceptar);
|
|||
end;
|
|||
23a384b9 | Elisa | Function TfrmGrupos.ValidarDatosCurso():boolean;
|
|
54e95a47 | Elisa | var
|
|
TextoMensaje:string;
|
|||
begin
|
|||
if length(trim(edCurso.text)) <1 then
|
|||
TextoMensaje:=MEN_ELIGE_NOMBRE
|
|||
else
|
|||
TextoMensaje:='';
|
|||
result:=TextoMensaje='';
|
|||
if not result then
|
|||
mensaje(TextoMensaje,aceptar);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.LimpiarCamposAlumnos();
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
lstcursos.itemindex:=-1;
|
|||
lstgrupos.Clear;
|
|||
edgrupo.Text:='';
|
|||
edCurso.text:='';
|
|||
lblcurso.caption:='';
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
chkEquipoGrupo[i].Checked:=false;
|
|||
//edalu1[i].Caption:='';
|
|||
end;
|
|||
btnEliminarCurso.Enabled:=false;
|
|||
btnEliminargrupo.Enabled:=false;
|
|||
btnModificargrupo.Enabled:=false;
|
|||
btnModificarcurso.Enabled:=false;
|
|||
restaurarAula();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.AnadirCurso;
|
|
54e95a47 | Elisa | var
|
|
nc,i:integer;
|
|||
begin
|
|||
g_NumCursos:=g_NumCursos+1;
|
|||
SetLength(g_Cursos,g_NumCursos);
|
|||
nc:=g_NumCursos-1;
|
|||
g_Cursos[nc].nombre:=edCurso.text;
|
|||
g_Cursos[nc].numeroalumnos:=g_num_ord_aula;
|
|||
g_Cursos[nc].numerogrupos:=0;
|
|||
SetLength(g_Cursos[nc].nombrealumnos,g_num_ord_aula);
|
|||
SetLength(g_Cursos[nc].posicionequipo, g_num_ord_aula);
|
|||
SetLength(g_Cursos[nc].cgrupos,g_num_ord_aula);
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
g_Cursos[nc].nombrealumnos[i]:=edAlu1[i].Caption;
|
|||
g_Cursos[nc].posicionequipo[i].X:=Ordenata[i].Left;
|
|||
g_Cursos[nc].posicionequipo[i].y:=Ordenata[i].top;
|
|||
g_Cursos[nc].cgrupos[i]:=-2;
|
|||
end;
|
|||
cargarlistaCursos();
|
|||
LimpiarCamposAlumnos();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.CargarListaCursos();
|
|
54e95a47 | Elisa | var i:integer;
|
|
begin
|
|||
if g_NumCursos=0 then exit;;
|
|||
lstCursos.Clear;
|
|||
for i:=0 to g_NumCursos-1 do
|
|||
lstcursos.Items.Add(g_Cursos[i].nombre);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.CargarListaGrupos();
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
lstgrupos.Clear;
|
|||
if g_Cursos[fcurso].numerogrupos=0 then exit;
|
|||
for i:=0 to g_Cursos[fcurso].numerogrupos-1 do
|
|||
lstgrupos.Items.Add(g_Cursos[fcurso].nombregrupos[i]);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.chkEquipoGrupoclick(sender:Tobject);
|
|
54e95a47 | Elisa | var
|
|
inumima,inumord:integer;
|
|||
begin
|
|||
inumord:=(sender as TCheckBox).tag;
|
|||
inumima:=ifthen((sender as TCheckBox).Checked,1,0);
|
|||
imlIcoDis.GetBitmap(inumima,Ordenata[inumord].Picture.Bitmap)
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.MostrarServidoresAulas();
|
|
54e95a47 | Elisa | var
|
|
tor,wo,ho,lb,tb :integer;
|
|||
23a384b9 | Elisa | lor,sepl,spt,i,numsep,numfilas:integer;
|
|
posi3,posi2,cambioi:integer;
|
|||
54e95a47 | Elisa | begin
|
|
wo:=g_Distribuciones[g_TipoAula].ancho;
|
|||
ho:=g_Distribuciones[g_TipoAula].alto;
|
|||
tor:=g_Distribuciones[g_TipoAula].altura;
|
|||
numfilas:=(g_num_ord_pantalla div g_Distribuciones[g_TipoAula].numColumnas);
|
|||
numsep:=numfilas -1;
|
|||
spt:=(tor-(numfilas*ho)) div numsep;
|
|||
if g_tipoAula>= 7 then spt:=spt-10;
|
|||
for i:=g_num_ord_pantalla-1 downto 0 do
|
|||
begin
|
|||
tb:= i div g_Distribuciones[g_TipoAula].numColumnas;
|
|||
tb:= g_Distribuciones[g_TipoAula].altura-tb*(g_Distribuciones[g_TipoAula].alto+spt);
|
|||
lb:= i mod g_Distribuciones[g_TipoAula].numColumnas;
|
|||
lb:= g_Distribuciones[g_TipoAula].izquierda+ g_Distribuciones[g_TipoAula].sepH[lb];
|
|||
Ordenata[i].SetBounds(lb,tb,wo,ho);
|
|||
Ordenata[i].visible:=true;
|
|||
end;
|
|||
for i:=g_num_ord_aula to g_num_ord_pantalla-1 do
|
|||
begin
|
|||
Ordenata[i].visible:=false;
|
|||
end
|
|||
end;
|
|||
23a384b9 | Elisa | Procedure TfrmGrupos.MostrarPersonal();
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
tamanoMonitorPersonal(g_ColumnasPersonal);
|
|||
for i:=0 to high(Ordenata) do
|
|||
Ordenata[i].visible:=false;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
Ordenata[i].SetBounds(equipoalumno[i].L,equipoalumno[i].T+10,g_anchoMonitorPersonal,g_altoMonitorPersonal);
|
|||
Ordenata[i].Visible:=true;
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.OrdenataMouseEnter(Sender: TObject);
|
|
54e95a47 | Elisa | var
|
|
numeord:integer;
|
|||
begin
|
|||
numeord:=(sender as Timage).tag;
|
|||
(sender as Timage).ShowHint:=(Trim(equipoAlumno[numeord].mihost)<>'');
|
|||
if (g_mostrarNombreUsuario) then
|
|||
begin
|
|||
if (equipoAlumno[numeord].EstadoActivadEquipo=eUsuario) then
|
|||
(sender as Timage).Hint:='Usuario: ' +equipoAlumno[numeord].UsuarioActivo
|
|||
else
|
|||
(sender as Timage).Hint:='Equipo: '+equipoAlumno[numeord].mihost;
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | Procedure TfrmGrupos.CargarOrdenatas();
|
|
54e95a47 | Elisa | var
|
|
fuente,altoe,i:integer;
|
|||
begin
|
|||
setlength(Ordenata,g_num_ord_pantalla);
|
|||
setlength(edalu1,g_num_ord_pantalla);
|
|||
setlength(chkEquipoGrupo,g_num_ord_pantalla);
|
|||
for i:=g_num_ord_pantalla-1 downto 0 do
|
|||
begin
|
|||
Ordenata[i]:= TImage.Create(self);
|
|||
with Ordenata[i] do
|
|||
begin
|
|||
width:=W_ORDENADOR;
|
|||
Height:=H_ORDENADOR;
|
|||
stretch:=true;
|
|||
Cursor:=crarrow;
|
|||
imlicodis.GetBitmap(0,Picture.Bitmap);
|
|||
OnMouseDown:=@OrdenataMouseDown;
|
|||
//OnMouseUp:=@OrdenataMouseUp;
|
|||
//OnMouseMove:=@OrdenataMouseMove;
|
|||
OnMouseEnter:=@OrdenataMouseEnter;
|
|||
OnDragOver:=@OrdenataDragOver;
|
|||
OnDragDrop:=@OrdenataDragDrop;
|
|||
Parent:=self;
|
|||
tag:=i;
|
|||
visible:=false;
|
|||
end;
|
|||
end;
|
|||
if g_DisenoClase=0 then
|
|||
23a384b9 | Elisa | MostrarServidoresAulas()
|
|
54e95a47 | Elisa | else
|
|
MostrarPersonal();
|
|||
if g_num_ord_aula>18 then
|
|||
begin
|
|||
fuente:=6;altoe:=14
|
|||
end
|
|||
else
|
|||
begin
|
|||
fuente:=7;altoe:=14;
|
|||
end;
|
|||
for i:= 0 to g_num_ord_pantalla-1 do
|
|||
begin
|
|||
edalu1[i]:= TLabel.Create(self);
|
|||
with edalu1[i] do
|
|||
begin
|
|||
AutoSize:=false;
|
|||
Transparent:=true;
|
|||
SetBounds(Ordenata[i].Left, (Ordenata[i].top+Ordenata[i].height),(Ordenata[i].Width),altoe);
|
|||
Font.Name:='Sans';
|
|||
Font.Size :=fuente;
|
|||
//maxlength:=22;
|
|||
//BorderStyle:=bsSingle;
|
|||
Alignment:=taCenter;
|
|||
Parent:=self;
|
|||
visible:=false;
|
|||
//OnKeyPress:=@edalu1keypres;
|
|||
// OnMouseDown:=@edualuMouseDown;
|
|||
// OnMouseUp:=@edualu1MouseUp;
|
|||
// OnMouseMove:=@edualu1MouseMove;
|
|||
if (i<g_num_ord_aula) then
|
|||
begin
|
|||
if Trim(equipoAlumno[i].UsuarioActivo) <> '' then
|
|||
Caption:=equipoAlumno[i].UsuarioActivo
|
|||
else
|
|||
Caption:=equipoAlumno[i].mihost;
|
|||
end;
|
|||
end;
|
|||
end;
|
|||
for i:=g_num_ord_aula to g_num_ord_pantalla-1 do
|
|||
begin
|
|||
edalu1[i].visible:=false;
|
|||
ordenata[i].Visible:=false;
|
|||
end;
|
|||
for i:= 0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
chkEquipoGrupo[i]:= TCheckBox.Create(self);
|
|||
with chkEquipoGrupo[i] do
|
|||
begin
|
|||
Checked:=false;
|
|||
Visible:=true;
|
|||
SetBounds(Ordenata[i].Left-4+Ordenata[i].Width,Ordenata[i].Top-5,10,10);
|
|||
Caption:='';
|
|||
Parent:=self;
|
|||
tag:=i;
|
|||
Cursor:=crHandPoint;
|
|||
OnClick:=@chkEquipoGrupoclick;
|
|||
Enabled:=true;
|
|||
visible:=false;;
|
|||
end;
|
|||
end;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
chkEquipoGrupo[i].Visible:=true;
|
|||
Ordenata[i].Visible:=true;
|
|||
edAlu1[i].Visible:=true;
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.edalu1keypres(Sender: TObject; var Key: char);
|
|
54e95a47 | Elisa | begin
|
|
if key=',' then key:=#0;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.FormCreate(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
top:=13;
|
|||
left:=(screen.Width-width) div 2;
|
|||
CargarOrdenatas();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.FormShow(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
CargarListaCursos();
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.FormActivate(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
if frmMain.Visible then frmMain.Hide;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnVolverClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
close;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnAnadirCursoClick(Sender: TObject);
|
|
54e95a47 | Elisa | var
|
|
grupoexiste:boolean;
|
|||
i:integer;
|
|||
begin
|
|||
grupoexiste:=false;
|
|||
if ValidarDatosCurso then
|
|||
begin
|
|||
for i:=0 to High(g_Cursos) do
|
|||
if edCurso.text = g_Cursos[i].nombre then
|
|||
grupoexiste:=true;
|
|||
if grupoexiste then
|
|||
mensaje('El curso ' + edCurso.text + ' ya existe. Haz clic en modificar si deseas realizar algún cambio',aceptar)
|
|||
else
|
|||
AnadirCurso;
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnAnadirGrupoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
if ValidarDatosGrupo(fcurso) then
|
|||
AnadirGrupo(fcurso);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnEliminarCursoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
EliminarCurso(fcurso)
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnEliminarGrupoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
EliminarGrupo
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnLimpiarCursoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
LimpiarCamposAlumnos;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnLimpiarGrupoClick(Sender: TObject);
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
lstgrupos.ItemIndex:=-1;
|
|||
edgrupo.Text:='';
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
chkEquipoGrupo[i].Checked:=false;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnModificarCursoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
if lstcursos.ItemIndex=-1 then
|
|||
mensaje(MEN_SELECCIONE_CURSO,aceptar)
|
|||
else
|
|||
ModificarCurso
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.btnModificarGrupoClick(Sender: TObject);
|
|
54e95a47 | Elisa | begin
|
|
ModificarGrupo;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.FormClose(Sender: TObject;
|
|
54e95a47 | Elisa | var CloseAction: TCloseAction);
|
|
begin
|
|||
CloseAction:=cafree;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.FormCloseQuery(Sender: TObject;
|
|
54e95a47 | Elisa | var CanClose: boolean);
|
|
begin
|
|||
if mensaje(MEN_SALIR_ZONA,sino)=2 then
|
|||
canclose:=false
|
|||
else
|
|||
begin
|
|||
EscribirficheroCursos;
|
|||
application.ProcessMessages;
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.lstcursosClick(Sender: TObject);
|
|
54e95a47 | Elisa | var
|
|
micurso:string;
|
|||
i:integer;
|
|||
begin
|
|||
if lstcursos.itemindex=-1 then exit;
|
|||
fcurso:=lstcursos.itemindex;
|
|||
micurso:=lstcursos.Items[lstcursos.itemindex];
|
|||
edCurso.text:=micurso;
|
|||
lblcurso.caption:=micurso;
|
|||
btnEliminarCurso.Enabled:=true;
|
|||
if g_Cursos[fcurso].numeroalumnos <> g_num_ord_aula then
|
|||
begin
|
|||
Mensaje('El curso elegido no coincide con este aula, tiene distinto números de equipos. Selecciona otro o pulsa eliminar para borrarlo', Aceptar);
|
|||
exit;
|
|||
end;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
chkEquipoGrupo[i].Checked:=false;
|
|||
if i< g_Cursos[fcurso].numeroalumnos then
|
|||
begin
|
|||
//edAlu1[i].caption:= g_Cursos[fcurso].nombrealumnos[i];
|
|||
Ordenata[i].SetBounds(g_Cursos[fcurso].posicionequipo[i].x,g_Cursos[fcurso].posicionequipo[i].y,Ordenata[i].Width,Ordenata[i].Height);
|
|||
recolocaComponetesMovido(i);
|
|||
end
|
|||
end;
|
|||
btnEliminarCurso.Enabled:=true;
|
|||
btnModificarCurso.Enabled:=true;
|
|||
CargarListaGrupos(fcurso);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.lstGruposClick(Sender: TObject);
|
|
54e95a47 | Elisa | var
|
|
migrupo:string;
|
|||
i:integer;
|
|||
begin
|
|||
if lstgrupos.itemindex=-1 then exit;
|
|||
migrupo:=lstgrupos.Items[lstgrupos.itemindex];
|
|||
fgrupo:=lstgrupos.itemindex;
|
|||
edgrupo.Text:=migrupo;
|
|||
for i:=0 to g_num_ord_aula-1 do
|
|||
begin
|
|||
chkEquipoGrupo[i].Checked:=false;
|
|||
if i< g_Cursos[fcurso].numeroalumnos then
|
|||
if g_Cursos[fcurso].cgrupos[i]=fgrupo then
|
|||
chkEquipoGrupo[i].Checked:=true;
|
|||
end;
|
|||
btnEliminarGrupo.Enabled:=true;
|
|||
btnModificarGrupo.Enabled:=true;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.recolocaComponetesMovido(numOrd:integer);
|
|
54e95a47 | Elisa | begin
|
|
edalu1[numOrd].SetBounds(Ordenata[numOrd].Left, (Ordenata[numOrd].top+Ordenata[numOrd].height),(Ordenata[numOrd].Width),edalu1[numOrd].height);
|
|||
chkEquipoGrupo[numOrd].SetBounds(Ordenata[numOrd].Left-4+Ordenata[numOrd].Width,Ordenata[numOrd].Top-5,10,10);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.restaurarAula();
|
|
54e95a47 | Elisa | var
|
|
i,lor,tor,wor,hor:integer;
|
|||
begin
|
|||
for i:=0 to g_num_ord_aula -1 do
|
|||
begin
|
|||
lor:=equipoAlumno[i].L;
|
|||
tor:=equipoAlumno[i].T;
|
|||
wor:=Ordenata[i].Width;
|
|||
hor:=Ordenata[i].height;
|
|||
Ordenata[i].SetBounds(lor,tor,wor,hor);
|
|||
edalu1[i].SetBounds(lor,tor+hor,wor,edalu1[i].height);
|
|||
chkEquipoGrupo[i].SetBounds(lor+wor-4,tor-5,12,12);
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.OrdenataDragDrop(Sender, Source: TObject; X,
|
|
54e95a47 | Elisa | Y: Integer);
|
|
begin
|
|||
numOrdD:=Timage(sender).Tag;
|
|||
(source as Timage).SetBounds((sender as Timage).left, (sender as Timage).top, (sender as Timage).width,(sender as Timage).height);
|
|||
(Sender as Timage).SetBounds(PuntoO.x, PuntoO.y, (source as Timage).width,(source as Timage).height);
|
|||
recolocaComponetesMovido(numOrdO);
|
|||
recolocaComponetesMovido(numOrdD);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.OrdenataDragOver(Sender, Source: TObject; X,
|
|
54e95a47 | Elisa | Y: Integer; State: TDragState; var Accept: Boolean);
|
|
begin
|
|||
Accept:= (Source is TImage);
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.OrdenataMouseDown(Sender: TObject;
|
|
54e95a47 | Elisa | Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
|
begin
|
|||
if button = mbLeft then
|
|||
begin
|
|||
numOrdO:= TImage(sender).tag;
|
|||
PuntoO:=Point(TImage(Sender).Left,TImage(Sender).top);
|
|||
TImage(Sender).BeginDrag(false,5)
|
|||
end;
|
|||
end;
|
|||
23a384b9 | Elisa | procedure TfrmGrupos.CargarListaGrupos(aul:integer);
|
|
54e95a47 | Elisa | var
|
|
i:integer;
|
|||
begin
|
|||
lstgrupos.Clear;
|
|||
if g_Cursos[aul].numerogrupos = 0 then exit;
|
|||
for i:=0 to g_Cursos[fcurso].numerogrupos -1 do
|
|||
lstgrupos.Items.Add(g_Cursos[aul].nombregrupos[i]);
|
|||
end;
|
|||
initialization
|
|||
23a384b9 | Elisa | {$I grupos.lrs}
|
|
54e95a47 | Elisa | ||
end.
|