首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

2个文本字符有关问题(一个30分)1个句柄有关问题(40分)(共100分)

2012-02-06 
2个文本字符问题(一个30分)1个句柄问题(40分)(共100分)问题1: ( 30分 )S:stringV:stringbeginS:dd4djj

2个文本字符问题(一个30分)1个句柄问题(40分)(共100分)
问题1: ( 30分 )

  S:string;
  V:string;
  begin
  S:='dd4djj2j3o5a9';
  end;
   
要求:删除S变量里的英文,将数字赋予到V变量中.

问题2: ( 30分 )
   
  S:string;
  begin
  S:='Dell删phii删'
  end;

要求:pos S变量里的'删'和'删'前面一个字符 得到结果:S:='delphi'

问题3: (40分 )

枚举对话框句柄(类名:#32770)(无标题),并查找是否包含:'Button'和'Edit' 2个构件
如果有,将此对话框的标题改成:'已找到'

当日散分有效 考试题目

[解决办法]
//为了占第一名,先贴出两个来,一会儿再贴
//问题1:
procedure TForm1.Button1Click(Sender: TObject);
type
TNumCharSet=set of '0'..'9';
var
NumCharSet:TNumCharSet;
S,V:string;
i:integer;
begin
NumCharSet:=['0'..'9'];
S:= 'dd4djj2j3o5a9 ';
V:='';
for i:=1 to length(S) do
if S[i] in NumCharSet then
V:=V+S[i];
showmessage(V);
end;

//问题2:
procedure TForm1.Button2Click(Sender: TObject);
function DelChar(S:Widestring):string;
Var
i,len:integer;
begin
i:=pos('删',S);
len:=length(S);
result:=copy(S,1-1,i-2)+copy(S,i+1,len-i);
end;
var
S:WideString;
i:integer;
begin
S:='Dell删phii删';
i:=pos('删',S);
while i>0 do
begin
S:=DelChar(S);
i:=pos('删',S);
end;
showmessage(s);
end;
[解决办法]
function Callchat(h:hwnd;param:Lparam):boolean;stdcall; //edit and button handle
var
buf:array[0..255] of char;
buff:array[0..255] of char;
text:array [0..12] of string;
txt:string;
begin
result:=true;
Getclassname(h,@buf,255);
if strpas(buf)='button' then
begin
Enablewindow(h,true);
texthandle:=h;
result:=false;
end;

end;



procedure TForm1.Button5Click(Sender: TObject); //查找对话框
var
EWProc: EnumWindowsProc;
begin
EWProc := ; //:#32770的句柄
EnumWindows (@Callchat, 0);
end;


这是找一个的,自已改改

热点排行