- 博客(22)
- 资源 (26)
- 收藏
- 关注
原创 Delphi笔记整理(二)
◇[DELPHI]字符的加密与解密 function cryptstr(const s:string; stype: dword):string;vari: integer;fkey: integer;beginresult:='';case stype of0: setpass;beginrandomize;fkey := random($ff);
2012-10-31 21:17:54 5313
原创 Delphi的笔记整理(一)
这几天清理资料,把以前学Delphi时的笔记翻出来了。大概是2005年时的吧,有些资料都没有什么价值了。以后再整理吧。 Delphi Note1、触发器的使用。源数据库:名称:info字段:idd、namee、age、sex、city、department、position目标数据库:名称:leave字段:idd、namee、type1、 修改操
2012-10-31 21:16:20 8272
原创 Delphi指针用法
delphi 中一切皆指针,任何类型都是指针,不错,你没看错。不过本篇不详细的说明delphi中指针的用法,因为篇幅所限,只是简单说明一下。delphi 中有的语法看起来比较奇怪如ppointer等,其实ppointer(p)与 pointer(p)是一样的,只不过是将其视做的对象不同而已,任何类型的指针都可以通过integer(p)转换成integer( 这里的integer就是地址的值)。
2012-10-30 22:18:27 1374
原创 delphi中一切皆指针
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,TypInfo,ObjAuto;type TForm1 = class(TForm) btn1: TButton;
2012-10-26 15:45:46 787
转载 Delphi指针大全
Delphi指针理解 看一个指针用法的例子: 1 var 2 X, Y: Integer; // X and Y 整数类型 3 P: ^Integer; // P 指向整数类型的指针 4
2012-10-26 15:29:57 662
转载 Delphi动态事件
Delphi动态事件深入分析核心提示:本实验证明了在类中方法的调用时候,所有的方法都隐含了一个Self参数,并且该参数作为对象方法的第一个参数传递...首先做一个空窗体,放入一Button。在implementation下面声明两个方法如下://外部方法,只声明一个参数,此时按照标准的对象内部事件方法TNotifyEvent声明,此声明中,Sender则对应为产生该事件的对
2012-10-26 15:26:21 1465
原创 Delphi反射
最近在写一个框架,需要用到反射,与C# java这些原生支持反射的语言不同,delphi对反射的支持相对要弱一些,但也够用了,其实C#的大部分的思想还是从 delphi而来,毕竟都是安德鲁斯的杰作。这是只谈想法,不谈实现。Delphi7里其实就有对反射的支持了,typInfo,objAuto。基本上可以实现大部分的功能。但对静态方法的支持目前还没有好的解决办法。调用objectInvoke时
2012-10-26 13:58:26 2364
转载 delphi程序设计之底层原理
虽然用delphi也有7,8年了,但大部分时间还是用在系统的架构上,对delphi底层还是一知半解,今天在网上看到一篇文章写得很好,虽然是07年的,但仍有借鉴的价值。现摘录如下:Delphi程序设计之--经验技巧这些日子太忙了,今天把剩下的部分贴完,希望对大家有用。看过前一篇的都知道此文的作者和出处,我就不详细说了。 { No. 16 }//对于记录类型Record的分析。
2012-10-25 20:49:48 2176
转载 Delphi中methodaddress的代码解析
class function TObject.MethodAddress(const Name: ShortString): Pointer;asm { -> EAX Pointer to class } { EDX Pointer to name } PUSH EBX
2012-10-25 15:26:40 1978
原创 c++中对目录的操作示例
#include #include #include #include void show_directory(char *directory_name) { DIR *directory_pointer; struct dirent *entry; unsigned attributes; if ((directory_pointer = o
2012-10-24 08:48:20 691
原创 ios::sync_with_stdio();
#include #include void main(void) { ios::sync_with_stdio(); printf("This book is "); cout getchar(); }
2012-10-23 17:22:35 790
原创 c中的atexit函数使用示例
#include #include void first(void) { printf("First function registered\n"); }void second(void) { printf("Second function registered\n"); }void main(void) { atexit(first);
2012-10-23 17:10:03 704
原创 main函数中获取环境变量
#include #include void main(int argc, char *argv[], char *env[]) { printf("Command line\n"); while (*argv) puts(*argv++); printf("Environment entries\n"); while (*env)
2012-10-23 17:01:25 1521
原创 C中__FILE__ __LINE__的用法
#include void main(void) { printf("File %s: Successfully reached line %d\n", __FILE__, __LINE__); // Other statements here #line 100 "FILENAME.C" printf("File %s: Successf
2012-10-23 16:58:37 786
原创 win32异常处理函数
Win32程序在出现未处理异常时,会调用这个函数,我们就在这里处理程序挂掉后的所有事,包括重启。原型:LONG WINAPI FreeEIM_UnhandledExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);我们这里先简单试验一下。LONG WINAPI FreeEIM_UnhandledExceptionFilter(LPEXC
2012-10-22 21:40:37 2805
原创 oop中构造函数编写的注意事项
编写构造函数时,最好不要将容易触发异常的代码写在其中,因为若在构造函数中触发异常的话,有的资源若已申请,就没有办法释放,再则,一般在析构函数中释放资源。所以一般的写法是:在构造函数中初始化各个变量,再写一个初 始化(init)函数,来申请资源,在析构函数中释放变量所申请的资源。
2012-10-21 08:55:01 818
原创 关于控制台程序的一些想法
前些天,把公司以前的服务器 上的解析程序重写了下,又另写了个程序,用的是C#,鉴于控制台程序的一些常用操作,我写了一个控制台的简单框架,可以实现一般的菜单选择,选择输出,日志记录 ,参数功能等,放到codeplex上,主要是想多跟大家交流下,方便别人也提高自已。地址如下:https://consoleframework.codeplex.com/,代码过几天就放上去。以后会不断更新。其实这类框架我
2012-10-15 21:52:43 480
转载 使用object pascal写的窗口类
program ObjectPascalWinHello;uses Windows, Messages, SysUtils;const AppName = 'ObjectPascalHello';function WindowProc(Window: HWnd; AMessage: UINT; WParam : WPARAM; LP
2012-10-15 13:24:44 611
原创 Delphi下用API代码创建Form
program PMyWindowClass;uses Windows, Messages, SysUtils;type TMyWindow = class(TObject) private { Private declarations } WindowClass: WndClass; hWindow: HWnd; AM
2012-10-15 13:16:43 772
原创 c中的动态参数
#include #include double add_values(char *str, ...){ va_list marker; double result = 0.0; va_start(marker, str); // mark first additional argument while (*str)
2012-10-11 11:42:36 1197
原创 淡定,淡定
平时最讨厌有些人,懂的不多,总爱显摆,说起来夸夸其谈,你要让他具体做一些事吧,就傻眼了,这个求这个人做,那个求那个人做。真是可恨!不过过后,就不气了,不值得。
2012-10-10 15:03:58 453
C#通用类库及通用数据库类库
2015-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人