Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 17:26
Chanka
Поглядел посланный пример:
5,984 Гб - это 5,984 Гб,
5,98 Гб - это 5,980 Гб, как ни банально звучит.
Надо дописать нули или выравнять по определённому краю?
Автор: Chanka
Дата сообщения: 23.08.2007 17:31
Chuvakstepan,
Ну не знаю. Мож драйвер старый. Надо будет поискать новый.

iTASmania_Inc
Надо чтобы всегда было 3 числа после точки. А то то так показывает то так.
Автор: Victor_Dobrov
Дата сообщения: 23.08.2007 17:50
iTASmania_Inc

Цитата:
И твой код и Corona Skin не определяют звуковую карту

Специально запустил под Вистой 32 бит - всё определяется! Кроме того работает под XP 64 bit English.
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 18:00
Chanka

Цитата:
Надо чтобы всегда было 3 числа после точки. А то то так показывает то так

Приемлемого способа не знаю, но могу предложить следующий вариант.
Проверь личку.
Автор: Chanka
Дата сообщения: 23.08.2007 18:07
iTASmania_Inc,
Спасибо! Вроде работает.
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 18:12
Chanka
Ради прикола - сделай TrueCrypt-ом или аналогичной утилитой контейнер в 100Кб и смонтируй как диск - интересное, наверное сообщение, будет при запуске инсталла?
В скине от Victora_Dobrova подсчёт ведётся от байт до терабайт - воспользуйся таким вариантом, а то у тебя уже неактуальный скрипт.


Добавлено:
Victor_Dobrov
А есть ли какой-нибудь аналог FloatToStr (или параметр к нему), который переводит число с запятой в строку без округления или с округлением по определённый знак после запятой?
Автор: Chanka
Дата сообщения: 23.08.2007 18:24
iTASmania_Inc,

Цитата:
воспользуйся таким вариантом, а то у тебя уже неактуальный скрипт.

Может поможешь это сделать? А то сам не справлюсь.

Автор: Victor_Dobrov
Дата сообщения: 23.08.2007 18:57

Цитата:
перевод числа с запятой в строку без округления или с округлением до определённого знака после запятой?

Одной командой вряд-ли. Округлить число до 3х знаков можно так:
N:= 1,11111
FloatToStr(round(N*1000)/1000)
результат 1,111

Перезалил CoronaSkin. Добавил показ сообщений. Исправил определение оборудования - при чтении параметров из реестра учитывается текущий ControlSet (на разных машинах: CurrentControlSet, ControlSet001 и т.д.)
Автор: Forslay
Дата сообщения: 23.08.2007 19:16
Люди, помогите пожалуйста расположить данные в нужном порядке!

Как надо:

Система
DirectX
Процессор
Видюха
Звуковая
Оператива
Файл подкачки

[more][Setup]
AppName=Системная страничка со сталкера
AppVerName=Системная страничка со сталкера лучшая
AppVersion=1.0
AppPublisher=Chuvakstepan
AppCopyright=Chuvakstepan
defaultDirName={pf}\Chuvakstepan\SUKI VSE
outputBaseFileName=sysfuck

[Files]
Source: compiler:DLL\get_hw_caps.dll; DestDir: {sys}; DestName: GET_HW_CAPS.dll; Flags: dontcopy noencryption

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Code]

const
NeedMHZ = 2100;
NeedVRAM = 256;
NeedRAM = 120;
oneMB= 5480*5480;
NeedSize = 400;
BufferLen= 32;
DRIVE_UNKNOWN = 0;
DRIVE_NO_ROOT_DIR = 1;
DRIVE_REMOVEABLE = 2;
DRIVE_FIXED = 3;
DRIVE_REMOTE = 4;
DRIVE_CDROM = 5;
DRIVE_RAMDISK = 6;

