delphi中有没有这样的函数,如果没有我,我只好自己写了。9 (9分)

  • 主题发起人 主题发起人 蛐蛐
  • 开始时间 开始时间

蛐蛐

Unregistered / Unconfirmed
GUEST, unregistred user!
var s0:string;
s1:string;
begin
s0:= "atNew;atDelete,atEdit"
s1:= "atClose"
if 函数(s1,s0) = 0 then do.
pos 不行,如果用POS话,则 s2 = 'ew;atD'
POS(S2,S0)>0 也对,可是这不是我所想的。
如果没有,我只好自己写了。
 
还有一个这样的问题,我在密码框中录入密码,我希望光标在密码框不移动。
 
没有你这种函数,不过集合函数里面倒是这样使用in,可惜你表示的都是字符,没戏。
另外,好像你的就是pos函数的功能呀?
2、在他的onExit时间里面做文章呀。
 
pos为什么不行
 
1,没有,自己写吧,又不难
2,在 Edit 的 OnChange 里面修改 SelStart
 
把S0里面的字符放到数组中吧。
var s0:array[0..2] of String;
begin
s0[0]:='atNew';s0[1]:='atDelete';s0[2]:='atEdit'
s1:= "atClose";
if not (s1 in s0) then do...
end;
 
采用枚举!
 
虽然没有直接给出函数,但是自己稍稍拼装一下就可以了:
function TextInStrings(Txt,Strs:String):Boolean;
var
SL:TStringList;
begin
with TStringList.Create do
begin
CommaText:=Strs
//将由逗号、空格分隔的多个字符串分解开来
Sorted:=true;
Result:=IndexOf(Txt)>=0;
Free;
end;
end;
 
把S0定义成Tstringlist,就好找了,好像是indexof
 
agree with creation-zy 3 points others 1 point
over
 
后退
顶部