zoukankan      html  css  js  c++  java
  • Delphi中资源的简单应用

    Delphi中资源的简单应用。首先,我们先创建一个扩展名为:.RC的文本文件,然后在该我们文件中输入:

    资源标识符   +   关键字   +   资源文件名

    我们先来看一看这几个文字的具体含义:

    1.资源标识符:程序代码调用该资源时用以识别的标志;

    2.关键字:资源的文件类型;

    3.资源文件名:你现在需要包含道程序里的文件,这个文件可以是.EXE, 也可以是.Dll,甚至可以是一个Flash文件。等等。

    举个例子吧,比如我要封装一个Flash道程序里,我们可以这样写.RC文件

    Flash SWFFile XYZ.Swf

    现在我们需要把.RC文件以及XYZ.Swf这两个文件放在同一个文件夹里,然后去Delphi的目录里拷贝一个brcc32.exe过来,马上我们就要创建资源文件了,其实生成资源很简单,最懒惰的方法就是直接把那个扩展名为.rc的文件拖到brcc32.exe上就可以了,你也可以写一个批处理:brcc32 some.rc 其中some为你的rc文件名,然后运行BAT,这两种方法都可以在当前目录生成一个与.rc同名但扩展名为RES的资源文件。

    资源的创建大概如此

    举一个例子吧!

    unit UtFlash;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, ShockwaveFlashObjects_TLB;

    type
      TForm1 = class(TForm)
        ShockwaveFlash1: TShockwaveFlash;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}
    {$R SwfFile.RES}

    procedure FlashResToFile(const ResName, ResType, Filename : String);
    var
      SwfRes : TResourceStream;
    begin
      SwfRes := TResourceStream.Create(HInstance, ResName, PChar(ResType));
      try
        SwfRes.SaveToFile(FileName);
      finally
        SwfRes.Free;
      end;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FlashResToFile('Flash', 'SWFFile', 'Pets.swf');
      ShockwaveFlash1.Width := Form1.Width;
      ShockwaveFlash1.Height := Form1.Height;
      ShockwaveFlash1.Movie := ExtractFilePath(application.exename) + 'Pets.swf';
      ShockwaveFlash1.Play;
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if FileExists('Pets.swf') then DeleteFile('Pets.swf');
    end;

    end.

  • 相关阅读:
    form表单 获取与赋值
    转:探讨JS合并两个数组的方法
    Extjs动态增删组件
    Extjs中创建Tree菜单【一】
    Extjs中grid前端分页使用PagingMemoryProxy【二】
    python模拟线性回归的点
    TensorFlow 辨异 —— tf.add(a, b) 与 a+b(tf.assign 与 =)、tf.nn.bias_add 与 tf.add(转)
    python使用cv2显示图片像素值
    tensorflow中run和eval的区别(转)
    获取tensorflow中tensor的值
  • 原文地址:https://www.cnblogs.com/spider518/p/1844663.html
Copyright © 2011-2022 走看看