AW_FADE_IN = $00080000;
AW_FADE_OUT = $00090000;
AW_SLIDE_IN_LEFT = $00040001;
AW_SLIDE_OUT_LEFT = $00050002;
AW_SLIDE_IN_RIGHT = $00040002;
AW_SLIDE_OUT_RIGHT = $00050001;
AW_SLIDE_IN_TOP = $00040004;
AW_SLIDE_OUT_TOP = $00050008;
AW_SLIDE_IN_BOTTOM = $00040008;
AW_SLIDE_OUT_BOTTOM = $00050004;
AW_DIAG_SLIDE_IN_TOPLEFT = $00040005;
AW_DIAG_SLIDE_OUT_TOPLEFT = $0005000A;
AW_DIAG_SLIDE_IN_TOPRIGHT = $00040006;
AW_DIAG_SLIDE_OUT_TOPRIGHT = $00050009;
AW_DIAG_SLIDE_IN_BOTTOMLEFT = $00040009;
AW_DIAG_SLIDE_OUT_BOTTOMLEFT = $00050006;
AW_DIAG_SLIDE_IN_BOTTOMRIGHT = $0004000A;
AW_DIAG_SLIDE_OUT_BOTTOMRIGHT = $00050005;
AW_EXPLODE = $00040010;
AW_IMPLODE = $00050010;

MB_ICONINFORMATION = $40;
MB_ICONEXCLAMATION = $30;
MB_ICONQUESTION = $20;
MB_ICONSTOP = $10;
MB_ICONNONE = $0;




type TMemoryStatus = record dwLength, dwMemoryLoad, dwTotalPhys, dwAvailPhys, dwTotalPageFile, dwAvailPageFile, dwTotalVirtual, dwAvailVirtual: Longint; end;
var
OldCursor, NewCursor: Longint;
hWnd: Integer;
mp3Handle: HWND;
mp3Name: string;
ListBox: TListBox;
Splash: TSetupForm;
PlayButton, PauseButton, StopButton: TPanel;
PlayImage, PauseImage, StopImage: TBitmapImage;
PlayLabel, PauseLabel, StopLabel: TLabel;
FreeMB, TotalMB: Cardinal;
VolumeSerialNo, MaxComponentLength, FileSystemFlags: Longint;
VolumeName, FileSystemName, Uninstall, Location: String;
SerialEdit1, SerialEdit2, SerialEdit3, SerialEdit4, SerialEdit5, SerialEditUSER : TEdit;
StaticText, StaticText1, StaticText2, StaticText23 : TNewStaticText;
Chert, Chert2, Chert3, Chert4 : TLabel;
Page: TWizardPage;
Memory: TMemoryStatus;
RadioButton_1,RadioButton_2: TRadioButton;
ResultCode: Integer;
ProgressLabel, SizeLabel: TLabel;



procedure DirOnClick(Sender: TObject);

var res: Boolean;
UserSelectDir: string;

begin UserSelectDir := WizardForm.DirEdit.Text;
res := BrowseForFolder('Выберите директорию для установки и нажмите ''ОК''', UserSelectDir, True);
if res then

begin WizardForm.DirEdit.Text := UserSelectDir;
end;
end;

function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): Boolean;
external 'AnimateWindow@user32 stdcall';

procedure ListBoxOnClick(Sender: TObject);

var NewLetter, OldString: string;
i: Integer;

begin for i := 0 to ListBox.Items.Count - 1 do

begin if ListBox.Selected[i] then

begin NewLetter := Copy(ListBox.Items[i], 0, 1);
OldString := Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
WizardForm.DirEdit.Text := NewLetter + OldString;
end;
end;
begin for i := 0 to ListBox.Items.Count - 1 do
begin if ListBox.Selected[i] then
begin NewLetter := Copy(ListBox.Items[i], 0, 1);
OldString := Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
WizardForm.DirEdit.Text := NewLetter + OldString;
end;
end;
end;
end;

function GetLogicalDrives: DWORD;
external 'GetLogicalDrives@kernel32.dll stdcall';

function GetDriveType(nDrive: string): Longint;
external 'GetDriveTypeA@kernel32.dll stdcall';

function GetVideoCardName(): PChar;
external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall';

function GetSoundCardName(): PChar;
external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall';

function DetectHardware(): Integer;
external 'hwc_DetectHardware@files:get_hw_caps.dll stdcall';

function GetHardDriveFreeSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';

function GetHardDriveTotalSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';

function GetSoundCards(): Integer;
external 'hwc_GetSoundCards@files:get_hw_caps.dll stdcall';

