对Delphi的第一次征服

    明天考六级,在坚强地面对模拟题一个小时,我放弃了,再一次验证了英语是不可突击的。随手拿起一本书, 是前两天从图书管淘到一本好书。

    《软件加密技术从入门到精通》史子荣编著。再次翻开它,只想今天入门。可是那Delphi源码怎么看怎么不顺眼。这个作者也真是的,为啥不用C/C++啊(本人算是一个C++程序员)。

     本着革命不放弃的精神,我毅然装上了Delphi 2007.玩了半个小时后,不断的新建,删除,还是没有头绪。看着第4页上用于读着注册表的源码,TForm1,Button.咋看咋这么熟啊,这不是MFC中的控件嘛。这下好了,我就瞄准了Form编程。

    在Welcome Page 中选择 New Project | VCL Forms Application

    然后 File|Save Project As ... ...

    接下来就是添加Button控件,嘿嘿,这点难不倒我,我右下角角落找到控件栏,加上。接着玩,发现双击Buttion控件后,源码中出现

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

    猜想这是一个Button响应函数,似乎没有问题。

     在uses 中添加 Registry

     然后 在procedure TForm1.Button1Click(Sender: TObject);可添加变量和过程,发现有

     Edit1.Text := Reg.ReadString('lfFacename'); 不说在Foem中添加Edit控件,

    目前为止,一切顺历。

    运行, OK , 出现对话框, 点击Button,没反应。

     在运行框中输入regedit打开注册表编织,发现在Notepad中没有lfFaceName属性。

在东摆西摆,突然想到它没有这个属性,咱不是可以自己加嘛。右键|New|String Value.    输入lfFaceName, 至于属性的值想怎么加就怎么加吧。

    再次运行,OK, 下面附上今天的源代码:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Registry;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg:TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  if Reg.OpenKey('/Software/Microsoft/Notepad', False) then
    Edit1.Text := Reg.Readstring('BitEncrypt');
  Reg.CloseKey;
  Reg.Destroy;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Reg : TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CURRENT_USER;
  if Reg.OpenKey('/Software/Microsoft/Notepad', False) then
    Reg.WriteString('BitEncrypt', Edit2.Text);
  Reg.CloseKey;
  Reg.Destroy;
end;

end.

     以下是INI文件操作的源代码:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IniFiles;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  IniFileName : String;
  MyIniFile: TIniFile;
begin
  // Ini 文件名和路径
  IniFileName := ExtractFilePath(Application.ExeName)+'MyIni.ini';
  MyIniFile := TIniFile.Create(IniFileName);  // 创建TIniFile对象
  MyIniFile.WriteString('软件加密','技术内容',Edit1.Text); // 写入信息
  MyIniFile.Destroy; // 释放对象
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  IniFileName : String;
  MyIniFile : TIniFile;
begin
  // ini文件名和路径
  IniFileName:=ExtractFilePath(Application.ExeName)+'MyIni.ini';
  MyIniFile := TIniFile.Create(iniFileName); // 创建TIniFile对象
  Edit2.Text := MyIniFile.ReadString ('软件加密','技术内容','错误'); // 读取信息
//  Edit2.Text := MyIniFile.ReadString ('软件加密','加密内容'); // 读取信息 [DCC Error] Unit1.pas(50): E2035 Not enough actual parameters
  MyiniFile.Destroy;
end;

end.
                              对话框的样式如图片所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值