怎么判断TStringGrid 某列的相同值次数为3次以上,新手,就解~~
怎么判断TStringGrid 某列的相同值次数为3次以上
比如:TStringGrid1的第一列出现了4个相同值,我该怎么计算出这值,出现了四次,新手,就解~~
[解决办法]
不写代码了,说说方法吧,希望能有帮助。
TStringGrid.Cols 是 TStrings 对象数组,每个成员就是一列,例如,Cols[0] 是第一列,这你懂。如果不排序,搜索 Cols[0] 算法有点复杂,我想你的难点在这里。不妨声明一个 TStringList 对象,例如 SList,然后:
SList.Text := Cols[0].Text; // 赋值
SList.Sort; // 排序
搜索这个排序的 SList 就容易多了,相同字符串会排在一起,算法比较简单。
[解决办法]
n := 0;
for i := 0 to StringGrid1.RowCount - 1 do
if StringGrid1.Cells[0, i] = S then//找第一列等于S的
Inc(n);
if n = 4 then
ShowMessage('4')
else
ShowMessage(IntToStr(n));
[解决办法]