有个edit.text内容如edit1.text='13,3,13,5,18';那就是有13是重复的;如果里面有重复的数字就不执行,该怎么判断,我是通过分成为5个数字,我只能写得出,逐个比较的方法,不知道有什么好的判断方法吗
解决方案 »
- fastreport问题
- 高分救急,Ehlib控件,在DBGridEh1中录入十来条数据后提示错误
- 问题:在标签页控件中,如何设置标签页里的字体大小等?
- 在DELPHI 6.0中自带的MEDIA PLAYER中怎样获得播完了一首AVI?
- 免费提供好东西!!快来看呀!
- 如何把在dbgrid中显示的数据(多表查询出来的)通过报表打印?
- 关于控件TComboBox下拉框中的中文字符串定位问题
- 关于使用WebBrowser打开 ppt的问题,急寻高手!
- 赶问各位老大如何在delphi下画各种线型如铁路
- 奇怪在MDI的CHILD窗口上,当我按‘X’关闭窗口时,它却最小化。‘X’失灵了
- 啥也没做,就在Form中加了:uses IdThreadMgrPool,F9运行就退出,提示有内存溢出!咋回事?
- paradox数据库如何动态增加字段,并设为主键
2:if pos(varB,varA) =0 then 执行你想执行的代码 else varA:=varB
3:一直重复 第 1,2步,直到没有分隔符.....
或者你自己排序....
var
str1,str2:string;
i:integer;
isrepeated:boolean;
begin
isrepeated:=false;
str1:=Edit1.Text;
for I := 0 to Length(str1) - 1 do
begin
if Pos(',',str1)<0 then Break;
str2:=Copy(str1,Pos(',',str1)+1,Length(str1)-1);
str1:=Copy(str1,0,Pos(',',str1)-1);
if Pos(str1,str2)=0 then str1:=str2 else
begin
isrepeated:=true;
Break;
end;
end;
if isrepeated=False then ShowMessage('字符串内无重值') else ShowMessage('字符串内有重值')
end;
function CheckDuplicate(S: String): Boolean;
var
AList: TStringList;
i : Integer;
begin
Result := False;
AList := TStringList.Create;
try
AList.Duplicates := dupAccept;
AList.Sorted := True;
AList.Delimiter := ',';
AList.DelimitedText := S;
for i := 1 to AList.Count - 1 do
if AList.Strings[i] = AList.Strings[i - 1] then
begin
Result := True;
break;
end;
finally
AList.Free;
end;
end;//调用的例子
if CheckDuplicate('13,3,13,5,18') then ShowMessage('数据有重复');
begin
Result := nil;
try
Result := TStringList.Create;
Result.Text := aText;
Result.Sort;
except
on e: exception do
showmessage('GetStrList Failed:'+ e.message);
end;
end;function HaveDuplicateValue(const aStr: string): Boolean;
var
sLst : TStringList;
iCount: Integer;
begin
Result:= False;
Try
vLst := GetStrList(aStr);
For iCount := 0 to vLst.Count-2 do
begin
if vLst.Strings[iCount]=vLst.Strings[iCount+1] then
begin
Result := True;
//你可以在这里回传重复值
Break;
end;
end;
Finally
vLst.Free;
End;
end;