怎么样在 Delphi 中打开一个word文件
展开全部 delphi 调用 word 打开一个文档,兼容性比较好的办法,是使用 oleObject 来调用本机安装的 word,示例代码如下:procedure TForm1.Button1Click(Sender: TObject);var MSWord: Variant;begin MSWord := CreateOLEObject('Word.Application');//连接Word MSWord.Documents.Open(FileName:='D:\Temp\temp.doc', ReadOnly:=True); //打开外部Word文档 MSWord.Visible := 1;//是否显示文件编辑 MSWord.ActiveDocument.Range(Start:=0, End:=0);//开始改变的启止位置 MSWord.ActiveDocument.Range.InsertAfter(Text:='myvc');//在Word中增加字符'myvc' MSWord.ActiveDocument.Range.InsertParagraphAfter; MSWord.ActiveDocument.Range.Font.Size := 72;//字体大小 MSWord.ActiveDocument.Range.Font.Name := 'Arial';//字体名称...
怎样在DELPHI程序里操作WORD文档
会用excel的宏么?excel编程有个利器,录下宏,然后通过宏猜。
在有用c#帮忙,因为c#引用一个dll好像不是excel的属性什么的都能点出来。
还有一个是word的帮助文档,是安装目录下一个文件,不过有的安装没有,具体什么名字记不清了,不过上面的东西有点粗糙,不够仔细。
有支持从内存流读取并显示PDF的Delphi控件吗?
.jpg静态图象专家组制订的静态图象压缩标准,具有很高的压缩比,使用非常广泛,可使用PhotoShop等图象处理软件创建.gif在各种平台的各种图形处理软件上均能够处理的,经过压缩的一种图形文件格式.rmWindows下的RealPlayer所支持的视频压缩文件,网上非常流行的流式视频文件,很多实时视频新闻等都是采用这种格式的,不过,最新的Windows Media Video V8已经对其发起了强大的攻势.regWindows 95的系统及应用程序注册文件,这种文件虽然以纯文本文件保存,但一样存在版本问题,不同的操作系统使用的REG文件版本是不同的.bmpBitmap位图文件,这是微软公司开发Paint的自身格式,可以被多种Windows和Windows NT平台及许多应用程序支持,支持32位颜色,用于为Windows界面创建图标的资源文件格式。
.dllWindows动态连接库,几乎无处不在,但有时由于不同版本DLL冲突会造成败各种各样的问踢.exe可执行文件,虽然后缀名相同,但具有不同的格式和版本.bat批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用.comDOS可执行命令文件,一般小于64KB.rarWinRAR提供的压缩文件格式,压缩率超过ZIP,同时提供的功能也更为丰富.mp3采用MPEG-1 Layout 3标准压缩的音频文件,是网上主要的压缩音频文件,这种文件由于具有极高的压缩率和失真低的特点,是目前音乐盗版的主要文件格式,但目前受到VQF,WMA等新标准的挑战
【DELPHI】如何在两台电脑间传送文件?
Delphi 实现传送文件 1.建立两个工程Server及Client分别放TServerSocket及TClientSocket控件,Demo,Edit控件等。
2.设置TServerSocket name为 SS, ServerType为stNonBlocking,TClientSocket name为cs,ClientType为ctNonBlocking表示异步读写信息。
注意ClientType和ServerType要相一致.若为ctBlocking则表示同步读写信息。
3.Socket传送文件的顺序图a)Client-->Server MP_QUERYb)Server-->Client MP_ACCEPTc) Client-->Server MP_FilePropertyd)Server-->Client MP_NextWillBeDatae)Client-->Server MP_NextWillBeDataf)Server-->Client MP_DATAg) Client-->Server 发送数据h) Server接收数据并处理i)Client-->Server MP_END结束4.Client端代码-----------------------------------------------------------------------------------------------------------------unit UnitClient;interfaceusesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ScktComp, StdCtrls, Buttons, ExtCtrls, ComCtrls;Const//设置协议标志符//标志将要发送文件名MP_QUERY ='aaaaa';//标志服务器拒绝接收MP_REFUSE ='bbbbb';//标志服务器同意接收文件MP_ACCEPT ='ccccc';//标志将要传递数据MP_NEXTWILLBEDATA='ddddd';//标志服务器端准备接收数据MP_DATA ='eeeee';//标志客户端取消了本次发送操作MP_ABORT ='fffff';//标志已经发送完毕MP_END='iiiii';//标志发送的文件长度MP_FILEPROPERTY='jjjjj';//指定每次发送包的大小iBYTEPERSEND=1024;typeTForm1 = class(TForm) OpenDialog1: TOpenDialog; cs: TClientSocket; Panel1: TPanel; btnSendFile: TBitBtn; edtIPAddress: TEdit; Memo1: TMemo; edtHostName: TEdit; RB1: TRadioButton; RB2: TRadioButton; ProBar: TProgressBar; Btncancel: TBitBtn; Btnexit: TBitBtn; procedure btnSendFileClick(Sender: TObject); procedure csRead(Sender: TObject; Socket: TCustomWinSocket); procedure FormCreate(Sender: TObject); procedure BtncancelClick(Sender: TObject); procedure BtnexitClick(Sender: TObject);private //定义一个发送文件的数据流 fsSend: TFileStream; //设置开始状态位 tStart:Boolean; //标识当前时间 TickCount:Longword; { Private declarations }public { Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}//发送文件procedure TForm1.btnSendFileClick(Sender: TObject);begin//关闭套接字连接cs.Close;//初始化进程条Probar.Position:=0;if RB1.Checked thenbegin cs.Host:=''; //指定要连接的主机IP地址 cs.Address:=edtIPAddress.Text;endelse//指定要连接的主机名cs.Host:=edtHostName.Text;//要连接的主机所用端口号cs.Port:=2000;//打开套接字连接cs.Open;//点击发送确认按钮if OpenDialog1.Execute thenBegin//发送连接请求 cs.Socket.SendText(MP_QUERY+OpenDialog1.FileName);end;end;//客户端接收来自服务器端的信息procedure TForm1.csRead(Sender: TObject; Socket: TCustomWinSocket);varMsgRecv:string;bufSend:pointer;iLength:Integer;begin//得到客户端发来的信息MsgRecv:=Socket.ReceiveText;//取前5位,得到协议标志符MsgRecv:=copy(MsgRecv,1,5);//接收到拒绝信息if MsgRecv=MP_REFUSE then memo1.Lines.Add('连接请求被拒绝!') //接收到确认接收信息else if MsgRecv=MP_ACCEPT thenbegin //为要发送的文件创建文件流 fsSend:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead); tStart:=False; //进度条显示 Probar.Max:=fsSend.Size; memo1.Lines.Add('开始发送!'); //获取发送开始时的时间 TickCount:=GetTickCount; //创建文件流并发送文件长度。
Socket.SendText(MP_FILEPROPERTY+inttostr(Trunc(fsSend.Size/iBYTEPERSEND)+1));endelse if MsgRecv=MP_NEXTWILLBEDATA thenbegin //通知接收端将要传送数据。
Socket.SendText(MP_NEXTWILLBEDATA);endelse if MsgRecv=MP_DATA thenbegin //接收到确认信息,开始发送数据。
if not tStart then begin memo1.Lines.Add('发送数据中... ...'); tStart:=True; end; //还有数据没有发送。
if fsSend.PositioniBYTEPERSEND then iLength:=iBYTEPERSEND; GetMem(bufSend,iLength+1); try //读取文件流数据 fsSend.Read(bufSend^,iLength); //发送长度为iLength的数据 Socket.SendBuf(bufSend^,iLength); //进度条显示 Probar.Position:=fsSend.Position; finally //释放内存 FreeMem(bufSend,iLength+1); end; //发送完毕 end else begin //通知主机文件传送结束。
Socket.SendText(MP_END); memo1.Lines.Add('发送完成!'); //获取发送耗时 memo1.Lines.Add('发送耗时'+IntToStr(GetTickCount-TickCount)+'毫秒'); fsSend.Free; end;//取消文件发送过程end else if MsgRecv=MP_ABORT thenbegin memo1.Lines.Add('中止!'); //文件传送取消 fsSend.Free;end;end;procedure TForm1.FormCreate(Sender: TObject);...
求delphi中button的属性大全?知道几个说几个?
DELPHI常见属性说明: ALIGN 设置组件对齐(同其父容器)方式 BORDERSTYLE 设置组件边框形状 CAPTION 设置组件标题 CTL3D 设置组件边框是否为3D模式,若BORDERSTYLE设置为BSNONE则此属性无效 COLOR 设定组件背景颜色 CURSOR 设定鼠标经过组件时光标所显示的形状 ENABLED 设定组件是否能使用,当设为FALSE时组件会呈灰色 FONT 设定组件内文字的字型、字体大小、颜色等 HEIGHT 设定组件高度 HELPCONTENT 用来为帮助说明文件中的索引值建立关联 LEFT 设定组件与父组件左边框间的距离 POPUPMENU 设定鼠标右键(弹出式)快捷菜单 TABORDER 设定组件在按下TAB键后焦点(FOCUS)移动的顺序 TABSTOP 若设为FALSE,则按TAB键后焦点并不会在此组件上停留 TOP 设定组件与父组件上边框间的距离 VISIBLE 设定组件是否可见,此属性只在执行时起作用 WIDTH 设定组件显示宽度 DELPHI常见事件说明: ONCHANGE 当组件有所改变时触发的事件 ONCLICK 当在此组件上按下鼠标左键时触发的事件 ONDBLCLICK 当在此组件上双击鼠标左键时触发的事件 ONENTER 当焦点进入此组件时触发的事件 ONEXIT 当切换到其它组件使该组件失去焦点时触发的事件,但当切换到另一窗体或另一应用程序时此事件不会触发 ONKEYDOWN 当在拥有焦点的组件上按下某个键时触发的事件,按键包括所有的英文、数字键、方向键、功能键等 ONKEYPRESS 当在拥有焦点的组件上按下某个键时触发的事件,但按键只包括所有的英文、数字键、TAB、BACKSPACE、ENTER、ESC ONKEYUP 当使用者放开键盘上的按键时触发的事件,按键看ONKEYDOWN ONMOUSEDOWN 当鼠标键在某个组件按下时触发的事件(其参数包括哪个鼠标键被按下、是否有特殊键(CTRL、ALT、SHIFT)被按下以及鼠标当 前的坐标) ONMOUSEMOVE 当鼠标在组件内移动时触发的事件 ONMOUSEUP 当鼠标键在组件上方放开时所触发的事件 ONPAINT 在组件需要被重画时触发的事件,此时可进行自定义画法 窗体组件(FORM)常见属性及事件 属性 说明 ACTIVE 指示此窗体是否拥有FOCUS ACTIVECONTROL 指示窗体中目前拥有FOCUS的组件 ACTIVEMDICHILD 指示主窗体中目前拥有FOCUS的子窗体 ACTIVEOLECONTROL 用于取得或设定此窗体上的OLE控制,以响应FOCUS改变 BORDERICONS 指定哪些ICON显示在窗体的TITLE BAR上 BORDERSYTLE 用以指定窗体BORDER外观及行为 CANVAS 提供使用者可在窗体上CLIENT内自行显示的画板,一般在ONPAINT事件中使用 CLIENTHANDLE 提供可存取系统内部使用的MDI CLIENT WINDOW HANDLE CLIENTHEIGHT 窗体客户区高度 CLIENTRECT 窗体客户区所对应的矩形 CLIENTWIDTH 窗体客户区宽度 DEFAULTMONITOR 指定此窗体所显示的预设的显示器,用于多显示器环境下 DESIGNER 此窗体的设计界面,一般不用用户设定 DropTARGET 用以指定窗体是否为目前DRAG AND Drop动作的目标 FLOATING 用以指示此窗体是否正在停泊在另一个视窗内 FORMSTATE 用于指示此窗体所处状态 FORMSTYLE 用于指示窗体的样式 HELPFILE 用于指定HELP文件 ICON 指定窗体最小化时所显示的ICON KEYPREVIEW 指定此窗体是否需在目前的ACTIVE组件之前取得键盘输入 MDICHILDCOUNT 用于取得子窗体数目 MDICHILDREN 用于取得子窗体(数组) MENU 用于指定窗体主菜单 MODALRESULT 当窗体作用为MODAL对话框时,作为对话框的效果 MONITOR 用于指示窗体所显示的显示器 OLDCreateORDER 指定ONCreate和ONDESTROY事件何时发生 OLEFORMOBJECT 对包含在此窗体内的OLE对象指定OLEFORM界面 PARENT 设定此窗体的PARENT PARENTBIDIMODE 指定是否此窗体使用PARENT的BIDIMODE PIXELSPERINCH 表示此窗体设计时系统上字形的比例 POSITION 表示此窗体的大小及位置 PRINTSCALE 表示此窗体打印的比例 SCALED 用于指定窗体的大小是否依据PIXELSPERINTCH属性来指定 TILEMODE 用于指定TILE方法被调用时子窗体如何排列 VISIBLE 用于设定此窗体是否被显示 WINDOWMENU 如果窗体是一个MDI PARENT窗体,用于指定视窗的菜单 WINDOWSTATE 用于指定窗体如何显示于屏幕中 事件 说明 ONPAINT 当窗体必须重画时发生 ONHELP 当窗体收到HELP请求时发生 ONDRAGDrop 当一个对象拉进此窗体并丢下时发生 ONDRAGOVER 当一个对象拉进此窗体时发生 ONCONSTRAINEDRESIZE 在ONCANRESIZE事件发生后发生 ONCANRESIZE 当企图改变窗体尺寸时确认是否改变 ONRESIZE 当窗体尺寸改变时发生 ONSTARTDOCK 当对象开始停泊时发生 ONENDDOCK 当对象停泊结束时发生 ONUNDOCK 当窗体解除停泊时发生 ONDOCKDrop 当其它窗体停泊到此组件时发生 ONDOCKOVER 当其它窗体向此组件停泊接近时发生 ONGETSITEINFO 当有关停泊消息传回此窗体时发生 ONCreate 当窗体创建时发生 ONCLOSE 当窗体即将关闭时发生 ...
delphi打开文件的各种方法?
展开全部 第一种方法,使用SelectDirectory 函数 ,在ShellApi中 procedure TForm2.BtSelectPathClick(Sender: TObject);var strCaption,strDirectory:String; wstrRoot:WideString; begin strCaption:='这是浏览文件夹的说明文字,可以根据需要进行书写。
' +#13#10+'一般二行文字就满了。
'; //该参数是浏览文件夹窗口的显示说明部分 wstrRoot:=''; //这个参数表示所显示的浏览文件夹窗口中的根目录,默认或空表示“我的电脑”。
SelectDirectory(strCaption,wstrRoot,strDirectory); EdLocalPath.Text:=strDirectory;end; 第二种方法 要求:利用Win32 API SHBrowseForFolder开启一个选择文件目录的对话框,预先定位到默认的目录,最后返回所选择的结果,如果没有进行选择(即单击“取消”结束选择)则返回空''。
代码如下:(以下两个函数定义需要在uses中引入两个单元ShlObj,Windows;)function BrowseCallbackProc(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall;begincase uMsg of BFFM_INITIALIZED: SendMessage(Wnd, BFFM_SETSELECTION, 1, lpData);end;Result := 0;end; function BrowsFolder(const Folder: string): string;varTitleName: string;lpItemID: PItemIDList;BrowseInfo: TBrowseInfo;DisplayName: array[0..MAX_PATH] of char;TempPath: array[0..MAX_PATH] of char;beginResult := Folder;FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);BrowseInfo.hwndOwner := GetActiveWindow;BrowseInfo.pszDisplayName := @DisplayName;TitleName := '请选择一个目录';BrowseInfo.lpszTitle := PChar(TitleName);BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;BrowseInfo.lpfn := BrowseCallbackProc;BrowseInfo.lParam := Integer(PChar(Folder));lpItemID := SHBrowseForFolder(BrowseInfo);if Assigned(lpItemId) thenbegin SHGetPathFromIDList(lpItemID, TempPath); GlobalFreePtr(lpItemID); Result := string(TempPath);endelse Result:='';end; 函数BrowsFolder是主体,传入参数即默认的目录,返回值即选择的结果。
BrowseCallbackProc是由SHBrowseForFolder执行时需要的回调(Call Back)函数。
在这个函数中,截取了BFFM_INITIALIZED消息,在目录选择对话框初始化的时候,向对话框发送一个BFFM_SETSELECTION消息,选中默认的目录。
转载请注明出处51数据库 » delphi 读word