function GetSystemPage(): Integer;
external 'hwc_GetSystemPage@files:get_hw_caps.dll stdcall';

function GetSystemPhys(): Integer;
external 'hwc_GetSystemPhys@files:get_hw_caps.dll stdcall';

function GetVidMemLocal(): Integer;
external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall';

function GetVidMemNonLocal(): Integer;
external 'hwc_GetVidMemNonLocal@files:get_hw_caps.dll stdcall';

function GetVideoCardDev(): Integer;
external 'hwc_GetVideoCardDev@files:get_hw_caps.dll stdcall';

function GetVideoCardVen(): Integer;
external 'hwc_GetVideoCardVen@files:get_hw_caps.dll stdcall';

function MessageBox(hWnd: Integer; lpText, lpCaption: string; uType: Cardinal): Integer;
external 'MessageBoxA@user32.dll stdcall';


procedure GlobalMemoryStatus(var lpBuffer: TMemoryStatus); external 'GlobalMemoryStatus@kernel32.dll';
function GetSystemMetrics(nIndex: Integer):Integer; external 'GetSystemMetrics@user32.dll stdcall';

function GetHardDrivesCount: Integer; external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';
function GetHardDriveName(hdd: Integer): PChar; external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
function GetVolumeInformation(PathName,VolumeName: PChar; VolumeNameSize,VolumeSerialNumber,MaxComponentLength,FileSystemFlags: Longint; FileSystemName: PChar; FileSystemNameSize: Longint): Longint; external 'GetVolumeInformationA@kernel32.dll stdcall';
function MorG(MB: Integer; autoGB: Boolean): string;
begin if (MB < 1000) or not autoGB then Result:= IntToStr(MB)+ 'Мб' else Result:= FloatToStr(round(MB/1024*1000)/1000)+ 'Гб'
end;


function DelSp(const s:string):string;
var
c, i: integer;
stt, st, st1: string;
begin
c := 0;
st := s;
for i := 0 to Length(st) do
begin
stt := copy(st, i, 1);
if (stt = ' ') and (c >= 1) then
begin
st1 := st1;
c := c + 1;
end
else if (stt = ' ') and (c = 0) then
begin
c := c + 1;
st1 := st1 + stt;
end
else if (stt <> ' ') then
begin
c := 0;
st1 := st1 + stt;
end
end;
Result:= st1;
end;

procedure DecodeVersion( verstr: String; var verint: array of Integer );
var
i,p: Integer; s: string;
begin
verint := [0,0,0,0];
i := 0;
while ( (Length(verstr) > 0) and (i < 4) ) do
begin
p := pos('.', verstr);
if p > 0 then
begin
if p = 1 then s:= '0' else s:= Copy( verstr, 1, p - 1 );
verint[i] := StrToInt(s);
i := i + 1;
verstr := Copy( verstr, p+1, Length(verstr));
end
else
begin
verint[i] := StrToInt( verstr );
verstr := '';
end;
end;
end;

function CompareVersion( ver1, ver2: String ) : Integer;
var
verint1, verint2: array of Integer;
i: integer;
begin
SetArrayLength( verint1, 4 );
DecodeVersion( ver1, verint1 );
SetArrayLength( verint2, 4 );
DecodeVersion( ver2, verint2 );
Result := 0; i := 0;
while ( (Result = 0) and ( i < 4 ) ) do
begin
if verint1[i] > verint2[i] then
Result := 1
else
if verint1[i] < verint2[i] then
Result := -1
else
Result := 0;
i := i + 1;
end;
end;

function GetDirectXVersion(): String;
var
sVersion: String;
begin
sVersion := '';
RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\DirectX', 'Version', sVersion );
Result := sVersion;
end;

procedure Page_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean);
begin
Confirm:=False;
Cancel:=True;
end;


