字段中替换数据??(30分)

  • 主题发起人 主题发起人 dyc
  • 开始时间 开始时间
D

dyc

Unregistered / Unconfirmed
GUEST, unregistred user!
字段中替换数据??
需要把某一字段中含有的某一特定字符
(如&)全部换成另外的字符(如*),应如何编程??
(不是所有的纪录都含有&.)
 
这很好办,你可以:

Try
Table1.Open;
Table1.First;
While Not Table1.Eof Do
Begin
Tmp := Table1.FieldByNames['字段名'];
StrLen := Length(tmp);
If Pos('&', Tmp)>0 Then
Begin
pnt := Pos('&', tmp); tmp1:=tmp; tmp2:=tmp;
Delete(tmp1, pnt+1, StrLen);
Delete(tmp2, 1, pnt-1);
Table1.FieldByNames['字段名'] := tmp1+"替换的字串"+tmp2;
End;
Table1.next;
End;
Finally
Table1.Close;
End;
 
我做了一个小函数,可以满足你的要求,你试试吧:
function substitute(s:string;c,r :char):string;
var
i :integer;
ret :string;
begin
i := pos(c,s);
ret := '';
while i<>0 do
begin
ret := ret+copy(s,1,i-1);
ret := ret+r;
s := copy(s,i+1,length(s));
i := pos(c,s);
end;
Result := ret+s;
end;
其中s是源字符串,c是要被替换的字符,r是更改后的字符.
 
自己做个替换函数
function TForm1.ReplaceChr(OldStr: String): String;
var J:integer;
NewStr:String;
begin
NewStr:='';
for J:=1 to Length(OldStr) do
begin
if copy(OldStr,J,1)='&' then
NewStr:=NewStr+'*'
else
NewStr:=NewStr+copy(OldStr,J,1);
end;
result:=NewStr;
end;
 
一人10分,结束问题
 
多人接受答案了。
 
后退
顶部