Пользователь
Сообщения: 75
Благодарности: 5
|
Профиль
|
Отправить PM
| Цитировать
Вообшем я добился того чего хотел (почти), через библиотеку isUtlits все работает в процессе, но когда открою окно сис требований, его невозможно закрыть. Я одного немогу понять как сделать так как написано дальше. Нужно для начала на странице сис требований (только на ней) удалить все кнопки (далее , назад, отмена), и на их место поставить одну под названием например: ок, выход. Хочеться добиться результата, чтоб при нажатии на ету кнопку можно было возвратиться к процессу установки....
Вот скрипт:
читать дальше »
[Setup] AppName=ProgressBar Demo AppVerName=ProgressBar Demo DefaultDirName={pf}\ProgressBar Demo [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" [Files] Source: isutils.dll; DestDir: "{tmp}"; Flags: dontcopy Source: back2.bmp; DestDir: {tmp}; Flags: dontcopy [Icons] Name: "{group}\Удалить"; IconFilename: "{app}\unins000.exe"; Filename: "{app}\unins000.exe" [code] Function GetTotalRam: integer; external 'GetTotalRam@files:isutils.dll stdcall'; Function GetVideoName: PANSICHAR; external 'GetVideoName@files:isutils.dll stdcall'; Function GetVideoRam: integer; external 'GetVideoRam@files:isutils.dll stdcall'; Function GetProcessorName: PANSICHAR; external 'GetProcessorName@files:isutils.dll stdcall'; Function GetProcessorFreq: integer; external 'GetProcessorFreq@files:isutils.dll stdcall'; Function GetProcessorCoreCount: integer; external 'GetProcessorCoreCount@files:isutils.dll stdcall'; Function GetSoundCards: integer; external 'GetSoundCards@files:isutils.dll stdcall'; Function GetSoundCardName: PANSICHAR; external 'GetSoundCardName@files:isutils.dll stdcall'; Function GetOsName: PANSICHAR; external 'GetOsName@files:isutils.dll stdcall'; function GetOsNumber: integer; external 'GetOsNumber@files:isutils.dll stdcall'; function GetOsBit: integer; external 'GetOsBit@files:isutils.dll stdcall'; var Trebovaniya: TNewButton; Image: TBitmapImage; RequirementsLbl,ProcessorLbl, ProcessorNameLbl, VideoCardLbl, VideoCardNameLbl, SoundCardLbl, SoundCardNameLbl, RAMLbl, RAMTotalLbl, SystemLbl, SystemNameLbl: TLabel; Processor, coreCount, VideoRam, Ram, OpSystem, OpSystemBit:integer; procedure NewButton1Click(Sender: TObject); begin Processor:=2000; VideoRam:=9964; Ram:=500; OpSystem:=513; WizardForm.InnerNotebook.Hide; WizardForm.OuterNotebook.Hide; WizardForm.Bevel.Hide; ExtractTemporaryFile('back2.bmp'); Image:=TBitmapImage.Create(WizardForm); Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\back2.bmp '); Image.setbounds(0, 0, ScaleX(497), ScaleY(360)); Image.Parent:=WizardForm; Image.Stretch:=True; RequirementsLbl := TLabel.Create(WizardForm); with RequirementsLbl do begin AutoSize:=False; SetBounds(ScaleX(10), ScaleY(45), ScaleX(487), ScaleY(67)); Transparent:=True; WordWrap:=True; Alignment := taCenter; Font.Color:=$FFFFFF; Font.size:=10; Font.Style:=[fsBold]; Caption := 'Программа установки обнаружила следующие компоненты'; Parent:=WizardForm; end; //================= Начало - Процессор =================// ProcessorLbl := TLabel.Create(WizardForm); with ProcessorLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(102), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Процессор'; Parent := WizardForm; end; ProcessorNameLbl := TLabel.Create(WizardForm); with ProcessorNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(102), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetProcessorName+' @' + IntToStr(GetProcessorFreq) + ' MHz'; Parent := WizardForm; end; if (GetProcessorFreq*GetProcessorCoreCount) < Processor then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; ProcessorNameLbl.font.color:=clred; end; //================= Конец - Процессор =================// //================= Начало - Видеоадаптер =================// VideoCardLbl := TLabel.Create(WizardForm); with VideoCardLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(127), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Видеоадаптер'; Parent := WizardForm; end; VideoCardNameLbl := TLabel.Create(WizardForm); with VideoCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(127), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetVideoName+' '+inttostr(GetVideoRam)+' Mb'; Parent := WizardForm; end; if GetVideoRam < VideoRam then begin RequirementsLbl.Caption:='Компоненты, выделенные красным, не удовлетворяют требованиям'; VideoCardNameLbl.font.color:=clred; end; //================= Конец - Видеоадаптер =================// //================= Начало - Звуковая карта =================// SoundCardLbl := TLabel.Create(WizardForm); with SoundCardLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(152), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Звуковая карта'; Parent := WizardForm; end; SoundCardNameLbl := TLabel.Create(WizardForm); with SoundCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(152), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetSoundCardName; Parent := WizardForm; end; if GetSoundCards=0 then begin RequirementsLbl.Caption:='Компоненты, выделенные красным, не удовлетворяют требованиям'; SoundCardNameLbl.font.color:=clred; SoundCardNameLbl.Caption := 'Звуковая карта отсутствует'; end; //================= Конец - Звуковая карта =================// //================= Начало - ОЗУ =================// RAMLbl := TLabel.Create(WizardForm); with RAMLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(177), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'ОЗУ'; Parent := WizardForm; end; RAMTotalLbl := TLabel.Create(WizardForm); with RAMTotalLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(177), ScaleX(300), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; //Font.Style:=[fsBold]; Caption := IntToStr(GetTotalRam + 1) + ' Mb'; Parent := WizardForm; end; if (GetTotalRam+1)<RAM then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; RAMTotalLbl.font.color:=clred; end; //================= Конец - ОЗУ =================// //================= Начало - Операционная система =================// SystemLbl := TLabel.Create(WizardForm); with SystemLbl do begin AutoSize:=False; SetBounds(ScaleX(23), ScaleY(202), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; Font.Style:=[fsBold]; Caption := 'Система'; Parent := WizardForm; end; SystemNameLbl := TLabel.Create(WizardForm); with SystemNameLbl do begin AutoSize:=False; SetBounds(ScaleX(170), ScaleY(202), ScaleX(400), ScaleY(22)); Transparent:=True; Font.Name:= 'Arial'; Font.Size:= 9; Font.Color:=$FFFFFF; // Font.Style:=[fsBold]; Caption := GetOsName+' '+inttostr(GetOsBit)+' Bit'; Parent := WizardForm; end; if OpSystem > GetOsNumber then begin RequirementsLbl.Caption := 'Компоненты, выделенные красным, не удовлетворяют требованиям'; SystemNameLbl.font.color:=clred; end; //================= Конец - Операционная система =================// end; procedure InitializeWizard(); begin Trebovaniya := TNewButton.Create(WizardForm); with Trebovaniya do begin Parent := WizardForm.SelectDirPage; SetBounds(0, 184, 115, 25); OnClick := @NewButton1Click; Caption:='Сис Требования' end; end;
|