⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skinpas.pas

📁 网页特效生成工具!VCLSKIN的操作!
💻 PAS
字号:
unit skinpas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls, Buttons, DBCtrls, ExtDlgs, DB, ADODB,
  ieview, imageenview, dbimageen,jpeg,IniFiles;

type
  Tfrmskin = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    GroupBox1: TGroupBox;
    DBImage1: TDBImage;
    ListBox1: TListBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    ListBox2: TListBox;
    Button1: TButton;
    Button2: TButton;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    Label3: TLabel;
    Edit3: TEdit;
    dlgOpenSkinFile: TOpenDialog;
    qrySkin: TADOQuery;
    dlgOpenPicSkin: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
  private
    { Private declarations }
    procedure readjpg;//读图形文件
    procedure addskinlist;//添加皮肤列表
    procedure writeskin;//写SKIN的过程
  public
    { Public declarations }
  end;

var
  frmskin: Tfrmskin;
  StrSelectname:String;//选定皮肤的内容
  StrDelString:String;//删除内容
implementation

uses datalink, mainpas;

{$R *.dfm}

procedure Tfrmskin.FormCreate(Sender: TObject);
begin
Self.Left:=(Screen.DesktopWidth -Self.Width) div 2;
Self.Top:=(Screen.DesktopHeight -Self.Height) div 2;
addskinlist;
readjpg;
end;

procedure Tfrmskin.BitBtn3Click(Sender: TObject);
begin
Self.Close;
end;

procedure Tfrmskin.BitBtn4Click(Sender: TObject);
begin
if dlgOpenSkinFile.Execute then
Edit1.Text:=dlgOpenSkinFile.FileName;
end;

procedure Tfrmskin.BitBtn5Click(Sender: TObject);
begin
if dlgOpenPicSkin.Execute then
Edit2.Text:=dlgOpenPicSkin.FileName;
end;

procedure Tfrmskin.Button1Click(Sender: TObject);
var i:Integer;
var SkinSt:TFileStream;//定义文件流
var SkinPicSt:TFileStream;//定义图片流
begin
if (Edit1.Text ='') or (Edit2.Text ='') or (Edit3.Text ='') then
begin
Application.MessageBox('信息部完整!请确认你的输入','提示',MB_ICONEXCLAMATION+MB_OK);
Exit;
end;
i:=Application.MessageBox('确定要添加皮肤吗?','询问',MB_ICONQUESTION+MB_OKCANCEL);
if i=1 then
 begin
 //开始添加皮肤
 qrySkin.Close;
 qrySkin.SQL.Clear;
 qrySkin.SQL.Add('select * from softSkin');
 qrySkin.Open;
 SkinSt:=TFileStream.Create(Edit1.Text,fmOpenRead);
 SkinSt.Position:=0;
 SkinPicSt:=TFileStream.Create(Edit2.Text ,fmOpenRead);
 SkinPicSt.Position:=0;
 qrySkin.Append;
 qrySkin.FieldByName('名称').AsString:=Edit3.Text;
 TBlobField(qrySkin.FieldByName('文件')).LoadFromStream(SkinSt);
 TBlobField(qrySkin.FieldByName('图片')).LoadFromStream(SkinPicSt);
 qrySkin.Post;
 SkinSt.Free;
 SkinPicSt.Free;
 Edit1.Text:='';
 Edit2.Text:='';
 Edit3.Text:='';
 addskinlist;
 Application.MessageBox('皮肤保存成功!','提示',MB_ICONINFORMATION+MB_OK);

 end;
end;
//******************************************************************************
//***************************功能说明:读图形文件********************************
//******************************************************************************
procedure Tfrmskin.readjpg;
var tempstream:TStringStream;
   tempjpeg:TJPEGImage;
