1.利用delphi7实现QQ网页上的源码功能 请问应该着重学习那些dephi的组件和函数
2.c++数组删除指定元素
利用delphi7实现QQ网页上的功能 请问应该着重学习那些dephi的组件和函数
idhttp或者webbrowser
webbrowser比较简单点,但是源码效率不高
获取验证码:
procedure TForm1.getimg;
var elem: IHTMLElement; // 使用需 uses Mshtml,SHDocVw;
coll: IHTMLElementCollection; // mshtm类
i: Integer;
url, Text: string;
d2,D:IHTMLDocument2;
d1:IHTMLDocument;
e:IHTMLElement;
e2:IHTMLElement2;
cp:IHTMLControlRange;
img:IHTMLImgElement;
ce:IHTMLControlElement;
bmp:TBitmap ;
r0:TRect;
newbmp:TBitmap ;
r1:TRect;
checkstr:string;
MyHandle :THandle ;
bmpPtr:Pointer;
begin
try
while Form1.wb1.Busy do
Application.ProcessMessages;
Form1.wb1.Stop;
if Form1.wb1.Document = nil then Exit;
//Memo1.Lines.Add(IHTMLDocument2(WebBrowser1.Document).Body.OuterHtml) ; //获取源代码
D:= Form1.wb1.Document as IHTMLDocument2;
e:=d.body as IHTMLElement;
e2:=e as IHTMLElement2;
cp:=e2.createControlRange as IHTMLControlRange;
d2:= Form1.wb1.Document as IHTMLDocument2;
//下面是破解验证码
coll := d.all;
coll := (coll.tags('img') as IHTMLElementCollection);
for i := 0 to coll.Length - 1 do
begin // 循环取出每个url
elem := (coll.item(i, 0) as IHTMLElement);
url := Trim(string(elem.getAttribute(WideString('src'), 0)));
//Text := Trim(string(elem.outertext));
if pos('getCheckImg', url) >0 then
begin
Break;
end;
//DebugInfo(text+##+url) ;
Application.ProcessMessages;
end;
img:=elem as IHTMLImgElement;
ce:=img as IHTMLControlElement;
cp.add(ce);
try
// Clipboard.Open;
Clipboard.Clear;
// if Clipboard.hasFormat(CF_BITMAP) then
begin
try
cp.execCommand('Copy',false,0);
MyHandle := Clipboard.GetAsHandle(cf_Bitmap);
bmpPtr := GlobalLock(MyHandle);
Form1.img1.Picture.Bitmap.Assign(Clipboard);
Form1.img1.Picture.LoadFromClipboardFormat(cf_BitMap,MyHandle,0);
Clipboard.Clear;
GlobalUnlock(MyHandle);
finally
Clipboard.Close;
end;
end;
bmp:=(Form1.img1.Picture.Bitmap as TBitmap) ;
//checkstr:=getCheckStr(bmp);
except
Form1.img1.Picture.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
checkstr :='';
// Form1.img1.Tag:=1;
end;
finally
//
end;
end;
c++数组删除指定元素
在Delphi7集成开发环境中,我们首先在Form1窗体上创建一个Button1按钮和一个Memo1文本框,源码用于显示数组操作的源码T十O源码结果。 在源代码的源码implementation部分,首先定义一个动态字符串数组类型,源码解迷宫源码并为其声明一个变量,源码以便后续的源码操作。具体步骤如下: 在Form1的源码OnCreate事件处理程序中,编写如下代码以初始化和处理数组操作:procedure TForm1.FormCreate(Sender: TObject); var i: Integer; 接下来,源码我们需要在implementation部分定义一个专门用于删除动态数组中指定元素的源码过程,这个过程将处理数组元素的源码增删操作。 当用户双击Button1按钮时,源码ctf 平台源码程序会进入OnClick事件方法。源码在这里,源码我们将执行删除指定元素的jdk集合源码操作,并在执行后更新Memo1控件的内容,以显示操作后的数组状态。 通过F9运行程序,flexera software 源码你可以看到Memo1中显示的字符串动态数组内容。当点击Button1并执行删除操作后,程序会成功移除第二个元素,显示出删除后的数组内容。