robinhocne Postado Novembro 5, 2011 Denunciar Share Postado Novembro 5, 2011 (editado) Como faço para verificar se um numero está entre outros....tipo creio que isso seja básico, mas não estou conseguindo....estava.....fazendo assimif 283 in [279..309] then begin ShowMessage('SIM!!'); exit; end;mas não entra nessa condição..... uma ajuda ai...... Editado Novembro 6, 2011 por robinhocne Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Novembro 6, 2011 Denunciar Share Postado Novembro 6, 2011 Help do DelphiOperator__Operation_Operand types_____Result type_____Example+_______ union_____set_____set_______Set1 + Set2-________difference__set_____set_______S - T*________intersection________set_______set___________S * T<=______subset_____set_____Boolean___Q <= MySet>=_______superset__set_____Boolean___S1 >= S2=________equality___set_____Boolean___S2 = MySet<>_______inequality_set_____Boolean___MySet <> S1in________membership______ordinal, set_Boolean_______A in Set1O operador IN só usa operandos do tipo ordinal ou set ...então para o seu código funcionar deveria se assim:if 283 in [279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289] then begin ShowMessage('SIM!!'); exit; end; uma maneira mais pratica seria dessa forma: var Form1: TForm1; Vector: array of Integer; implementation {$R *.dfm} function IntegerInArray(Value: integer; Vector: array of integer): Boolean; var I: Integer; begin Result := False; for I := 1 to Value do Result := Result or (Value = Vector[I]); end; procedure TForm1.Button1Click(Sender: TObject); var k : integer; begin // definir uma matriz de 10 elementos SetLength(Vector, 9); // atribuir valores a matriz de 0 a 9 for k := Low(Vector) to High(Vector) do Vector[k] := k; // testar se o numero esta dentro da matriz if IntegerInArray(10,Vector) then showmessage('sim') else showmessage('não'); // o 10 esta fora dos valores da matriz ( 0..9 ) end;ou voce pode tentar endender funções mais avançadas em delphihttp://www.rosseeld.be/DRO/PIC/BitUtils.mpasabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Novembro 6, 2011 Autor Denunciar Share Postado Novembro 6, 2011 Help do DelphiOperator__Operation_Operand types_____Result type_____Example+_______ union_____set_____set_______Set1 + Set2-________difference__set_____set_______S - T*________intersection________set_______set___________S * T<=______subset_____set_____Boolean___Q <= MySet>=_______superset__set_____Boolean___S1 >= S2=________equality___set_____Boolean___S2 = MySet<>_______inequality_set_____Boolean___MySet <> S1in________membership______ordinal, set_Boolean_______A in Set1O operador IN só usa operandos do tipo ordinal ou set ...então para o seu código funcionar deveria se assim:if 283 in [279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289] then begin ShowMessage('SIM!!'); exit; end; uma maneira mais pratica seria dessa forma: var Form1: TForm1; Vector: array of Integer; implementation {$R *.dfm} function IntegerInArray(Value: integer; Vector: array of integer): Boolean; var I: Integer; begin Result := False; for I := 1 to Value do Result := Result or (Value = Vector[I]); end; procedure TForm1.Button1Click(Sender: TObject); var k : integer; begin // definir uma matriz de 10 elementos SetLength(Vector, 9); // atribuir valores a matriz de 0 a 9 for k := Low(Vector) to High(Vector) do Vector[k] := k; // testar se o numero esta dentro da matriz if IntegerInArray(10,Vector) then showmessage('sim') else showmessage('não'); // o 10 esta fora dos valores da matriz ( 0..9 ) end; ou voce pode tentar endender funções mais avançadas em delphi http://www.rosseeld.be/DRO/PIC/BitUtils.mpas abraço Jhonas valeu pela dica....mas consegui resolver utilizando a função InRange if InRange(283, 279, 309) then begin ShowMessage('SIM!!'); exit; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
robinhocne
Como faço para verificar se um numero está entre outros....tipo creio que isso seja básico, mas não estou conseguindo....estava.....fazendo assim
mas não entra nessa condição..... uma ajuda ai......
Editado por robinhocneLink para o comentário
Compartilhar em outros sites
2 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.