begin
   try
        tempstream:=TStringStream.Create(' ');
        TBlobField(qrySkin.FieldByName('图片')).SaveToStream(tempstream);
        tempstream.Position:=0;
        tempjpeg:=TJPEGImage.Create;
        tempjpeg.LoadFromStream(tempstream);
        DBImage1.Picture.Bitmap.Assign(tempjpeg);
  finally
        tempstream.Free;
        tempjpeg.Free;
  end;

end;
//******************************************************************************
//****************************功能说明:添加皮肤列表*****************************
//******************************************************************************
procedure Tfrmskin.addskinlist;
begin
qrySkin.Close;
qrySkin.SQL.Clear;
qrySkin.SQL.Add('select * from softSkin ');
qrySkin.Open;
ListBox1.Items.Clear;
ListBox2.Items.Clear;
ListBox1.Items.Append('[系统默认]');
while not qrySkin.Recordset.EOF do
 begin
 ListBox1.Items.Append(Trim(qrySkin.Recordset.Fields['名称'].Value));
 ListBox2.Items.Append(Trim(qrySkin.Recordset.Fields['名称'].Value));
 qrySkin.Recordset.MoveNext;
 end;
end;
procedure Tfrmskin.ListBox1Click(Sender: TObject);
var i:Integer;
begin
i:=ListBox1.ItemIndex;
qrySkin.Close;
qrySkin.SQL.Clear;
qrySkin.SQL.Add('select * from softSkin where 名称='+chr(39)+ListBox1.Items.Strings[i]+chr(39));
qrySkin.Open;
StrSelectname:=ListBox1.Items.Strings[i];
if qrySkin.Recordset.RecordCount >0 then
begin
readjpg;
end;
end;

procedure Tfrmskin.BitBtn2Click(Sender: TObject);
var SkinTr:TStream;
begin
if StrSelectname ='[系统默认]'then
 begin
 writeskin;
 frmain.SkinData1.Active:=False;
 Exit;
 end;
BitBtn2.Cursor:=crHourGlass;
qrySkin.Close;
qrySkin.SQL.Clear;
qrySkin.SQL.Add('select * from softskin where 名称='+chr(39)+StrSelectname +chr(39));
qrySkin.Open;
if qrySkin.Recordset.RecordCount >0 then
begin
SkinTr:=qrySkin.CreateBlobStream(qrySkin.FieldByName('文件'),bmRead);
frmain.SkinData1.LoadFromStream(SkinTr);
frmain.SkinData1.Active:=True;
writeskin;
SkinTr.Free;
end;
BitBtn2.Cursor:=crDefault;
end;

procedure Tfrmskin.BitBtn1Click(Sender: TObject);
begin
BitBtn2.Click;
Self.Close;
end;
//******************************************************************************
//**************************写配置文件的过程************************************
//******************************************************************************
procedure Tfrmskin.writeskin;
var skinFile:TIniFile;
begin
skinFile:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'skinconfig.ini');
skinFile.WriteString('skin','name',StrSelectname);
skinFile.Free;
end;
procedure Tfrmskin.Button2Click(Sender: TObject);
var i:Integer;
begin
i:=Application.MessageBox('确定要删除吗?','提示',MB_ICONQUESTION+MB_OKCANCEL);
if i=1 then
 begin
 //删除皮肤的操作
 if StrDelString ='[系统默认]' then
  begin
  Application.MessageBox('请选择你要删除的皮肤!','提示',MB_ICONEXCLAMATION+MB_OK);
  Exit; 
  end;
 //进行删除操作
 qrySkin.Close;
 qrySkin.SQL.Clear;
 qrySkin.SQL.Add('delete from softskin where 名称='+chr(39)+StrDelString +chr(39));
 qrySkin.ExecSQL;
 Application.MessageBox('操作成功!','提示',MB_ICONINFORMATION+MB_OK);
 addskinlist; 
 end;
end;

procedure Tfrmskin.ListBox2Click(Sender: TObject);
var i:Integer;
begin
i:=ListBox2.ItemIndex;
StrDelString:=ListBox2.Items.Strings[i];
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -