GARANTIR DESCONTO

Fórum Trabalhar com macro #570185

31/10/2016

0

Vejamos,

Tenho 31 TEdit onde eu tenho que colocar qual é o dia da semana.
Ex: No onshow eu coloco:

Edit1.text := DiaSemana(Now);
Edit2.text := DiaSemana(Now);
Edit3.text := DiaSemana(Now);
Edit4.text := DiaSemana(Now);
Edit5.text := DiaSemana(Now);
Edit6.text := DiaSemana(Now);
Edit7.text := DiaSemana(Now);
Edit8.text := DiaSemana(Now);
....
Edit31.text := DiaSemana(Now);


Ao invés de escrever o edit 31 vezes eu usaria um macro.
Não sei se o nome é macro mas pensei em algo assim:

Var NomeEdit : TEdit;
For  i := 1 to 31 do
    NomeEdit.Name := 'Edit'+IntToStr(i);
    NomeEdit.Text := DiaSemana(Now+i);
end;


ou
for i := 1 to 31 do
    edit+IntToStr(i)+.text := DiaSemana(Now+i)



desde já agradeço
Dirceu Morais

Dirceu Morais

Responder

Posts

31/10/2016

Araujo Junior.

Deve utilizar TypeCast para isso, seria mais ou menos assim:
var
  Edit: TEdit;
begin
  for I := 0 To 31 do
  begin
    Edit := TEdit(FindComponent('Edit' + IntToStr(I)));

    Edit.Text := DiaSemana(Now)
  end;
Responder

Gostei + 0

31/10/2016

Dirceu Morais

Blz,

Na verdade estou tentando fazer é no fast report.

procedure PageHeader2OnBeforePrint(Sender: TfrxComponent);
Var Dia, Mes, Ano : Word;
    NoDia : TDate;
    NomeEdit : TFrxMemoView;
    i : Integer;
begin
   DecodeDate (<frxEmitente."DATAI">, Ano, Mes, Dia);
   NoDia := StrToDate('01/'+IntToStr(Mes)+'/'+IntToStr(Ano));
   For i := 1 to 31 do
   Begin
      NomeEdit := TFrxMemoView(FindComponent('Eds_' + IntToStr(I)));
      NomeEdit.Text := DiaDaSemana(NoDia+i-1);
      if Copy(NomeEdit.Text,1,3) = 'DOM' Then
         NomeEdit.Font.Color:= ClRed;          
   end;


Só que dá erro ao executar:

Undeclared indentifier. 'FindComponent'
Responder

Gostei + 0

31/10/2016

Araujo Junior.

Dirceu,

Uma dica para você, a melhor fonte de pesquisas é o Help do Delphi, e existe o docwiki com muita documentação. No caso ai, deve ser alguma Unit que esta faltando. No Caso, System.Classes

http://docwiki.embarcadero.com/CodeExamples/Berlin/en/FindComponent_(Delphi)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar