1

グリッド内のセルの内容を変数の内容と比較する方法はありますか。

セル 0,1 を比較する必要があり、その値が変数 x よりも低い (または高い) 場合、何かが起こります。

私は Lazarus と StringGrid を使用しています。

4

1 に答える 1

1

このようなことを試すことができます(整数値の場合ですが、別の序数型の場合は簡単に変更できます)。commented versionこの投稿のをフォローすることもできます:

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; 
于 2012-05-30T16:23:49.347 に答える