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

📄 uskinselect.pas

📁 一个dos游戏的源代码
💻 PAS
字号:
//极限1000米
//Author: CrazyWill
//Email: CrazyWill@163.com

unit uSkinSelect;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IniFiles, uInclude;

type
  TForm_SkinSelect = class(TForm)
    L: TComboBox;
    Button1: TButton;
    Button2: TButton;
    N: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_SkinSelect: TForm_SkinSelect;

implementation

{$R *.dfm}

procedure TForm_SkinSelect.FormCreate(Sender: TObject);
var
  ini, ini2: TINIFILE;
  Filename: string;
  i: integer;
  sTemp: string;
begin
  self.Top := (SCREEN.Height - self.Height) div 2;
  self.Left := (SCREEN.Width - self.Width) div 2;
  Filename := ExtractFilePath(Paramstr(0)) + GameIniFilename;

  ini := TINIFILE.Create(Filename);

  IniDirectory := ini.ReadString('Game', 'IniDirectory', IniDirectory);
  IniDirectory := ExtractFilePath(Paramstr(0)) + IniDirectory + '\';

  ini.ReadSectionValues('List', L.Items);

  for i := 0 to L.Items.Count - 1 do
  begin
    sTemp := L.Items.Strings[i];
    delete(sTemp, 1, pos('=', sTemp));
    L.Items.Strings[i] := sTemp;

    Filename := ExtractFilePath(Paramstr(0)) + L.Items.Strings[i] + '\' +
      IniFilename;
    try
      ini2 := TINIFILE.Create(Filename);
    except
      showmessage('打开INI文件出错');
      close;
    end;
    sTemp := ini2.ReadString('Base', 'SkinName', L.Items.Strings[i]);
    N.Items.Add(sTemp);

  end;

  sTemp := ini.ReadString('Game', 'IniDirectory', IniDirectory);
  N.Text := N.Items.Strings[L.Items.IndexOf(sTemp)];

  ini.Destroy;

end;

procedure TForm_SkinSelect.Button2Click(Sender: TObject);
begin
  Close;
end;

procedure TForm_SkinSelect.Button1Click(Sender: TObject);
var
  ini: TINIFILE;
  Filename: string;
begin
  Filename := ExtractFilePath(Paramstr(0)) + GameIniFilename;
  ini := TINIFILE.Create(Filename);
  ini.WriteString('Game', 'IniDirectory',
    L.Items.Strings[N.Items.IndexOf(N.Text)]);
  IniDirectory := ExtractFilePath(Paramstr(0)) +
    L.Items.Strings[N.Items.IndexOf(N.Text)] + '\';
  ini.Destroy;
  showmessage('注意:游戏界面设置将在下次运行时生效。');
  close;
end;

end.

⌨️ 快捷键说明

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