----赖格英-----

记忆不好了,记录工作中的点点滴滴....

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

08 2013 档案

摘要:如果有一个文件如下:TITLE = "Water Wurface Elevation"VARIABLES = "X", "Y", "WS"Zone N= 384016, E= 96004, DT=(DOUBLE DOUBLE SINGLE), F=FEPOINT, ET=QUADRILATERAL, T="Flow 54.000 @ 290.00 Days"417183.062 3121115.75 25.17824 417387.938 3121108.75 25.17824 417381.7 阅读全文
posted @ 2013-08-30 23:46 向北方 阅读(592) 评论(0) 推荐(0) 编辑

摘要:正则表达式相关的网站http://deerchao.net/tutorials/regex/regex.htm 阅读全文
posted @ 2013-08-30 22:10 向北方 阅读(475) 评论(0) 推荐(0) 编辑

摘要:我有如下数据格式3360200151750.51246.522.5n1775=1177-1316:13360200151750.51246.522.5n1778=1177-1316:13360200151750.51246.522.5n1781=1177-1316:13360200151750.51246.522.5n1784=1177-1316:13360200151750.51246.522.5nType1=1000V中间这是空的一行3360200251749.51246.520.5n1775=1177-1316:13360200251749.51246.520.5n1778=1177-1 阅读全文
posted @ 2013-08-30 21:38 向北方 阅读(6552) 评论(0) 推荐(0) 编辑

摘要:如何去掉delphi2010的欢迎界面(welcome page)方法一: 在电脑开始菜单下,找到delphi的快捷菜单,点击该菜单的属性,在“目标”的内容中,最后添加“-np”即可。如:D:\Win7\Embarcadero\Studio\15.0\bin\bds.exe -pDelphi -np 阅读全文
posted @ 2013-08-29 23:26 向北方 阅读(1331) 评论(0) 推荐(0) 编辑

摘要:2.常量2.1.普通常量仅仅下面类型可以被定义为常量Ordinal类型Set类型指针类型 (but the only allowed value is Nil).real类型Char,String下面是定义的类型Const e = 2.7182818; { Real type constant. } a = 2; { Ordinal (Integer) type constant. } c = ’4’; { Character type constant. } s = ’This is a constant string’; {String type constant.}... 阅读全文
posted @ 2013-08-29 21:03 向北方 阅读(536) 评论(0) 推荐(0) 编辑

摘要:在字符串处理中,我们经常需要对文件编码然后再进行传输,通常会使用base64编码,在FreePascal中默认集成了这个单元,我们来介绍如何使用:首先需要在引用单元的时候使用: use base64;1.解密加密函数这个函数直接对字符串进行解密、加密操作,非常简单:procedure TForm1.Button1Click(Sender:TObject);begin Memo1.Text:= EncodeStringBase64(Memo1.Text);end;procedure TForm1.Button2Click(Sender:TObject);begin Memo1.Text:= De 阅读全文
posted @ 2013-08-29 21:02 向北方 阅读(961) 评论(0) 推荐(1) 编辑

摘要:在system单元中我们有Length专门用来获取字符串宽度和数组宽度,下面例子来介绍他的功能。定义:functionLength(S:AStringType):Integer;functionLength( A:DynArrayType ):Integer; 这里我们可以看到传递的参数可以是字符串,也可以是字符。 函数返回S字符串的宽度,如果字符串是shortstring类型,字符宽度限制在255以内,如果S是空,则返回0. widestrings和ansistrings也可以使用这个函数 如果是动态数组,函数将会返回数组元素的数量。 Length函数同样支持Pchar和PWideChar类 阅读全文
posted @ 2013-08-29 21:00 向北方 阅读(442) 评论(0) 推荐(0) 编辑

摘要:描述:虚拟屏幕(桌面)可以包含多个物理显示器。Screen对象是鼠标指针、字体、窗体。 对于Delphi兼容的(不可见)DataModules也被列出了。同时也追踪当前活动窗体窗体、控件和指针。Screen 对象Screen 对象是 TScreen 类的一个变量, 它声明在 Forms 单元1.获取系统支持的字体列表 {通过 Screen 对象, 只此一句话即可获取字体列表}Memo1.Lines := Screen.Fonts; 2.获取屏幕逻辑宽度和高度(分辨率) var w,h: Integer;begin w := Screen.Width; h := Screen.Height; T 阅读全文
posted @ 2013-08-29 20:57 向北方 阅读(790) 评论(0) 推荐(0) 编辑

摘要:Delphi深度探索-CodeSite应用指南 Delphi虽然为我们提供极其强大的调试功能,查找Bug仍然是一项艰巨的工作,通常我们写代码和调试代码的所消耗的时间是大致相同的,甚至有可能更多。为了减少无谓的时间和精力的浪费,有时我们还是需要专业调试工具的帮助来提高锁定Bug的效率。本文中我们将介绍著名的调试工具CodeSite Pro 2.0(它获得了2000年度Delphi Informant读者选择的最佳调试工具奖的第二名)。它的官方网址是www.raize.com。 CodeSite的主要功能是可以让开发者使用代码来发送运行时的详细信息到特殊的接收器,以便于进一步分析。更精确的说通过C 阅读全文
posted @ 2013-08-29 15:33 向北方 阅读(2402) 评论(0) 推荐(0) 编辑

摘要:先设置: 进入“配置安装的包”,选中 EasyDockMgr 和 easyDockMgrDsgn 这两项,重新编译 Lazarus 吧修改以后,界面就变成了XE的了: 阅读全文
posted @ 2013-08-29 09:33 向北方 阅读(1318) 评论(1) 推荐(0) 编辑

摘要:delphi+cnpack用惯了,转移到lazarus有点难受是不是!其实,lazaurs的编辑器也是蛮强大的,支持代码补全,自动完成,模板编辑,多行缩进注释,选定代码后批量更改里面的单词!目前,我知道的就这些。 好,先第一个,代码补全! 按下键盘的Ctrl+W键!输入变量后按下这个键就OK啦~ 第二个,自动完成! 自动完成的快捷键大多数都冲突了,解决方法是打开Tools->Option->Editor->Key Mappings->CodeTools commands->Identifier completion上右键edit,然后根据实际情况修改吧,我的是再勾 阅读全文
posted @ 2013-08-29 09:09 向北方 阅读(3764) 评论(0) 推荐(1) 编辑

摘要://这段代码在Delphi 2007和delphi 7下是可以执行的,所以正确使用结构体数组和指针应该是这样的,已验证unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private ... 阅读全文
posted @ 2013-08-28 11:54 向北方 阅读(2920) 评论(0) 推荐(0) 编辑