function CheckSystemPage(PreviousPageId: Integer): Integer;
var
Page: TWizardPage;
ProcessorName,ProductName,CSDVersion: string;
ProcessorPanel,ProcessorNamePanel,VideoCardPanel,VideoCardNamePanel,AudioCardPanel,AudioCardNamePanel,RAMPanel,RAMTotalPanel,DirectXPanel,DirectXTotalPanel,OSPanel,OSTotalPanel: TPanel;
ProcessorMHZ,FreeMB,TotalMB: Cardinal; PageFilePanel: TPanel; PageFileTotalPanel: TPanel;
StaticText,StaticText2: TNewStaticText;
Version: TWindowsVersion;

begin
GetWindowsVersionEx(Version);
GlobalMemoryStatus(Memory);
GetSpaceOnDisk(ExpandConstant('{sd}'),True,FreeMB,TotalMB);
GetVolumeInformation(ExpandConstant('{sd}'), VolumeName, BufferLen-1,VolumeSerialNo,MaxComponentLength,FileSystemFlags,FileSystemName,BufferLen-1);
RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','ProcessorNameString', ProcessorName);
RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','~MHz', ProcessorMHZ);
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','ProductName', ProductName);
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows NT\CurrentVersion','CSDVersion', CSDVersion);
GetVidMemLocal;
GetSoundCards;

Page := CreateCustomPage(PreviousPageId,'Проверка системных требований','Программа установки обнаружила следующие необходимые компоненты:');

StaticText:=TNewStaticText.Create(Page);
with StaticText do
begin
Parent:=Page.Surface;
Caption:='Все компоненты удовлетворяют требованиям игры.';
Left:=0;
Top:=190;
AutoSize:=True;
end;

StaticText2:=TNewStaticText.Create(Page);
with StaticText2 do
begin
Parent:=Page.Surface;
Caption:='Когда будуте готовы продолжить установку, нажмите <<Далее>>.'
Left:=0;
Top:=220;
AutoSize:=True;
end;

OSPanel:=TPanel.Create(Page);
with OSPanel do
begin
Parent:=Page.Surface;
Caption:=' Система';
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(118);
Height := ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;

OSTotalPanel:=TPanel.Create(Page);
with OSTotalPanel do
begin
Parent:=Page.Surface;
Caption:=+' '+ProductName+' '+CSDVersion+' сборка '+IntToStr(Version.Major)+'.'+IntToStr(Version.Minor)+'.'+IntToStr(Version.Build);
Left := ScaleX(120);
Top := ScaleY(0);
Width := ScaleX(309);
Height := ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color := $CCFFCC;
Alignment:=taLeftJustify;
GetWindowsVersionEx(Version);
if Version.NTPlatform and (Version.Major = 5) and (Version.Minor = 1) and (Version.ServicePackMajor < 1) then
begin
OSTotalPanel.Color:=$ccccff;
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
end;
end;

ProcessorPanel := TPanel.Create(Page);
with ProcessorPanel do
begin
Parent := Page.Surface;
Caption := ' Процессор';
Left:=ScaleX(0);
Top:=OSPanel.Top+27;
Width:=OSPanel.Width;
Height:=ScaleY(25);
BevelInner := bvLowered;
TabOrder := 0;
Alignment:=taLeftJustify;
end;

ProcessorNamePanel := TPanel.Create(Page);
with ProcessorNamePanel do
begin
Parent := Page.Surface;
Caption := DelSp(ProcessorName)+' '+'['+IntToStr(ProcessorMHZ)+' МГц]';
Left:=OSTotalPanel.Left;
Top:=ProcessorPanel.Top;
Width:=OSTotalPanel.Width;
Height:=ScaleY(25);
BevelInner := bvLowered;
Color := $CCFFCC;
TabOrder := 1;
Alignment:=taLeftJustify;
if ProcessorMHZ<NeedMHZ then
begin
Caption := Caption+' < '+FloatToStr(round(NeedMHZ))+ ' МГц'
ProcessorNamePanel.Color:=$ccccff;
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
end;
end;

VideoCardPanel:=TPanel.Create(Page);
with VideoCardPanel do
begin
Parent:=Page.Surface;
Caption:=' Графическая карта';
Left:=ScaleX(0);
Top:=ProcessorPanel.Top+27;
Width:=ProcessorPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;

