ru.malik.elaborarer.avt.browser.aboutwindow.pas

Переключить прокрутку окна
Загрузить этот исходный код

{
    Этот исходный код является частью проекта ПВТ-ОО.

    Следующие файлы используются этим исходным кодом:
        ru.malik.elaborarer.avt.browser.aboutwindow.lfm
    На них так же распространяются те же права, как и на этот исходный код.

    Copyright © 2021 Малик Разработчик

    Это свободная программа: вы можете перераспространять её и/или
    изменять её на условиях Стандартной общественной лицензии GNU в том виде,
    в каком она была опубликована Фондом свободного программного обеспечения;
    либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она может быть полезна,
    но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
    или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
    общественной лицензии GNU.

    Вы должны были получить копию Стандартной общественной лицензии GNU
    вместе с этой программой. Если это не так, см.
    <http://www.gnu.org/licenses/>.
}

unit ru.malik.elaborarer.avt.browser.aboutwindow;

{$MODE DELPHI}

interface

uses
    classes,
    comctrls,
    controls,
    dialogs,
    extctrls,
    forms,
    graphics,
    stdctrls,
    sysutils,
    utf8process,
    pascalx.lang;

{$ASMMODE INTEL,CALLING REGISTER,TYPEINFO ON}

type
    TAboutForm = class(TForm)
        pagesMain: TPageControl;
        viewLinkBrowser: TProcessUTF8;
        tabVersion: TTabSheet;
        imgLogo: TImage;
        viewDescription: TLabel;
        labelCompilerVersion: TLabel;
        viewCompilerVersion: TLabel;
        labelBrowserVersion: TLabel;
        viewBrowserVersion: TLabel;
        labelBuildDate: TLabel;
        viewBuildDate: TLabel;
        viewCopyright: TLabel;
        tabInternet: TTabSheet;
        panelInternet: TPanel;
        outpanelLinkMain: TPanel;
        backLinkMain: TShape;
        labelLinkMain: TLabel;
        inpanelLinkMain: TPanel;
        descLinkMain: TLabel;
        btnLinkMain: TButton;
        qrLinkMain: TImage;
        outpanelLinkDonate: TPanel;
        backLinkDonate: TShape;
        labelLinkDonate: TLabel;
        inpanelLinkDonate: TPanel;
        descLinkDonate: TLabel;
        btnLinkDonate: TButton;
        qrLinkDonate: TImage;
        tabAutors: TTabSheet;
        viewAutors: TMemo;
        tabLicense: TTabSheet;
        viewLicense: TMemo;
        btnClose: TButton;
        procedure buttonClick(sender: TObject);
    public
        constructor create(theOwner: TComponent); override;
    end;

implementation

{$R *.LFM}

{%region TAboutForm }
    procedure TAboutForm.buttonClick(sender: TObject);
    var
        tempUString: UnicodeString;
    begin
        if sender is TButton then with viewLinkBrowser, parameters do begin
            tempUString := getEnvironmentVariable(UnicodeString('SystemRoot'));
            if not stringEndsWith(UnicodeString(DIRECTORY_SEPARATOR), tempUString) then begin
                tempUString := tempUString + DIRECTORY_SEPARATOR;
            end;
            executable := stringToUTF8(tempUString) + 'explorer.exe';
            clear();
            add(TButton(sender).caption);
            execute();
            exit;
        end;
    end;

    constructor TAboutForm.create(theOwner: TComponent);
    begin
        inherited create(theOwner);
        viewBuildDate.caption := stringReplace({$I %DATE%}, '/', '-');
    end;
{%endregion}

end.