Compararea conținutului celulelor cu o variabilă în pascal liber

există o modalitate de a compara conținutul unei celule într-o rețea față de conținutul unei variabile.

Trebuie să compar celule 0,1 și dacă valoarea lor este mai mică (sau mai mare) decât variabila x atunci se întâmplă ceva.

Eu folosesc Lazarus și un StringGrid.

1
@TLama: Scuze, ai dreptate. Editat.
adăugat autor Ashir, sursa
În această întrebare lipsește IDE-ul pe care îl folosiți (Lazarus?) Și dacă da, ce grilă folosiți (StringGrid?).
adăugat autor TLama, sursa

1 răspunsuri

Puteți încerca ceva de genul acesta (pentru valori întregi, dar poate fi ușor modificat pentru alte tipuri ordonale). Puteți urmări și versiunea comentată a acestei postări:

uses
  Math;

function CompareValueEx(StringGrid: TStringGrid; const Column, Row: Integer;
  const Value: Integer; out Relationship: TValueRelationship): Boolean;
var
  Output: Integer;
begin
  Result := TryStrToInt(StringGrid.Cells[Column, Row], Output);
  if Result then
    Relationship := CompareValue(Value, Output);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  Relationship: TValueRelationship;
begin      
  I := 111;
  StringGrid1.Cells[1, 2] := '112';
  if CompareValueEx(StringGrid1, 1, 2, I, Relationship) then
  begin
    case Relationship of
      EqualsValue: ShowMessage('The values are the same');
      LessThanValue: ShowMessage('The I value is less than in cell [1;2]');
      GreaterThanValue: ShowMessage('The I value is greater than in cell [1;2]');
    end;
  end
  else
    ShowMessage('The value in cell [1;2] is not a valid integer value!');
end; 
1
adăugat