如题,小弟刚学DEPHI以前学vb的所以麻烦各位各举个例子,谢谢了

解决方案 »

  1.   

    外部:(uses shellapi)ShellExecute/WinExec
    ini: uses inifiles;
    var i:tinifile;
    begin
    i:=tinifile.create('myini.ini');
    i.readinteger(..
    i.writestring(..
    就是了
    注册表:
    uses registry;
    with tregistry.create do
    ...
    Uses 了API声明单元,可以直接使用
    不必像VB那样,自己声明,少数除外;
    具体的看Help/ by LY http://www.99898.com/www/lysoft
      

  2.   

    iniTiniFile类中定义了许多成员函数  ⑴  Create()    函数定义为:  constructor Create(const FileName: string);该函数建立TiniFile类的对象。参数FileName是要读写的初始化文件名。若读写的文件在Windows的目录里(如system.ini文件),则可以直接写文件名而不必指定路径,否则就必须指定路径(如d:\ucdos\rdfnt.ini)。如按以下规则在规定的目录中存在该文件,则打开该初始化文件;否则在规定的目录里创建该初始化文件。  ⑵  ReadSections()    过程定义为:  procedure ReadSections(Strings: TStrings);该过程将从所建立的TiniFile类的对象(即与之关联的初始化文件)中读取所有的节点名(即用[]括号括起的那部分,如rdfnt.ini文件中的[True Type fonts list])存入字符串列表中。参数Strings即为字符串列表的变量名。  ⑶  ReadSectionValues()    过程定义为:  procedure ReadSectionValues(const Section: string; Strings: TStrings);    该过程将参数Section的值所对应的节点(如rdfnt.ini文件中的[True Type fonts list])中的各个关键字(如ARIALBI.TTF)及其所含的值(如ARIALBI.TTF关键字值为67)读入参数Strings指明的字符串列表中。  ⑷  ReadSection()过程定义为:  procedure ReadSection(const Section: string; Strings: TStrings);该过程将参数Section的值所对应的节点中的各个关键字读入参数Strings指明的字符串列表中。与ReadSectionValues()不同的是它没有读取各个关键字的对应值。  ⑸  ReadString()    函数定义为:  function ReadString(const Section, Ident, Default: string): string;该函数返回以参数Section的值为节点名、参数Ident的值为关键字名所对应的关键字值(如[True Type fonts list]节中ARIALBI.TTF关键字的值为67)。当指定的节点或节内的关键字不存在时,则函数返回参数Default的缺省值。返回的值是一个字符串型数据。当指定节点中关键字值的数据类型不是字符串时,则可用ReadInteger()成员函数读取一个整型值,用ReadBool()成员函数读取一个布尔值。  ⑹  WriteString()过程定义为:  procedure WriteString(const Section, Ident, Value: string);该过程将参数Section的值为节点名、参数Ident的值为关键字名的关键字值设置为参数Value的值。该过程设置的是字符串型数据。当指定节点和关键字均存在时,则用Value的值替代原值;如指定节点不存在,则在关联的初始化文件中自动增加一个节点,该节点的值为参数Section的值,并在该节点下自动增加一个关键字,关键字名为参数Ident的值,该关键字对应的值为参数Value的值;若节点存在,但关键字不存在,则在该节点下自动增加一个关键字,关键字名为参数Ident的值,该关键字对应的值为参数Value的值。若要设置整型值,可调用WriteInteger()成员函数;用WriteBool()成员函数设置布尔值。给个例子
    unit unitFrmMain;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, inifiles;type
      TForm1 = class(TForm)
        cobSection: TComboBox;
        cobIni: TComboBox;
        Edit1: TEdit;
        btnChange: TButton;
        Label1: TLabel;
        Label2: TLabel;
        btnSave: TButton;
        procedure FormCreate(Sender: TObject);
        procedure cobSectionChange(Sender: TObject);
        procedure cobIniChange(Sender: TObject);
        procedure btnChangeClick(Sender: TObject);
        procedure btnSaveClick(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      IniFile: TIniFile;
    implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
    begin
    // 使用TIniFile类的Create成员函数建立TIniFile对
    //象,该对象用来读写当前目录中的sample.ini文件,
      IniFile := TIniFile.Create('1.ini');
    //读取节点
      cobSection.Clear;
      IniFile.ReadSections(cobSection.Items);
      cobSection.ItemIndex := 0;
      cobSectionChange(sender);
      btnSave.Enabled := false;end;procedure TForm1.cobSectionChange(Sender: TObject);
    begin
      cobIni.Clear;
    // 将cobSection中所选择节中对应的各个
    //变量及对应的值送入cobIni
      IniFile.ReadSection(cobSection.Text, cobIni.Items);
      cobIni.ItemIndex := 0;
      cobIniChange(Sender);
    end;procedure TForm1.cobIniChange(Sender: TObject);
    begin
      btnSave.Enabled := false;
    //将选择的关键字值读入
      Edit1.Text := IniFile.ReadString(cobSection.Text, cobIni.Text, '');end;procedure TForm1.btnChangeClick(Sender: TObject);
    begin
      btnSave.Enabled := true;
      Edit1.Enabled := true;
      Edit1.SetFocus;
    end;procedure TForm1.btnSaveClick(Sender: TObject);
    begin
      if Edit1.Modified then
        IniFile.WriteString(cobSection.Text, cobIni.Text, Edit1.Text);
      Edit1.Enabled := false;
      btnSave.Enabled := false;
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      FreeAndNil(IniFile);
    end;end.
      

  3.   

    注册表unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Menus, StdCtrls, Registry;type
      TForm1 = class(TForm)
        Label1: TLabel;
        Edit1: TEdit;
        OpenDialog1: TOpenDialog;
        MainMenu1: TMainMenu;
        Button1: TButton;
        Button2: TButton;
        N1: TMenuItem;
        FileList1: TMenuItem;
        FileList2: TMenuItem;
        FileList3: TMenuItem;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure N1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    begin
            if OpenDialog1.Execute then
                    Edit1.Text := OpenDialog1.FileName;
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
            Reg: TRegistry;
    begin
            Reg := TRegistry.Create;
            try
                    Reg.RootKey:= HKEY_CURRENT_USER;
                    if(Reg.OpenKey('\Software\Delphi实例\文件列表',False))=False then
            BEGIN
                // 如果注册表中没有信息则创建初始化信息
                 Reg.CreateKey('\Software\Delphi实例\文件列表');
                 Reg.OpenKey('\Software\Delphi实例' , True) ;
                 Reg.WriteString('ver', '1.0');
                 Reg.CloseKey;
                 Reg.OpenKey('\Software\Delphi实例\文件列表' , True ) ;
                 Reg.WriteString( ' 1 ' , ' ' ) ;
                 Reg.WriteString( ' 2 ' , ' ' ) ;
                 Reg.WriteString( ' 3 ' , ' ' ) ;
            end;
            finally
                    Reg.CloseKey;
                    Reg.Free;
            end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
            Reg: TRegistry;
    begin
            Reg := TRegistry.Create;
            try
                    Reg.RootKey := HKEY_CURRENT_USER;
                    if Reg.OpenKey('\Software\Delphi实例\文件列表',False) then
                    begin
                            // 按文件打开的先后顺序排列文件列表,将最新打开的文件放在最前面
                            Reg.WriteString( '3', Reg.ReadString('2') );
                            Reg.WriteString( '2', Reg.ReadString('1') );
                            Reg.WriteString( '1', Edit1.Text );
                    end
                    else
                            MessageBox(Handle, '保存文件列表失败。' , '错误' , MB_OK+MB_ICONERROR);
                    finally
                            Reg.CloseKey;
                            Reg.Free;
                    end;
    end;
    procedure TForm1.N1Click(Sender: TObject);
    var
            TempStr: string;
            Reg: TRegistry;
    begin
            Reg := TRegistry.Create;
            try
            Reg.RootKey := HKEY_CURRENT_USER;
            if Reg.OpenKey('\Software\Delphi实例\文件列表',False) then
            BEGIN
            // 第一个菜单命令
            TempStr := Reg.ReadString( '1' );
            // 如果字符串不为空则设置菜单命令的C a p t i o n属性
            if TempStr <> '' then
            begin
            FileList1.Caption:='&1 '+TempStr ;
            FileList1.Visible := True;
            end
            else // 如果字符串为空则隐藏该菜单命令
            FileList1.Visible := False;
            // 第二个菜单命令
            TempStr := Reg.ReadString( '2' );
            if TempStr <> '' then
            begin
            FileList2.Caption:='&2 '+TempStr;
            FileList2.Visible := True;
            end
            else // 如果字符串为空则隐藏该菜单命令
            FileList2.Visible := False;
            // 第三个菜单命令
            TempStr := Reg.ReadString( '3' );
            if TempStr <> '' then
            begin
            FileList3.Caption:='&3 '+TempStr ;
            FileList3.Visible := True;
            end
            else // 如果字符串为空则隐藏该菜单命令
            FileList3.Visible := False;        end;
            finally
            Reg.CloseKey;
            Reg.Free;
            end;
    end;end.
    自己看吧