VideoCardNamePanel:=TPanel.Create(Page);
with VideoCardNamePanel do
begin
Parent:=Page.Surface;
Caption:= ' ' + Trim(GetVideoCardName)+ ', '+ MorG(round(GetVidMemLocal/oneMB/64)*64,False);
Left:=ProcessorNamePanel.Left;
Top:=VideoCardPanel.Top;
Width:=ProcessorNamePanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
Color := $CCFFCC;
TabOrder:=1;
Alignment:=taLeftJustify;
if round(GetVidMemLocal/oneMB/64)*64 < NeedVRAM then
begin Caption:= Caption + ' < ' + MorG(NeedVRAM,False);
VideoCardNamePanel.Color:=$ccccff;
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
end;
Caption:= Caption + ', '+ IntToStr(GetSystemMetrics(0)) + 'x' +IntToStr(GetSystemMetrics(1));
end;

RAMPanel:=TPanel.Create(Page);
with RAMPanel do
begin
Parent:=Page.Surface;
Caption:=' Оперативная память'
Left:=0;
Top:=VideoCardPanel.Top+27;
Width:=VideoCardPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;

RAMTotalPanel:=TPanel.Create(Page);
with RAMTotalPanel do
begin
Parent:=Page.Surface;
Caption:=' '+MorG(round(Memory.dwTotalPhys/oneMB/64)*64,False)+' всего, '+MorG(Memory.dwAvailPhys/oneMB,False)+' свободно, '
Left:=VideoCardNamePanel.Left;
Top:=RAMPanel.Top;
Width:=VideoCardNamePanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color := $CCFFCC;
Alignment:=taLeftJustify;
if round(Memory.dwTotalPhys/oneMB/64)*64<NeedRAM then
begin
Caption:= Caption+'требуется '+MorG(NeedRAM,False);
Color:= $ccccff;
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
end
else
Caption:= Caption +MorG((Memory.dwTotalPhys - Memory.dwAvailPhys)/oneMB,False) +' используется';
end;

AudioCardPanel:=TPanel.Create(Page);
with AudioCardPanel do
begin
Parent:=Page.Surface;
Caption:=' Звуковая карта';
Left:=ScaleX(0);
Top:=RAMPanel.Top+27;
Width:=RAMPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;

AudioCardNamePanel:=TPanel.Create(Page);
with AudioCardNamePanel do
begin
Parent:=Page.Surface;
Caption:=+' '+GetSoundCardName;
Left:=RAMTotalPanel.Left;
Top:=AudioCardPanel.Top;
Width:=RAMTotalPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color := $CCFFCC;
Alignment:=taLeftJustify;
if GetSoundCards = 0 then
begin
Caption:=' Устройство не обнаружено';
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
AudioCardNamePanel.Color:=$ccccff;
end;
end;

DirectXPanel:=TPanel.Create(Page);
with DirectXPanel do
begin
Parent:=Page.Surface;
Caption:=' Версия DirectX';
Left:=0;
Top:=AudioCardPanel.Top+27;
Width:=AudioCardPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;

DirectXTotalPanel:=TPanel.Create(Page);
with DirectXTotalPanel do
begin
Parent:=Page.Surface;
Left:=AudioCardNamePanel.Left;
Top:=DirectXPanel.Top;
Width:=AudioCardNamePanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color := $CCFFCC;
Alignment:=taLeftJustify;
// DirectX 8.0 is 4.8.0
// DirectX 8.1 is 4.8.1
// DirectX 9.0 is 4.9.0
if CompareVersion( GetDirectXVersion(), '4.9.0') > 0 then
begin
Caption:=+' DirectX 9.0 ('+GetDirectXVersion+')';
end
else
begin
Caption:=+' Требуется DirectX 9.0 или выше';
DirectXTotalPanel.Color:=$ccccff;
StaticText.Caption:='Компоненты, выделенные красным цветом, не удовлетворяют требованиям' + #13 + 'игры.';
end;
if GetSystemPhys + 1 < 256 then

begin RAMTotalPanel.Color := clRed;
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям игры.';
end;

PageFilePanel := TPanel.Create(Page);
with PageFilePanel do

