- 博客(25)
- 收藏
- 关注
原创 字符串截取
unit CutStr;interfaceuses Classes; type wd = record a : String; b : String; c : String; end;function cutin(StrSource,StrBegin,StrEnd:string):string;function cutout(StrSou
2015-10-22 13:43:13 664
原创 delphi数组
var MyArr: array[0..1, 0..2] of char;beginMyArr[0,0] := 'a';MyArr[0,1] := 'b';MyArr[0,2] := 'c';MyArr[1,0] := '1';MyArr[1,1] := '2';MyArr[1,2] := '3';MyArr[0,0] := Chr(0);Show
2015-10-22 13:40:06 935
原创 OllyDBG 入门系列(一)-认识OllyDBG
OllyDBG 1.10 版的发布版本是个 ZIP 压缩包,只要解压到一个目录下,运行 OllyDBG.exe 就可以了。汉化版的发布版本是个 RAR 压缩包,同样只需解压到一个目录下运行 OllyDBG.exe 即可:OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考 TT 小组翻译的中文帮助:反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地
2013-01-11 01:33:20 491
原创 VC++编程实现镜像劫持
所谓的镜像劫持,就是在注册表的[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Image File Execution Options]处新建一个以杀毒软件主程序命名的项,例如Rav.exe。然后再创建一个子键“Debugger="C:\WINDOWS\system32\drivers\”。以后只要用户双击 R
2013-01-11 01:31:38 3017
原创 Delphi的学习笔记十五——数据库编程1
Delphi7中有许多对数据库操作的组件,他们因数据访问机制的不同而被分成四大类:1.BDE组件:使用Borland数据库引擎,它最擅长处理Paradox or dBASE表中的数据。但它的配置也是四个机制中最为复杂的;同时,BDE组件能与其它采用BDE组件的应用程序共享。在Delphi7的操作界面,我们能看到在BDE组件中包含Table(可以从数据库中读取数据给DataSource或者将
2013-01-11 01:30:59 645
原创 Delphi的学习笔记十四——接口2
接口的属性1.接口属性的定义{此接口声明了一个 Name 属性; 因为接口没有字段, read/write 都只能从方法} IMyInterface = interface function GetName:string; procedure SetName(val:string); property name:string read GetName wri
2013-01-11 01:30:27 277
原创 Delphi的学习笔记十四——接口1
1.接口命名约定I起头,类是T起头的。IMyInterface1 = Interface function Func1:Integer; function Func2:Integer; end;2.接口都是从IInterfacej继承的,若是从根接口继承,则可省略 {定义继承接口的类} TMyClass = class(TInterfacedObject,IMy
2013-01-10 18:48:30 306
原创 Delphi的学习笔记十三——属性1
首先我们来看一下属性的定义:TMyClass = class(TObject) private FName: string; procedure SetName(const Value: string); published property Name: string read FName write SetName; end;2、read、writ
2013-01-10 18:47:20 284
原创 Delphi的学习笔记十二——方法2
1.构造方法和析构方法我们都知道,构造方法是对象建立时调用的方法;析构方法是在对象销毁时调用的方法。例如:TMyClass = class(TObject) public constructor Create; {构造方法} destructor Destroy; override; {析构方法} end; 必须使用construc
2013-01-10 18:46:30 264
原创 Delphi的学习笔记十二——方法1
1.类的虚方法(virtual)和动态方法(dynamic)方法的定义:TMyClass = class procedure Proc1(x,y: Real); virtual; //虚方法 function Fun1(x,y: Real): Real; virtual; procedure Proc2(x,y: Real); dynamic; //动态方
2013-01-10 18:43:58 407
原创 Delphi的学习笔记十一——类4
1.类的方法参数可以分为四种(默认参数(传值)、var(传址)、out(输出)、const(常数))。这里需要注意的是var定义的参数,例如:{var参数是传址, 会被改变} function MyF2(var x: Integer): Integer; begin Inc(x); Result := x; end; Inc(x):表示对x的内存地址加1
2013-01-10 18:43:03 395
原创 Delphi的学习笔记十一——类3
1.类的继承继承类的定义{父类} TBase = class procedure msg1; end; {继承父类} TChild = class(TBase) procedure msg2; end; 对于子类与父类的使用与一般类的调用并没有特殊的区别,这里不再详述。在子类中,如果需要调用父类的方法,可以利
2013-01-10 18:41:11 290
原创 Delphi学习笔记十一——类2
1.结构与类都是自定义类型,结构可以直接使用,内存是自动管理;类对象需要创建才可以使用,并在使用完成后需要对其手动释放。例如type TMyRecord = Record d:TDate; end; TMyClass = class d:TDate; end; procedure TForm2.Button1Click(Send
2013-01-10 18:39:37 268
原创 Delphi的学习笔记十一——类1
1.类成员的可见性private //不可见 protected //派生类可见 public //可见 published //可见。用于运行时信息 automated //可见。用于兼容 2.类方法调用inherited(继承):就是调用父类的函数。如果不带参数就是默认调用父类的同名函数;如果
2013-01-10 18:10:35 373
原创 Delphi 的学习笔记十——数组
1.给动态数组添加元素type //定义数组类型 TOneArray = array of Integer; {动态数组添加一个元素} procedure AddArrayItem(var arr: TOneArray;x:Integer); begin //设置数组长度+1 SetLength(arr,Length(Arr)+1); Arr
2013-01-10 18:07:35 530
原创 Delphi的学习笔记九——汉字与区位码
在没有 Uncode 的时代, 用 256 个 ACSII 只是方便了英文, 其他文字怎么办?那时是各自为政的, 譬如中文就有: GB2312-80(国内简体)、Big5(台湾繁体)、HKSCS(香港繁体), 但它们互不兼容.GB2312(1980年) 后来升级到 GBK(1995年), 现在电脑上使用的是 GB18030(2000年), 这个系列是向后兼容的.区位码的概念
2013-01-10 18:05:05 500
原创 Delphi的学习笔记八——内存操作函数
给字符串分配指针,我们马上可以联想到有以下这些函数可供选择:GetMemAllocMemReallocMemFreeMemGetMemoryReallocMemoryFreeMemoryNewDisposeNewStrDisposeStrStrNewStrAllocStrDisposeGlobalAllocPtrGlobalFreePtrWideStrA
2013-01-10 18:02:11 545
原创 Delphi的学习笔记七——格式化输出函数(总结的很全面)
第一部分:var s: string;begin //指令类型 type s := Format('最大整数是: %d; 最小整数是: %d',[MaxInt,Low(Integer)]); //返回: 最大整数是: 2147483647; 最小整数是: -2147483648 { 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个变
2013-01-10 17:56:03 921
原创 Delphi学习笔记六——文件路径相关的字符串操作
uses HTTPApp, Masks;procedure TForm1.Button1Click(Sender: TObject);var ss,s: string;begin //先提取一个文件名的字符串 ss := Application.ExeName; ShowMessage(ss); //C:\Documents and Settings\wy\My Do
2013-01-10 17:54:16 286
原创 Delphi学习笔记五——方法
今天我们来简单介绍一下ObjectPascal的方法。和其他语言一样,ObjectPascal语言的方法是属于一个给定对象的过程和函数。构造器和析构函数也是方法。一、方法的类型方法的类型包括静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)。1.1静态方法procedureIAmAStatic;IAmAStatic是一个静态方法
2013-01-10 17:50:49 385
原创 Delphi学习笔记四——语句
今天我们来看一下Delphi的语句。一、常量声明语句和其他语言一样,常量在声明时就被赋值,且在程序执行过程中是不可改变的。常量用“=”表示两边的值是相等的。const Pi = 3.14159; Answer = 342; ProductName = 'Delphi'; 二、赋值语句这个语句最常用,在之前也介绍过。这里就举个例子。
2013-01-10 17:47:24 421
原创 Delphi学习笔记三——运算符
今天我们来看一下Delphi的运算符:一、赋值运算符对于Pascal的新手来说,Delphi的赋值运算符和其它常用编程语言的赋值运算符不大一样,需要用:=来表示。例如:Number := 5; 二、比较运算符对于Object Pascal来说,用=运算符来对两个表达式或两个值进行逻辑比较运算;用三、逻辑表达式Pascal用and和or作为逻辑与和逻辑或的运算符,用not作为逻
2013-01-10 17:42:44 882
原创 Delphi学习笔记二——数据类型
Delphi的数据类型主要有以下这几类:简单数据类型(Simple),字符串数据类型(String),结构数据类型(Struct),指针数据类型(pointer),函数和过程数据类型(procedural),变体数据类型(variant)等。下面我们来一一做一个介绍。一、简单数据类型简单数据类型分为有序数据类型(ordinal)和实数数据类型(real)两种。1.1 有序数
2013-01-10 17:20:58 600
原创 Delphi学习笔记一——Delphi的项目文件简介
我们在用Delphi创建一个项目的时候一般会看到如下图所示的文件包含在项目文件夹中下面我来一一做一下介绍:.res文件——资源文件。{$R *.RES}这个语句是在项目文件中出现的,意思是调用该项目中存在的资源文件。你也可以创建自己的资源文件,调用语句为$R FileName.RES.pas文件——单元文件(这个也是我们用于代码编写的文件).dfm文件——窗体文件
2013-01-10 17:17:56 416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人