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

📄 umagiclist.pas

📁 千年源代码,只缺少控件,可以做二次开发用,好不容易得来的
💻 PAS
字号:
unit uMagicList;

interface

uses
   Sysutils, Classes, UserSDB;

type
   TMagicData = record
      MainMagic : string [20];
   end;
   PTMagicData = ^TMagicData;

   TMagicList = class
   private
      DataList : TList;
   public
      Constructor Create;
      Destructor Destroy; override;

      procedure LoadFromFile (aFileName : string);
      procedure SaveToSDB (aFileName : string);
      function GetMainMagic (Idx : integer) : string;

   end;
var
   MagicList : TMagicList;

implementation
uses
   FMain;

Constructor TMagicList.Create;
begin
   DataList := TList.Create;
end;

Destructor TMagicList.Destroy;
begin
   SaveToSDB (BattleDBMagicListFile);
   DataList.Free;
   inherited Destroy;
end;

procedure TMagicList.LoadFromFile (aFileName : string);
var
   i : integer;
   str : string;
   DB : TUserStringDB;
   pd : PTMagicData;
begin
   if not FileExists (aFileName) then exit;

   DB := TUserStringDB.Create;
   DB.LoadFromFile (aFileName);
   for i := 0 to DB.Count-1 do begin
      str := DB.GetIndexString(i);
      New (pd);
      pd^.MainMagic := str;

      DataList.Add (pd);
   end;
   DB.Free;

end;

procedure TMagicList.SaveToSDB (aFileName : string);
var
   i : integer;
   Stream : TFileStream;
   str : string;
   buffer : array [0..4096-1] of Char;
   pd : PTMagicData;
begin
   if FileExists (aFileName) then DeleteFile (aFileName);

   Stream := TFileStream.Create (aFileName, fmCreate);
   str := 'MainMagic';
   StrPCopy (@buffer, str + #13#10);
   Stream.WriteBuffer (buffer, StrLen (@buffer));

   for i := 0 to DataList.Count-1 do begin
      pd := DataList[i];
      str := pd^.MainMagic;
      StrPCopy (@buffer, str + #13#10);
      Stream.WriteBuffer (buffer, StrLen (@buffer));
   end;
   Stream.Free;
end;

function TMagicList.GetMainMagic (Idx : integer) : string;
var
   pd : PTMagicData;
begin
   Result := '';
   if Idx > DataList.Count-1 then exit;
   pd := DataList.Items[Idx];
   Result := pd^.MainMagic;
end;

end.

⌨️ 快捷键说明

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