begin
Parent:=Page.Surface;
Caption:=' Файл подкачки';
Left:=0;
Top:=AudioCardPanel.Top+54;
Width:=AudioCardPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
Alignment:=taLeftJustify;
end;
PageFileTotalPanel := TPanel.Create(Page);
with PageFileTotalPanel do

begin Parent := Page.Surface;
Caption := ' ' + IntToStr(GetSystemPage) + ' MB';
Left := RAMTotalPanel.Left;
Top := PageFilePanel.Top;
alignment := taLeftJustify;
Width := RAMTotalPanel.Width;
Height := ScaleY(25);
BevelInner := bvLowered;
TabOrder := 1;
Color := $CCFFCC;
end;

if GetSystemPage < 4000 then

begin PageFileTotalPanel.Color := clRed;
StaticText.Caption := 'Не все компоненты удовлетворяют требованиям игры.';
end;
end;
Result := Page.ID;
end;

procedure InitializeWizard();
begin
CheckSystemPage(wpLicense);
end;[/more]
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 19:34
Victor_Dobrov
Нет, предположим есть число:
0,02000000000009
Как его можно округлить до трёх знаков и записать в строку:
0,020 - последний ноль обязательно

Добавлено:
Chanka
Проверь почту!

Добавлено:
P.S.: А-а, извиняюсь, если в почте скрипт неудобочитаемый - могу куда-нить перелить как iss.
Автор: Chanka
Дата сообщения: 23.08.2007 20:14
iTASmania_Inc
СПАСИБО ТЕБЕ! ВСЕ РАБОТАЕТ!
Автор: Chuvakstepan
Дата сообщения: 23.08.2007 20:17
Forslay
В своём коде измени значения компонентов на следующее:

Код: OSPanel.Top := 0;
OSTotalPanel.Top := 0;
DirectXPanel.Top:=27;
DirectXTotalPanel.Top:=27;
ProcessorPanel.Top:=54;
ProcessorNamePanel.Top:=54;
VideoCardPanel.Top:=81;
VideoCardNamePanel.Top:=81;
AudioCardPanel.Top:=108;
AudioCardNamePanel.Top:=108;
RAMPanel.Top:=135;
RAMTotalPanel.Top:=135;
PageFilePanel.Top:=162;
PageFileTotalPanel.Top:=162;
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 20:21
Chanka
На всякий случай - всё же солью - мало ли кому пригодится, просто он в таком виде, наверное, более удобен для понимания...
http://www.rapidshare.ru/380213
P.S.: только не смейтесь над детской процедурой добавления нулей
Автор: PavelSES
Дата сообщения: 23.08.2007 21:55
iTASmania_Inc

Цитата:
А новую страницу можно создать? Или обязательно форму?


нет необязательно форму, можно и страницу спасибо
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 22:30
PavelSES
Объясняю :
Если в IP вводят буквы или ничего не вводят ни в одну из секций для IP-адреса, то пишем стандартный.
Если в IP вводят цифры или хотя бы заполняют одну из секций (если вводят - значит знают, как выглядит IP - поэтому на их совесть пустые секции)- пишем такой.
Ну-у, и больше не переписываем.
Скачать отседова: http://www.rapidshare.ru/380316

Добавлено:
Forslay
Проверь личку!
Звиняюсь, скрипт под себя делал - поэтому DLL кинь в ту же папку, где скрипт.
Автор: PavelSES
Дата сообщения: 23.08.2007 23:16
iTASmania_Inc
спасибо огромное то что надо
но, есть один нюанс, если до установки в хостс уже были прописаны значения (допустим вручную) то установщик тупо дописывает еще одни значения - в результате конфликт
как сделать чтоб он проверял наличие записей l2testauthd.lineage2.com и тд в хостс и если они есть уже то недописывал их
заранее спасибо
Автор: iTASmania_Inc
Дата сообщения: 23.08.2007 23:26
PavelSES
Так подойдёт?
http://www.rapidshare.ru/380373
Теперь проверка идёт не по тому, была ли сделана копия, а по наличию IP-записей в файле.
Предыдущая ссылка в этом посте была с ошибкой, смотреть эту (и дату редактирования)
Автор: PavelSES
Дата сообщения: 24.08.2007 00:01
iTASmania_Inc
все работает благодарность моя незнает границ - огромное спасибо
Автор: iTASmania_Inc
Дата сообщения: 24.08.2007 05:46
Victor_Dobrov