摘要:就一个button事件procedure TForm1.btn7Click(Sender: TObject); Type TMyArr = array of array of array of Integer; {定义一个三维动态数组类型} Pint = ^TMyArr; var PArr: Pint; {动态数组指针变量} i,j,k,ic,jc,kc: Integer; begin Memo1.Lines.Clear; {用作维数的变量} ic := 2; jc := 3; kc := 4; {分配内存; 按说动态数组还需要 8 个管理字节, 我不知... 阅读全文
posted @ 2013-08-28 08:23 向北方 阅读(1224) 评论(0) 推荐(0) 编辑

摘要:{本例通过存取结构, 慢慢引入了数组类型与指针的一些使用方法; 其中六个小例子的测试内容和结果都是一样的. --------------------------------------------------------------------------------}unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Button1: TButton;Button2 阅读全文
posted @ 2013-08-27 21:41 向北方 阅读(2051) 评论(0) 推荐(0) 编辑

摘要:form.Free - 释放Form占用的所有资源。Free后,Form指针不能再使用,除非对Form重新赋值。 form.Hide - 隐藏Form。可以调用form.Show再一次显示。 form.close - 关闭Form,实际的结果取决于OnCloseQuery和OnClose,如果OnCloseQuery的CanClose为False,不执行任何操作,如果为True,进一步考察OnClose的Action的值: caNone: 不执行任何操作 caHide: 隐藏窗口,同form.Hide caFree: 释放Form占用的资源,同form.Free caMinimi... 阅读全文
posted @ 2013-08-27 21:21 向北方 阅读(8167) 评论(0) 推荐(0) 编辑

摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Clic... 阅读全文
posted @ 2013-08-27 20:40 向北方 阅读(6166) 评论(1) 推荐(0) 编辑

只有注册用户登录后才能阅读该文。
posted @ 2013-08-26 16:05 向北方 阅读(14) 评论(0) 推荐(0) 编辑

摘要:好多程序都给结构体变量设定了一个结构体指针 例如:PAbc = ^TAbc;TAbc = recorda: string[10];b: string[5];c: string[1];end;var Abc: PAbc;New(Abc);...Dispose(Abc); ... 我不清楚这是为什么 定义结构体变量的时候可以直接 var Abc: TAbc; 这样做啊,为什么要PAbc = ^TAbc;呢?仅仅是为内存的分配与释放么? 回答: 这个问题实际上与Delphi 的语法结构有着密切的关系。因为Delphi 所使用的语言是Pascal 所以在Pascal 中结构体与C++的结构体有着很多相 阅读全文
posted @ 2013-08-26 14:05 向北方 阅读(6344) 评论(0) 推荐(0) 编辑

摘要:选菜单里的Project->Options..(Shift+Ctrl+F11)出现ProjectOptionsforProject1.exe窗口,在左边选Packages出现如下图的东西,这样修改:1>将Runtimepackages里的[]Buildwithruntimepackages钩上2>将不需要的包去掉就行了。(一般编写Win32的程序,只要rtl;vcl就行)如果实在不知道该去哪个,可以在上面的Designpackages里选择一个包,点Components按钮就可以查看这个包提供的控件。如果没用过这个包,去掉前面的钩就行了。默认Delphi XE4 编译出来的程 阅读全文
posted @ 2013-08-20 08:44 向北方 阅读(694) 评论(0) 推荐(0) 编辑

摘要:文件内容如下:C DXDY.INP FILE, IN FREE FORMAT ACROSS COLUMNS for 83658 Active CellsC 2013-5-25 上午 10:43:53 C BOTTOM VegC I J DX DY DEPTH ELEV ZROUGH TYPE 3 143 221.500 187.900 0.090 22.000 0.0200 3 144 222.000 188.100 0.090 22.000 0.0200 3 145 222.200 188.100 0.090 22.000 0.0200 4 143 223.100 187.900 0.090 阅读全文
posted @ 2013-08-19 14:08 向北方 阅读(877) 评论(0) 推荐(0) 编辑

摘要:问题: 1.写一段C++程序,编译成动态链接库后,C程序怎么访问? 2.写一段C程序,编译成动态链接库后,C++程序怎么访问? 3.写一个类,编译成动态链接库后,里面的public变量能否访问? 对于以上问题,我在Visual C++ 6.0上进行了实验。以下是实验的过程和初步结论。 1.建立动态链接库是在新建工程中选择Win32 Dynamic-Link Library,建立空的工程,在里面添加头文件和实现文件(C程序用.c后缀,C++程序用.cpp后缀),以下给出C程序写的动态链接库代码和C++写的动态链接库代码(只包含一个Add函数):Case 1:C程序的动态链接库代码://CLib. 阅读全文
posted @ 2013-08-19 08:34 向北方 阅读(3414) 评论(0) 推荐(0) 编辑

摘要:电脑上同时安装了Office 2003和Office 2007/2010,先打开Word 2003,然后再打开Word 2010,总会弹出安装配置界面,反之亦然。解决方法:使用快捷键Win+R打开“运行”窗口,分别将下面两条命令复制到输入栏中,回车。经证实有效,但在windows8下似乎无效。命令1(用于Office 2003):reg add HKCU\Software\Microsoft\Office\11.0\Word\Options /v NoReReg /t REG_DWORD /d 1命令2(用于Office 2007):reg add HKCU\Software\Microsof 阅读全文
posted @ 2013-08-18 18:00 向北方 阅读(5810) 评论(0) 推荐(0) 编辑

摘要:在编写Delphi的应用程序中,常常涉及对其它Windows应用程序的操作。例如,在数据库的管理系统中,财务人员需要使用计算器,即可调用Windows内含的计算器功能,若每次使用,均通过“开始/程序/附件/计算器”来打开计算器,显然是非常繁琐的,当然可以考虑在桌面上建立一“计算器”的快捷方式,且定义一热键,需要使用计算器时,就按下这个热键来打开“计算器”。但由于“计算器”是一个“非模式”窗口程序,即每运行一次计算器,就会打开一个“计算器”窗口,这样的结果是桌面上出现了几十个“计算器”,不仅大量增加了系统内存的开销,而且也不方便用户的操作。在Delphi中可较轻易地控制,效果非常完美。下面就两个 阅读全文
posted @ 2013-08-18 15:02 向北方 阅读(2061) 评论(0) 推荐(0) 编辑

摘要:看你要做什么,比较现在网络很流行的QQ、MSN这些软件都屏蔽了,你可能还可以访问一些小软件的这些控制,思路及方案如下(API函数自己去百度查一下)1.得到你要这个窗口的句柄 使用FindWindow2.利用枚举函数EnumChildWindows把这个窗口里的所有文本框、按钮找到,并得到其句柄,EnumChildWindows需要一个回调函数,你可以在回调函数中把模拟输入,单击双击这些操作加上去3.在回调函数里,其实就是向你找到的按钮或文本框发送消息消息说明:比如得到文本框中的文字消息:WM_GETTEXT设置文本框的文字消息:WM_SETTEXT鼠标左键单击WM_LBUTTONDOWN必须与 阅读全文
posted @ 2013-08-18 14:55 向北方 阅读(4443) 评论(0) 推荐(0) 编辑

摘要:向其他程序发送模拟按键:1、用keybd_event:varh : THandle;beginh := FindWindow('TFitForm', '1stOpt - [Untitled1]');SetForegroundWindow(h);keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), 0, 0);keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), KEYEVENT 阅读全文
posted @ 2013-08-18 14:47 向北方 阅读(10675) 评论(0) 推荐(0) 编辑

