robinhocne Posted November 5, 2011 Report Share Posted November 5, 2011 (edited) 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...... Edited November 6, 2011 by robinhocne Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted November 6, 2011 Report Share Posted November 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 Quote Link to comment Share on other sites More sharing options...
0 robinhocne Posted November 6, 2011 Author Report Share Posted November 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; Quote Link to comment Share on other sites More sharing options...
Question
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......
Edited by robinhocneLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.