CASE
Amigos teenho uma duvida que esta me atrapalhando de verdade!
Por que que isso não da certo?
Por que que isso não da certo?
for iCont:=0 to MDIChildCount-1 do case MDIChildren[iCont] of formCadastroUsuario: begin formCadastroUsuario.TabUser.Append; end;
Caezar
Curtidas 0
Respostas
Tnaires
28/01/2006
Olá
Extraído da ajuda do Delphi:
Definição de ordinal type:
Abraços
Extraído da ajuda do Delphi:
(...) selectorExpression is any expression of an [b:fb8ec505bb]ordinal type[/b:fb8ec505bb] (...)
Definição de ordinal type:
Ordinal types include integer, character, Boolean, enumerated, and subrange types.
Abraços
GOSTEI 0
Caezar
28/01/2006
Ok!
Acho que vou ter que usar um if né?
Acho que vou ter que usar um if né?
GOSTEI 0
Tnaires
28/01/2006
Isso.
A única limitação da instrução case q realmente me incomoda, em relação a outras linguagens, é o fato de não poder usá-la com strings :?
A única limitação da instrução case q realmente me incomoda, em relação a outras linguagens, é o fato de não poder usá-la com strings :?
GOSTEI 0
Macario
28/01/2006
Não testei o codigo, mas pq não funciona? sendo que iCont é inteiro??
GOSTEI 0
Tnaires
28/01/2006
Macario, não funciona pq o case só analisa tipos de dados do tipo Ordinal.
Veja meu post acima.
Abraços
Veja meu post acima.
Abraços
GOSTEI 0
Caezar
28/01/2006
Obrigado amigos, resolvi o problema usando o prop tag!
Criei um outro post com mais uma dúvida se alguem puder dar uma olhada:
[url]http://forum.clubedelphi.net/viewtopic.php?p=241718#241718[/url]
Criei um outro post com mais uma dúvida se alguem puder dar uma olhada:
[url]http://forum.clubedelphi.net/viewtopic.php?p=241718#241718[/url]
GOSTEI 0
Macario
28/01/2006
bom isso funciona
agora aqui tem um equivoco, que nao tinha percebido
mas que talvez assim funcione
é so uma ideia ja que não conheço formularios MDI.
:arrow:
for x:= 1 to 5 do begin case x of 1 : showmessage(´numero´+ inttostr(x)); 2 : showmessage(´numero´+ inttostr(x)); 3 : showmessage(´numero´+ inttostr(x)); 4 : showmessage(´numero´+ inttostr(x)); 5 : showmessage(´numero´+ inttostr(x)); end; end;
agora aqui tem um equivoco, que nao tinha percebido
for iCont:=0 to MDIChildCount-1 do case MDIChildren[iCont] of [b]formCadastroUsuario[/b]: begin formCadastroUsuario.TabUser.Append; end;
mas que talvez assim funcione
for iCont:=0 to MDIChildCount-1 do case MDIChildren[iCont] of MDIChildren[iCont]: begin formCadastroUsuario.TabUser.Append; end;
é so uma ideia ja que não conheço formularios MDI.
:arrow:
GOSTEI 0
Tnaires
28/01/2006
Acho q mesmo se a idéia do Macario fucionar, não será eficiente, pois esta condição sempre será executada. Seria equivalente a fazer:
Abraços
case 1 of 1: // Isso sempre seria executado end;
Abraços
GOSTEI 0
Macario
28/01/2006
correto, so postei..pra esclarecer minha duvida...hehe
GOSTEI 0