delphi做一个浏览器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi做一个浏览器相关的知识,希望对你有一定的参考价值。
我做好了一个浏览器 我把度的时候用它 弹出新窗口的时候 浏览器成了IE了 怎么样才能 让它永远在我浏览器弹出 还有上一页用这个代码 WebBrowser1.GoBack; 下一页呢
delphi 内置了 TWebBrowser 组件,该组件以 windows 的 IE 浏览器为核心,提供了一个浏览器的基本容器,能够实现浏览器的大部分功能。此外,第三方组件中 TEmbeddedWB 类似于 TWebBrowser,但相比下,提供的功能更强大,更易用。 参考技术A 貌似用2个webbrowser.
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser2.Application;
end;
procedure TForm1.WebBrowser2BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(URL);
Cancel:=True;
end;本回答被提问者采纳
delphi 怎么做一个上传图片
1 不能用到任何数据库2 图片只能存放在本地或者指定路径3 一上传图片成功就要显示出图片,并且在指定路径下也会生成一个刚刚上传的图片有没哪个朋友会滴,请告诉我 谢谢。
SQL Server 2005里的Image字段装的就是文本类型数据; delphi上传图片--个人照片 1. 使用到的控件: (1) Image 控件(TImage类的); (2) OpenPictureDialog控件(打开图片的控件); 2. 使用到一个类:TMemoryStream 3. 数据库的字段:Blob字段;存放图像的二进制; 功能一: 清除照片 步骤: Image1.Picture.Graphic := nil ;Image1.Tag := 1 ;使用如下语句即可; 功能二: 添加照片 步骤:1. 打开硬盘,选择照片时,用以下过程:
procedure TRYGLEditForm.image1DblClick(Sender: TObject);
var
filestream:TFileStream;
begin
inherited;
if not (dsMaster.State in [dsEdit , dsInsert]) then
exit ; if dlgOpenPic1.Execute then
begin
try
filestream := TFileStream.Create(dlgOpenPic1.FileName,fmOpenRead);
if filestream.Size > 20000 then
begin
MsgDialog.ShowError('图片太大影响速度,不能超过20K大小');
abort;
end;
finally
filestream.free;
end;
Image1.Picture.LoadFromFile(dlgOpenPic1.FileName);
Image1.Tag := 1 ;
end;
end; 2. 保存到数据库时:
--cyj 保存图片--
procedure TRYGLEditForm.SavePicture;
var
PicName , ext : string ;
strm : TMemoryStream;
begin
try
if Image1.Picture.Graphic = nil then exit;
strm := TMemoryStream.Create ;
Image1.Picture.Graphic.SaveToStream(Strm);
strm.Position := 0 ; if strm.Size = 0 then
cdsPHOTO.FieldByName('photo').Clear
else
begin
With cdsPHOTO do
begin
if recordcount > 0 then
Edit
else
Append;
TBlobField(FieldByName('PHOTO')).LoadFromStream(strm);
Post;
ApplyUpdates;
end;
end;
finally
strm.Free ;
end;
end ; //--读取图片到Image控件, 在formshow事件里调用ShowPhoto()即可
--显示个人照片 支持bmp jpg格式--
procedure TFmEmployeeInput.ShowPhoto();
var
//strm: TADOBlobStream;
strm: TClientBlobStream; //--因为用的是ClientDataSet组件作为数据读取控件
JpegImage: TJpegImage;
Bitmap: TBitmap;
PType: Integer;
begin
PType := 0; if FMEmployee.CDS1.FieldByName('photo').AsString = '' then
begin
Exit;
end;
strm := TClientBlobStream.Create(tblobfield(FMEmployee.CDS1.FieldByName('photo')),bmread);
try //try1
strm.position :=0;
image1.Picture.Graphic := nil; //清除图像
// BMP、JPEG两种图像数据必需分别处理
if PType = 1 then //BMP型图像数据
begin //begin11
bitmap := tbitmap.Create ;
try //try11
bitmap.LoadFromStream(strm);
image1.Picture.Graphic := bitmap;
finally
bitmap.Free;
end; //end try11
end //end begin11
else
if PType = 0 then //JPEG型图像数据
begin //begin12
jpegimage := tjpegimage.Create ;
try //try12
jpegimage.LoadFromStream(strm);
image1.Picture.Graphic := jpegimage;
finally
jpegimage.Free ;
end; //end try12
end; //end begin12
finally
strm.Free ;
end; //end try1 参考技术A var MsImg: TMemoryStream;
begin
MsImg := TMemoryStream.Create;
MsImg.LoadFromFile(errorimage);
TmpQuery.close;
TmpQuery.sql.text:='select * from 数据表名 where 条件';
TmpQuery.open;
TmpQuery.edit;
TBlobField(TmpQuery.fieldbyname('字段名')).LoadFromStream(MsImg);
TmpQuery.post;
end;
以上是关于delphi做一个浏览器的主要内容,如果未能解决你的问题,请参考以下文章
求助:用delphi做了个简单浏览器,可以浏览网页,但一打开里面其他的连接,确是用IE打开的。