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

📄 ufunctions.pas

📁 delphi的一个歌词管理程序
💻 PAS
字号:
unit uFunctions;

interface
uses IniFiles,SysUtils,Forms,DB,Dialogs,ShellApi,Windows;

type
  TFrmAlterDataAction = (faInsert,faEdit);

var
  fActiveDatabaseFile : String;

  procedure WriteIni(SectionStr,KeyStr,ValueStr:String);
  function  ReadIni(SectionStr,KeyStr,ValueStr:String):String;
  
  procedure InitializeApp;
  procedure InitializeCDS;
  procedure ReOrderCDS;

  procedure BuildCDSFilter;
  procedure PlayCurrentFile;
  function  ShowMsgDialog(CapStr:String;MesStr:String;DlgType:TMsgDlgType;Buttons:TMsgDlgButtons):Integer;


implementation
uses dMain, Classes,fMain, StdCtrls;

procedure WriteIni(SectionStr,KeyStr,ValueStr:String);
var
  IniF     : TIniFile;
  TempPath : String;
begin
  TempPath := ExtractFileDir(Application.ExeName)+'\Settings\LyricsOrganizer.Settings';
  IniF     := TIniFile.Create(TempPath);
  IniF.WriteString(SectionStr,KeyStr,ValueStr);
//  IniF.Free;
  FreeAndNil(IniF);
end;

function  ReadIni(SectionStr,KeyStr,ValueStr:String):String;
var
  IniF     : TIniFile;
  TempPath : String;
begin
  TempPath := ExtractFileDir(Application.ExeName)+'\Settings\LyricsOrganizer.Settings';
  IniF     := TIniFile.Create(TempPath);
  Result   := IniF.ReadString(SectionStr,KeyStr,ValueStr);
//  IniF.Free;
  FreeAndNil(IniF);
end;

procedure InitializeApp;
var
  sTemp : String;
begin
     sTemp := ExtractFileDir(Application.ExeName);
     if not DirectoryExists(sTemp+'\Database') then
        CreateDir(sTemp+'\Database');
     if not DirectoryExists(sTemp+'\Settings') then
        CreateDir(sTemp+'\Settings');
     if not FileExists(sTemp+'\Database\Lyrics.dbLyrics') then
        InitializeCDS
     else dModule.cdsMain.LoadFromFile(sTemp+'\Database\Lyrics.dbLyrics');
     frmMain.cbField.ItemIndex := StrToInt(ReadIni('LyricSearch','FieldIndex','0'));
     ReOrderCDS;
     dModule.cdsMain.First;
end;

procedure InitializeCDS;
begin
  dModule.cdsMain.FieldDefs.Clear;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'Id';
    DataType := ftAutoInc;
  end;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'Artist';
    DataType := ftString;
    Size     := 180;
  end;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'Album';
    DataType := ftString;
    Size     := 180;
  end;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'Title';
    DataType := ftString;
    Size     := 180;
  end;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'Lyric';
    DataType := ftMemo;
  end;
  with dModule.cdsMain.FieldDefs.AddFieldDef do
  begin
    Name     := 'SongFileName';
    DataType := ftString;
    Size     := 500;
  end;
  dModule.cdsMain.CreateDataSet;
  dModule.cdsMain.SaveToFile(ExtractFileDir(Application.ExeName)+'\Database\Lyrics.dbLyrics');
end;

function  ShowMsgDialog(CapStr:String;MesStr:String;DlgType:TMsgDlgType;Buttons:TMsgDlgButtons):Integer;
var
  TempForm : TForm;
//  i        : Integer;
begin
  TempForm := CreateMessageDialog(MesStr,DlgType,Buttons);
  TempForm.Caption := CapStr;
{  TempForm.Top := FrmMain.Height + 50;
  TempForm.Left := Round(FrmMain.Width / 2) - Round(TempForm.Width/2);
  for i := 0 to TempForm.ComponentCount - 1 do
  begin
       if TempForm.Components[i] is TButton then
       begin
            TempBtn := TButton(TempForm.Components[i]);
            if LowerCase(TempBtn.Name) = 'yes' then TempBtn.Caption := '歪

⌨️ 快捷键说明

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