Retorno Ausentes

28/02/2013

1

Boa Noite Amigos !


Tenho um grupo com 10 Dbedit, outro com 5 Dbedit e mais um com 5 Dbedit.

No 1ª Grupo de 10 Dbedit tenho números de 1 a 10.
Dbedit 1 = digitado 1
Dbedit 2 = digitado 2
Dbedit 3 = digitado 3
Dbedit 4 = digitado 4
Dbedit 5 = digitado 5
Dbedit 6 = digitado 6
Dbedit 7 = digitado 7
Dbedit 8 = digitado 8
Dbedit 9 = digitado 9
Dbedit 10 = digitado 10

No 2ª Grupo de 5 Dbedit serão digitados 5 números dentre 1 a 5. exemplo:
Dbedit 11 = digitado 1
Dbedit 12 = digitado 2
Dbedit 13 = digitado 3
Dbedit 14 = digitado 4
Dbedit 15 = digitado 5

No 3º Grupo de 5 Dbedit irá retornar os números que não foram digitados no 2º Grupo.
Deverá retornar:
Dbedit 16 = Retorna valor 6
Dbedit 17 = Retorna valor 7
Dbedit 18 = Retorna valor 8
Dbedit 19 = Retorna valor 9
Dbedit 20 = Retorna valor 10

Como poderia ser feito isso ?

Dese já agradeço !

Att,
Responder

Posts

vc poderia usar o not null para nao aceitar campo nullo "vazio"
ou talvez um if

begin
if [dbedit1.text = '' ]
or [dbedit2.text = '' ]
or [dbedit3.text = '' ]
then
showmessage('os campos ' + dbedit1.text + dbedit1.text + dbedit1.text + 'não foram preenchidos!')
end;

tipo assim de forma simples, veja se da certo, e avisa.
Responder
Você deseja saber quais os componentes DBEdit que estão vazios, pendentes de preenchimento? Se for isso, posso te dar uma idéia de como fazer, você nomeia todos eles para fica mais fácil e pode escrever algo semelhante ao código abaixo.
var
 i: integer;
 Lista: TStringList;