摘要:回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数。所以很多人打比方,说回调函数还真有点像您随身带的BP机:告诉别人号码,在它有事情时Call您!所以一个回调函数写出来之后,一定有个注册的动作,就是告诉调用者,你怎么样找到我写的函数。某些Windows API 函数会要求以回调函数地址作为其参数之一,例如SetTimer 、LineDDA 、EnumObjects,以及我们下面要用到的EnumWindows。在Delphi里声明一个回调函数的格式 阅读全文
posted @ 2013-08-18 14:46 向北方 阅读(2149) 评论(0) 推荐(0) 编辑

摘要:很多情况下,我们需要在程序中实现这样的功能:在自编写的程序里控制另外一软件中的某个按钮被按下。比如,有一天你在聊QQ时觉得烦了,那么就想写程序来帮你按下“发送”按钮,省得你自己一次次动手了。那么,这个想法怎样才能实现呢?其实做法很简单,它只用两条Windows消息就能实现了。(当然,前提是你必须知道那个按钮的handle。我想这个对一般程序员来说简直是小菜一碟)这两条消息分别是:WM_LBUTTONDOWN和WM_LBUTTONUP。下面我给出一个简单的实例说明用法:procedure TForm1.Button1Click(Sender: TObject);var btnHandle: HW 阅读全文
posted @ 2013-08-18 14:36 向北方 阅读(483) 评论(0) 推荐(0) 编辑