Цитата:
Исправил определение оборудования - при чтении параметров из реестра учитывается текущий ControlSet (на разных машинах: CurrentControlSet, ControlSet001 и т.д.)

Попытался подкорректировать свой плагиат-код проверки системных требований в соответствии с изменениями. В результате - запуск инсталла растягивается секунд на 5-6 (очевидно из-за проверки реестра, точнее, звуковухи), можно ли как-нибудь это исправить?
Автор: Sid007
Дата сообщения: 24.08.2007 08:45
Здравствуйте люди!!! Возник такой вопрос. Как в инно можно растянуть мелкую картинку (WizModernSmallImage.bmp) от стандарных 55х55 допустим на 75х55. Подскажите...
Автор: Unc1e
Дата сообщения: 24.08.2007 08:58
Sid007
[Code]
procedure InitializeWizard();
begin
WizardForm.WizardSmallBitmapImage.Top:=0
WizardForm.WizardSmallBitmapImage.Left:=422
WizardForm.WizardSmallBitmapImage.Width:=75
WizardForm.WizardSmallBitmapImage.Height:=55
WizardForm.PageNameLabel.Width:=398
WizardForm.PageDescriptionLabel.Width:=382
end;
Автор: Sid007
Дата сообщения: 24.08.2007 09:20
Unc1e

Огромное спасибо, помогло!!!
Автор: Chuvakstepan
Дата сообщения: 24.08.2007 10:20
Подскажите, как скрыть панель задач ВООБЩЕ, тоесть надо скрыть панель задач, чтобы при alt+tab её даже не было видно.

Вот код на Делфи:

Код: ShowWindow(FindWindow('Shell_TrayWnd', nil), sw_hide);
Автор: iTASmania_Inc
Дата сообщения: 24.08.2007 11:20
Forslay
Скинь файл куда-нибудь, а то мне неудобно в таком виде его редактировать.

Добавлено:
Хотя можешь не сливать - вот пример: http://www.rapidshare.ru/380751
Почитай несколькими страницами ранее и поймёшь, что фактически только Pos в скрипте поменялось...
Автор: Victor_Dobrov
Дата сообщения: 24.08.2007 16:01

Цитата:
запуск инсталла растягивается секунд на 5-6

Задержка идёт при запуске VBS-скрипта, что вообще-то должно происходить только на Висте. Исправлю в ближайшее время...
Автор: Shaman2
Дата сообщения: 25.08.2007 00:27
Подскажите:

1) Есть каталог Reportf.FRF, надо чтобы в процессе установки поверх создалась резервная копия, например в каталоге Reportf.FRF.bak. Будет неплохо, если она будет заархивирована.
Как это сделать?

2) как правильно из inno проапгрейдить firebird с версии 1.5 на версию 2.0 ?
Автор: Victor_Dobrov
Дата сообщения: 25.08.2007 01:33
iTASmania_Inc --

И скрипты заимствуй внимательнее, у тебя 2 грубых ошибки!
Автор: viktor9
Дата сообщения: 25.08.2007 10:43
Как запретить это но чтобы ярлыки ставились на рабочий стол
http://www.kiselev6.narod.ru/baners/2222.jpg
и вот это как сделать чтобы не показывалось
http://www.kiselev6.narod.ru/baners/3333.jpg
Автор: Unc1e
Дата сообщения: 25.08.2007 11:54
Как вот этотскрипт (Example.Play.MP3.Music.On.Start.Up.With.Texture) переделать под две кнопки: Play\Pause и Stop. То есть при запуске есть только 2 кнопки: Пауза и Стоп. При нажатии на паузу она превращается в Воспроизвести, при ещё одном нажатии превращается обратно в Паузу. Помогите пожалуйста.
Автор: Chuvakstepan
Дата сообщения: 25.08.2007 12:28
viktor9
1. Удали секцию Tasks, в Icons удали "Tasks: desktopicon"
2.:
[Setup]
DisableReadyPage=yes

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Mail.ru агент - вход не выполнен


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.