LucAlucard Postado Dezembro 3, 2010 Denunciar Share Postado Dezembro 3, 2010 Olá a todos da família script brasil.Estou aqui hoje para ver se vocês mais uma vez podem me ajudar... Como faço um case com string?Por exemplo:case VariavelString of 'a' :'b' :'c' :end;Encontrei um tal de ansiindexstr que diz é da SysUtils. Mas no Delphi 2010 não consegui achar essa função... Alguém pode me ajudar?Como faço pra cosneguir fazer um case de String? o.O Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Dezembro 3, 2010 Denunciar Share Postado Dezembro 3, 2010 Estou aqui hoje para ver se vocês mais uma vez podem me ajudar... Como faço um case com string?Por exemplo:case VariavelString of 'a' :'b' :'c' :end;dessa maneira:procedure TForm1.Button1Click(Sender: TObject); begin case Edit1.Text[1] of 'A' : showmessage('A'); 'B' : showmessage('B'); 'C' : showmessage('C'); 'D' : showmessage('D'); else ShowMessage('Digite a Letra'); end; end; veja outra maneira de se usar o case var Form1: TForm1; myVar : Variant; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin myVar := 200; ShowBasicVariantType(myVar); myVar := 'Edit1'; ShowBasicVariantType(myVar); myVar := 120.90; ShowBasicVariantType(myVar); myVar := strtodate('10/02/1980'); ShowBasicVariantType(myVar); end; procedure TForm1.ShowBasicVariantType(varVar: Variant); var typeString : string; basicType : Integer; begin // chama o tipo basico da variant basicType := VarType(varVar) and VarTypeMask; // Seta a string para o tipo case basicType of varEmpty : typeString := 'varEmpty'; varNull : typeString := 'varNull'; varSmallInt : typeString := 'varSmallInt'; varInteger : typeString := 'varInteger'; varSingle : typeString := 'varSingle'; varDouble : typeString := 'varDouble'; varCurrency : typeString := 'varCurrency'; varDate : typeString := 'varDate'; varOleStr : typeString := 'varOleStr'; varDispatch : typeString := 'varDispatch'; varError : typeString := 'varError'; varBoolean : typeString := 'varBoolean'; varVariant : typeString := 'varVariant'; varUnknown : typeString := 'varUnknown'; varByte : typeString := 'varByte'; //varWord : typeString := 'varWord'; //varLongWord : typeString := 'varLongWord'; //varInt64 : typeString := 'varInt64'; varStrArg : typeString := 'varStrArg'; varString : typeString := 'varString'; varAny : typeString := 'varAny'; varTypeMask : typeString := 'varTypeMask'; end; // Mostra o tipo da Variant ShowMessage('Variant type = '+typeString); end; OBS: Veja que a variant myVar assumira um tipo basico dependendo do conteudo que lhe for passadoabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LucAlucard Postado Maio 6, 2011 Autor Denunciar Share Postado Maio 6, 2011 Mas n tem nem uma forma dele fazer o case com a string inteira mesmo? tem que converter ela em char? só assim? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Maio 7, 2011 Denunciar Share Postado Maio 7, 2011 Mas n tem nem uma forma dele fazer o case com a string inteira mesmo? tem que converter ela em char? só assim?veja o help do delphi ... The case statement may provide a readable alternative to deeply nested if conditionals. A case statement has the form o case é uma forma de substituir o if quando se usa numeros no lugar de strings, para facilitar o desenvolvimento ....então se quer usar strings voce tem que usar o comando ifabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Maio 16, 2011 Denunciar Share Postado Maio 16, 2011 (editado) Encontrei um tal de ansiindexstr que diz é da SysUtils. Mas no Delphi 2010 não consegui achar essa função... Alguém pode me ajudar?Como faço pra cosneguir fazer um case de String? o.OOlá LucAlucardna verdade não é da SysUtils e sim da StrUtilsexemplo:uses StrUtils; case AnsiIndexStr(Edit1.Text, ['texto1', 'texto2', 'texto3']) of 0 : ShowMessage('texto1'); 1 : ShowMessage('texto2'); 2 : ShowMessage('texto3'); -1 : ShowMessage('nehuma das opções'); end;Abs. Progr'amador. ;) Editado Maio 16, 2011 por Progr'amador Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LucAlucard
Olá a todos da família script brasil.
Estou aqui hoje para ver se vocês mais uma vez podem me ajudar... Como faço um case com string?
Por exemplo:
case VariavelString of
'a' :
'b' :
'c' :
end;
Encontrei um tal de ansiindexstr que diz é da SysUtils. Mas no Delphi 2010 não consegui achar essa função... Alguém pode me ajudar?
Como faço pra cosneguir fazer um case de String? o.O
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.