摘要:通过修改注册表,可以达到修改双系统启动菜单的目的,方法是在注册表编辑器中,找到HKEY_LOCAL_MACHINE—BCD00000000,右击Objects,找到位置:{466f5a88-0af2-4f76-9038-095b170dc21c}—Elements—12000004,鼠标右击,在菜单中找到“权限”,在打开的窗口中,选中你的登陆账户,勾选“完全控制”,然后在{466f5a88-0af2-4f76-9038-095b170dc21c}—Elements—12000004,对其内容进行修改,即可,这是WinXP的。Win8的修改位置在{b890df32-afd7-11e1-8c96- 阅读全文
posted @ 2013-08-18 09:59 向北方 阅读(1041) 评论(0) 推荐(0) 编辑

摘要:If ReadFile(0, "Test1.txt") ; if the file could be read, we continue... If CreateFile(1, "Test2.txt") While Eof(0) = 0 ; loop as long the 'end of file' isn't reached Astring$=ReadString(0) A$=StringField(Astring$,1,",") B$=StringField(Astring$,2,"," 阅读全文
posted @ 2013-08-16 16:22 向北方 阅读(489) 评论(0) 推荐(0) 编辑

摘要:在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/ 静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初 阅读全文
posted @ 2013-08-14 09:13 向北方 阅读(278) 评论(0) 推荐(0) 编辑

摘要:rad studio 2007网络下载点:http://bbs.hnhyxy.com/bcb/CodeGear.RAD.Studio.2007.rarhttp://andy.jgknet.de/blog/archives/69-Inofficial-RAD-Studio-patch.html 补丁,可以修补右键菜单的问题。http://andy.jgknet.de/radpatch/RADStudio2007Patch.zip最新的SP3速包下载4.2GB官方版 http://altd.codegear.com/akdlm/download/radstudio2007/CodeGearRADS 阅读全文
posted @ 2013-08-13 23:19 向北方 阅读(610) 评论(0) 推荐(0) 编辑

摘要:1. C++ Builder 网上资源 C++ Builder 研究 http://www.ccrun.com/ C++ Builder 程序员 http://mybcb.diy.myrice.com/ 电脑学习 C++ Builder 版块 http://www.itcomputer.com.cn/Programs/C/CB/ c++ Builder 快捷键大全: http://www.itcomputer.com.cn/Programs/C/CB/200512/11211.html C++ Builder IDE 使用技巧: http://www.itcomputer.com.cn/Pro 阅读全文
posted @ 2013-08-13 22:51 向北方 阅读(1140) 评论(0) 推荐(0) 编辑

摘要:先声明: 不要把我说的这些个东西当作教科书, 这都是自己的浅见; 同时希望得到指正.Delphi 的指针分为 "类型指针" 和 "无类型指针" 两类. Delphi 中的类型, 常用的也得有几百个, 我们可以给每种类型定义相应的类型指针. 其实 Delphi 已经为很多类型预定义了指针, 譬如数据类型: Integer 有对应的 PInteger; Char 有对应的 PChar; string 有对应的 PString; 再譬如: TPoint 有对应的 PPoint; TColor 有对应的 PColor 等等.另外, 指针也可以有指针, 譬如: P 阅读全文
posted @ 2013-08-12 22:49 向北方 阅读(452) 评论(0) 推荐(0) 编辑

摘要:一、ELSEVIER期刊介绍:ELSEVIER出版集团创建于1580年,是世界上著名学术期刊出版公司,也是全球最大的科学文献出版发行商。它由Academic Press、Bailliere Tindall、Churchill Livingstone、Editions scientifiques et medicales Elsevier、Elsevier、Elsevier Advanced Technology、Elsevier Current Trends、Excerpta Medica、JAI、Mosby、North-Holland、Pergamon、W.B. Saunders 等出版公司 阅读全文
posted @ 2013-08-12 06:37 向北方 阅读(6619) 评论(0) 推荐(0) 编辑

只有注册用户登录后才能阅读该文。
posted @ 2013-08-08 22:31 向北方 编辑

摘要:引数:1. Text:要显示的讯息2. Caption:讯息视窗的标题列文字3. Flags:讯息旗标 3.1. 可指定讯息视窗上的图示 3.2. 可指定讯息视窗出现的按钮 3.3. 可指定预设Focus在哪一个按钮 3.4. 可指定是否 Modal 3.5. 其他引数说明:Text、Caption 引数为 PCahr 型态,字串型态的变数可用 PChar()转换,若直接传入一个字串的话,就不用转型。例如:var s: string;....s := '存档失败'; Application.MessageBox(PChar(s), '错误', MB_ICONER 阅读全文
posted @ 2013-08-07 22:53 向北方 阅读(6329) 评论(0) 推荐(0) 编辑

摘要:vars: string;begin//指令类型 types := Format('最大整数是: %d; 最小整数是: %d',[MaxInt,Low(Integer)]);//返回: 最大整数是: 2147483647; 最小整数是: -2147483648{ 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个 变体数组 }s := Format('最大的无负号整数是: %u',[High(Cardinal)]);//返回: 最大的无负号整数是: 4294967295{ %u表示一个无负号整数 }s := Format( 阅读全文
posted @ 2013-08-05 12:47 向北方 阅读(4495) 评论(0) 推荐(0) 编辑

摘要:1:指针的赋值。type RTestInfo = recordAge:Integer;end;PtestInfo = ^ RtestInfo;var Test1,Test2:PtestInfo;BeginNew(Test1);New(Test2);Test1^.Age:=12;Test2:=Test1;Application.MessageBox(Pchar(IntToStr(Test2^.Age)),'测试',MB_OK);Test1^.Age:=13;Application.MessageBox(Pchar(IntToStr(Test2^.Age)),'测试' 阅读全文
posted @ 2013-08-05 10:03 向北方 阅读(418) 评论(0) 推荐(0) 编辑

摘要:一、指针:指向一个内存地址的变量或参数。 二、定义指针的方式如下: P: Pointer; //定义了可以指向任何类型的指针,Pointer 为无类型指针; Q, R: ^TType; //定义了指向 TType 类型的两个指针,TType 可是是各种 //基本类型或自己定义的各种类型,也可以如下定义: // type PType = ^TType; // var Q, R: PType; 三、指针的使用: P: Pointer; Q, R: ^TType; A: TType; Q:= R; //相同类型可以赋值 P:= R; //可... 阅读全文
posted @ 2013-08-05 08:10 向北方 阅读(3280) 评论(0) 推荐(0) 编辑

摘要:DELPHI指针的使用大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。 以下内容分为八部分,分别是 一、类型指针的定义 二、无类型指针的定义 三、指针的解除引用 四、取地址(指针赋值) 五、指针运算 六、动态内存分配 七、字符数组的运算 八、函数指针 一、类型指针的定义。对于指向特 阅读全文
posted @ 2013-08-05 08:00 向北方 阅读(16757) 评论(0) 推荐(0) 编辑