在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
using System;
以上为webservice客户端代码;下面是delphi代码:using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.OracleClient; using System.IO; using System.IO.Compression; using System.Runtime.Serialization.Formatters.Binary; [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService }
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, InvokeRegistry, Rio, SOAPHTTPClient, ExtCtrls, StdCtrls, Service,types,jpeg,StrUtils, Buttons; //StrUtils:取指定字符 {QDialogs:在delphi6及以后的版本中, 为了支持kylix,能使程序在linux下运行 每一个单元都增加了对应的QDialogs单元 如果你用了带Q的单元,哪么如果你的程序 要想在Windows中正常运行必须得有qtintf.dll 的支持你可以搜索一个,把程序中uses中的 单元前有Q的把Q去掉就ok了! } type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Panel1: TPanel; Image1: TImage; HTTPRIO1: THTTPRIO; Open: TOpenDialog; Search: TButton; Add: TButton; Update: TButton; Delete: TButton; Panel2: TPanel; Image2: TImage; Label2: TLabel; procedure SearchClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Image1Click(Sender: TObject); procedure AddClick(Sender: TObject); procedure DeleteClick(Sender: TObject); procedure UpdateClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; files:TFileStream; ms:TMemoryStream; jpg:TjpegImage; s:TByteDynArray; path:WideString; implementation {$R *.dfm} procedure TForm1.SearchClick(Sender: TObject); var bmTemp:TjpegImage;//TBitmap; Web_Search:ServiceSoap; begin bmTemp:=TjpegImage.Create; //创建流 ms:=TMemoryStream.Create; Web_Search:=HTTPRIO1 as ServiceSoap; try if (edit1.Text<>'') then begin //调用服务查询功能 s:=(Web_Search.Search(edit1.Text)); if(length(s)<6229) then begin showmessage('没有图片,请重输'); image1.Picture.Assign(nil); end else begin //从图片开始位置读取 ms.Write(s[6229],length(s)); ms.Position:=0; //加载流 bmTemp.LoadFromStream(ms); //输出 image1.Picture.Assign(bmTemp); end; end else begin showmessage('缺少查询条件!'); image1.Picture.Assign(nil); edit1.SetFocus; end; finally //释放空间 ms.Free; bmTemp.Free; //控制 //edit1.Clear; edit1.SetFocus; end; end; procedure TForm1.FormShow(Sender: TObject); var fstyle: dWord; begin //控制edit只输入数字 fstyle := GetWindowLong(Edit1.Handle, GWL_STYLE); SetWindowLong(Edit1.Handle, GWL_STYLE, fstyle or ES_NUMBER); //指定图片格式 edit1.SetFocus; end; procedure TForm1.Image2Click(Sender: TObject); var Web_link:ServiceSoap; begin //测试连接 Web_link:=HTTPRIO1 as ServiceSoap; showmessage(''+Web_link.Linking+''); end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin //输入控制 if key=#13 then Search.Click; end; procedure TForm1.Image1Click(Sender: TObject); var testpath:string; testname:string; begin ms:=TMemoryStream.Create; jpg:=TjpegImage.Create; if Open.Execute then begin testpath:=ExtractFileName(open.FileName); testname:=RightStr(testpath,4); if (testname='.jpg')or( testname='.JPG') or( testname='.jpeg')or( testname='.JPEG')then begin path:=ExtractFileDir(open.FileName)+'\'+ExtractFileName(open.FileName); files:= TFileStream.Create(open.FileName,fmShareDenyWrite); try jpg.LoadFromStream(files); jpg.SaveToStream(ms); image1.Picture.Assign(jpg); finally files.Free; end; end else showmessage('当前默认为JPEG类型图片'); end; end; end.
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论