GVKun编程网logo

Delphi 委托实现的简例

8

以上就是给各位分享Delphi委托实现的简例,同时本文还将给你拓展.Delphi7升级到Delphi2010、DelphiXE、DelphiXE2总结、C#委托实例实现的多种类型、Delphi7下使用

以上就是给各位分享Delphi 委托实现的简例,同时本文还将给你拓展.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结、C# 委托实例实现的多种类型、Delphi 7下使用Log4Delphi 0.8日志组件、Delphi WideString和Delphi 2009等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Delphi 委托实现的简例

Delphi 委托实现的简例

总结

以上是小编为你收集整理的Delphi 委托实现的简例全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结

.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结

总结

以上是小编为你收集整理的.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

C# 委托实例实现的多种类型

C# 委托实例实现的多种类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication17
{
    public delegate string testDelegate(string a, int b);
    class Program
    {
        static void Main(string[] args)
        {
            //1 C# 1 最原始的委托赋值
            testDelegate t1 = new testDelegate(M);

            //2 C# 2 委托赋值
            testDelegate t2 = delegate (string a, int b)
            {
                Console.WriteLine(a + b.ToString());
                return a + b.ToString();
            };

            //3 C# 3 委托赋值(a,b值类型对应委托声明的类型)
            testDelegate t3 = (a, b) =>
            {
                Console.WriteLine(a + b.ToString());
                return a + b.ToString();
            };
            // 调用委托实例
            t1.Invoke("测试1", 665);
            t2.Invoke("测试2", 666);
            t3.Invoke("测试3", 667);
        }
        static string M(string a, int b)
        {
            Console.WriteLine(a + b.ToString());
            return a + b.ToString();
        }
    }
}

 

Delphi 7下使用Log4Delphi 0.8日志组件

Delphi 7下使用Log4Delphi 0.8日志组件

Log4Delphi是一个开放源码项目,旨在制作用于Borland的Delphi高质量实用的日志套件,是基于Apache Software Foundation的log4j包。


安装:
        1.从 http://sourceforge.net/projects/log4delphi/files /下载0.8版本,解压到文件夹。打开文件夹"...\log4delphi-0.8",新建一个文件夹" build ";
        2.运行Delphi 7,打开组件包" log4delphi_D7_PROF.dpk ",位于"...\log4delphi-0.8\src\delphi"下,点击"Compile"和"Install"进行编译安装;
        3.菜单"Tools"→"Environment Options"→"Library"→"Library path",添加" ...\log4delphi-0.8\build "目录(如果需要连接源代码,则再添加"...\log4delphi-0.8\src\delphi"和"...\log4delphi-0.8\src\delphi\util");
使用:
        1.新建一个应用程序,保存当前工程。
        2.菜单"Project"→"View Source",添加初始化日志等,代码如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
program Project1; 
 
uses 
  Forms, 
  TConfiguratorUnit,   {需要引用该单元} 
  Unit1 in 'Unit1.pas' {Form1}
 
{$R *.res} 
 
begin 
  Application.Initialize; 
  doPropertiesConfiguration('log4delphi.properties');  {初始化,读取属性} 
  Application.CreateForm(TForm1, Form1); 
  Application.Run; 
end
        3.将"...\log4delphi-0.8\example\ log4delphi.properties "复制到工程目录下;
        4.在窗体上放置两个按钮,单击事件和窗体的销毁事件如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20 implementation 
 
uses TLoggerUnit;    {需引用此单元} 
 
{$R *.dfm} 
 
procedure TForm1.btn1Click(Sender: TObject); 
begin 
  TLogger.GetInstance.Debug('按钮1被点了');   {获取TLogger实例} 
end
 
procedure TForm1.btn2Click(Sender: TObject); 
begin 
  TLogger.GetInstance.Info('按钮2也被点了');  {包括:Fatal、Error、Warn、Info、Debug、Trace} 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  TLogger.FreeInstances;   {在不需要使用的时候,释放掉} 
end
        5.运行程序,点击按钮一和按钮二,关闭程序。在工程目录下,发现会有" app.log "文件,打开如下所示:


        6.打开属性文件"log4delphi.properties",可查看一些默认的属性以及属性说明。比如可以设置日志文件的布局,原内容如下:
1
2
3
4
5
6
log4delphi.appender.fileAppender.layout=TSimpleLayout 
#log4delphi.appender.fileAppender.layout=TXMLLayout 
#log4delphi.appender.fileAppender.layout=THTMLLayout 
#log4delphi.appender.fileAppender.layout.Title=Document Title 
#log4delphi.appender.fileAppender.layout=TPatternLayout 
#log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n 
        默认是打开TSimpleLayout,这是简单布局,格式如同上面截图一样。如果我们需要按照时间格式进行日志输出,需要先禁用TSimpleLayout,再打开TPatternLayout和其下的样式,如:
#log4delphi.appender.fileAppender.layout=TSimpleLayout 
#log4delphi.appender.fileAppender.layout.Title=Document Title 
log4delphi.appender.fileAppender.layout=TPatternLayout 
log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n 
        7.再次执行第5步,打开如下图所示:


        8.如果时间格式不符合个人的要求,完全可以自己自定义格式,具体可以参考用户向导( http://log4delphi.sourceforge.net/userguide.html )。

扩展资料:

1.Log4delphi使用心得 http://www.cnblogs.com/kfarvid/archive/2010/08/02/1790641.html


http://blog.csdn.net/akof1314/article/details/6827065

Delphi WideString和Delphi 2009

Delphi WideString和Delphi 2009

我正在编写一个类,将宽字符串保存到二进制文件.我正在使用Delphi 2005,但该应用程序将被移植到Delphi 2010.我在这里感到非常不确定,有人可以确认:

> Delphi 2005 WideString与Delphi 2010 String完全相同
> Delphi 2005 WideString char以及Delphi 2010 String char保证始终为2个字节大小.

使用所有的Unicode格式,我不想被我的字符串中的一个字符串突然3字节宽或类似的东西.

编辑:找到这个:“我确实说UnicodeString,而不是WideString,WideString仍然存在,并且不变,WideString由Windows内存管理器分配,应该用于与COM对象交互,WideString直接映射到COM中的BSTR类型“.在http://www.micro-isv.asia/2008/08/get-ready-for-delphi-2009-and-unicode/

现在我更困惑了所以Delphi 2010的WideString与Delphi 2005 WideString不一样?应该使用UnicodeString吗?

编辑2:Delphi 2005中没有UnicodeString类型.

解决方法

对于您的第一个问题:WideString与D2010的字符串不完全相同. WideString是一直以来一样的COM BSTR类型.它由Windows管理,没有引用计数,所以每当你在某个地方通过它时,它会复制整个BSTR.

UnicodeString,它是D2009及其中的默认字符串类型,基本上是我们都知道和喜欢的AnsiString的UTF-16版本.它有一个引用计数,由Delphi编译器管理.

对于第二个,默认的char类型现在是WideChar,它们是与WideString一直使用的相同的字符.它是一个UTF-16编码,每个字符2个字节.如果将WideString数据保存到文件中,可以将其加载到UnicodeString中,而不会有麻烦.两种类型之间的区别与内存管理有关,而不是数据格式.

关于Delphi 委托实现的简例的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.Delphi7升级到Delphi 2010、Delphi XE、Delphi XE2总结、C# 委托实例实现的多种类型、Delphi 7下使用Log4Delphi 0.8日志组件、Delphi WideString和Delphi 2009的相关信息,请在本站寻找。

本文标签: