グリッド内のセルの内容を変数の内容と比較する方法はありますか。
セル 0,1 を比較する必要があり、その値が変数 x よりも低い (または高い) 場合、何かが起こります。
私は Lazarus と StringGrid を使用しています。
グリッド内のセルの内容を変数の内容と比較する方法はありますか。
セル 0,1 を比較する必要があり、その値が変数 x よりも低い (または高い) 場合、何かが起こります。
私は Lazarus と StringGrid を使用しています。
このようなことを試すことができます(整数値の場合ですが、別の序数型の場合は簡単に変更できます)。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;