begin
  Lista := TStringList.Create;
  for I := 0 to ComponentCount -1 do
  begin
    if (Components[i] is TDBEdit) then
    if (Components[i] as TDBEdit).Text = '' then
    Lista.Add(Components[i].Name);
  end;
  if Lista.Count > 0 then
  ShowMessage('Campos que precisam ser preenchidos: '+#13+Lista.Text)
  else
  ShowMessage('Todos os campos preenchidos!');
  FreeAndNil(Lista);
end;

I é a variável inteira para se utilizada no laço.
Lista é uma TStringLista que vai guardar a relação dos componentes que falta ser preenchidos, caso você queira validar só no final, se for validar por componente você terá que alterar o código, nesse caso usei TDBEdit, mas vc poderá usar outros.

Boa sorte e bons códigos!
Responder

04/03/2013

Lao

vc poderia usar o not null para nao aceitar campo nullo "vazio"
ou talvez um if

begin
if [dbedit1.text = '' ]
or [dbedit2.text = '' ]
or [dbedit3.text = '' ]
then
showmessage('os campos ' + dbedit1.text + dbedit1.text + dbedit1.text + 'não foram preenchidos!')
end;

tipo assim de forma simples, veja se da certo, e avisa.


Boa Noite Amigo !

Não necessito que retorne uma mensagem, preciso que retorne valores.
Exemplo:
Uma sala de aula com 10 alunos ( 1...10 )
Professor faz chamada, apenas os alunos 1,4,7,8,9 estão presentes.
Oque eu preciso são os alunos que faltaram a aula que são:
alunos 2,3,5,6,10 lembrando que esses valores devem retornar nos Dbedit.

Desde já agradeço!
Responder

04/03/2013

Lao

Você deseja saber quais os componentes DBEdit que estão vazios, pendentes de preenchimento? Se for isso, posso te dar uma idéia de como fazer, você nomeia todos eles para fica mais fácil e pode escrever algo semelhante ao código abaixo.
var
 i: integer;
 Lista: TStringList;
begin
  Lista := TStringList.Create;
  for I := 0 to ComponentCount -1 do
  begin
    if (Components[i] is TDBEdit) then
    if (Components[i] as TDBEdit).Text = '' then
    Lista.Add(Components[i].Name);
  end;
  if Lista.Count > 0 then
  ShowMessage('Campos que precisam ser preenchidos: '+#13+Lista.Text)
  else
  ShowMessage('Todos os campos preenchidos!');
  FreeAndNil(Lista);
end;

I é a variável inteira para se utilizada no laço.
Lista é uma TStringLista que vai guardar a relação dos componentes que falta ser preenchidos, caso você queira validar só no final, se for validar por componente você terá que alterar o código, nesse caso usei TDBEdit, mas vc poderá usar outros.

Boa sorte e bons códigos!


Boa Noite Martins !

Grato pela ajuda, mas veja no post acima, como passei pro colega.
Seria isso que preciso.

Att
Responder
Você está querendo montar um controle de frequencia, é isso?


Boa sorte e bons códigos!
Responder

05/03/2013

Lao

Você está querendo montar um controle de frequencia, é isso?


Boa sorte e bons códigos!


Bom dia !

Mais ou menos isso, mas bem simples.

Apenas quero que retorne em dbedit os códigos ( não nomes ) dos alunos que faltaram.

Att,

Responder
Você está querendo montar um controle de frequencia, é isso?


Boa sorte e bons códigos!


Bom dia !

Mais ou menos isso, mas bem simples.

Apenas quero que retorne em dbedit os códigos ( não nomes ) dos alunos que faltaram.

Att,



Você em uma tela 10 DBEdit's é isso?
Como você definiu o nome deles? Deixou name como DBEdit1, DBEdit2, ... ou Aln01, Aln02, ...?

Boa sorte e bons códigos!
Responder

05/03/2013

Lao

São 3 panels.

Panel 1 (Turma de alunos), esse panel contem 10 dbedit, Aln1 até Anl10
Panel 2 ( Alunos presentes), esse panel tem 5 Dbedit, Present1 até Present5. São sempre 5, não importa se faltou mais ou menos alunos. ( Pois este é só um exemplo).
Panel 3 ( Alunos que faltaram ), esse Panel tem 5 Dbedit, Ausent1 até Ausent5. São sempre 5, não importa se faltou mais ou
menos alunos.( Pois este é só um exemplo).

Lembrando que estamos falando sempre em números, não nomes.
Usei este modelo apenas para ilustrar melhor.

Att,
Responder
São 3 panels.

Panel 1 (Turma de alunos), esse panel contem 10 dbedit, Aln1 até Anl10
Panel 2 ( Alunos presentes), esse panel tem 5 Dbedit, Present1 até Present5. São sempre 5, não importa se faltou mais ou menos alunos. ( Pois este é só um exemplo).
Panel 3 ( Alunos que faltaram ), esse Panel tem 5 Dbedit, Ausent1 até Ausent5. São sempre 5, não importa se faltou mais ou
menos alunos.( Pois este é só um exemplo).

Lembrando que estamos falando sempre em números, não nomes.
Usei este modelo apenas para ilustrar melhor.

Att,


Certo, digamos então que funcione assim:
[ALUNOS]
DBEdit1 = 01
DBEdit2 = 02
DBEdit3 = 
DBEdit4 = 
DBEdit5 = 05
DBEdit6 = 
DBEdit7 = 07
DBEdit8 = 
DBEdit9 = 
DBEdit10 = 10

[PRESENTES]
DBEdit1 = 01
DBEdit2 = 02
DBEdit3 = 05
DBEdit4 = 07
DBEdit5 = 10

[AUSENTES]
DBEdit1 = 03
DBEdit2 = 04
DBEdit3 = 06
DBEdit4 = 08
DBEdit5 = 09


Seria mais ou menos isso aqui que você gostaria de ter como retorno?


Boa sorte e bons códigos!
Responder

05/03/2013

Lao

Isso....
Só que nos dbedit dos alunos, todos os edits não são vazios, todos tem número:
[ALUNOS]
DBEdit1 = 01
DBEdit2 = 02
DBEdit3 = 03
DBEdit4 = 04
DBEdit5 = 05
DBEdit6 = 06
DBEdit7 = 07
DBEdit8 = 08
DBEdit9 = 09
DBEdit10 = 10

Att,
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira