-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathHotCoffee_FAQ.iss
42 lines (40 loc) · 2.36 KB
/
HotCoffee_FAQ.iss
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Îòâåòû è ïîäñêàçêè îò El Sanchez
1.
åñëè â ñåêöèè Protocols ïîíàäîáèòñÿ ñòàâèòü çíà÷åíèå 0, íà êëþ÷èêàõ íà÷èíàþùèõñÿ ñ öèôðû 4 è 6, íàïðèìåð äëÿ ïðîòîêîëà Steam, ýòî ìîæíî ñäåëàòü òàê:
String: d{#if ProtocolCompName == "Protocols\Steam"}0{#else}1{#endif};
åñëè ïîíàäîáèòñÿ 0 äëÿ íåñêîëüêèõ ïðîòîêîëîâ, òîãäà òàê:
String: d{#if ProtocolCompName == "Protocols\Jabber\LJ" || ProtocolCompName == "Protocols\Skype" || ProtocolCompName == "Protocols\Steam"}0{#else}1{#endif};
èëè òàê:
String: d{code:ThisIsSomeFunc|{#ProtocolCompName}};
[Code]
function ThisIsSomeFunc(const AParam: string): string;
begin
Resut := '1';
if (CompareText(AParam, 'Protocols\Jabber\LJ') = 0) or
(CompareText(AParam, 'Protocols\Skype') = 0) or
(CompareText(AParam, 'Protocols\Steam') = 0) then
Result := '0';
end;
åñëè ProtocolCompName ñîäåðæèò â èìåíè "CloudFile/", òîãäà ïèøåì CloudFile/ ïåðåä ProtocolCompValue:
String: s{#if Pos("CloudFile/", ProtocolCompName) > 0}CloudFile/{#endif}{#ProtocolCompValue};
ïðèìåð çàïèñè â ñåêöèè âûáðàííûõ è äåéñòâóþùèõ ó÷¸òíûõ çàïèñåé JABBER
#emit '' + (Pos("JABBER", ProtocolBaseProtoValue) == 0 ? "" : ' ; ' + ProtocolCompValue + ' XmlLang')
{#if Pos("JABBER", ProtocolBaseProtoValue) == 0}{#else}Filename: {#CurrentIni}; Section: {#ProtocolCompValue}; Key: XmlLang; String: sen; Languages: en; Flags: uninsdeleteentry;{#if Pos("*", ProtocolCompName) == 0} Components: {#ProtocolCompName};{#endif}{#if CurrentIni == AutoexecUpdateIni} Check: IsUpdate;{#endif}{#endif}
{#if Pos("JABBER", ProtocolBaseProtoValue) == 0}{#else}Filename: {#CurrentIni}; Section: {#ProtocolCompValue}; Key: XmlLang; String: sru; Languages: ru; Flags: uninsdeleteentry;{#if Pos("*", ProtocolCompName) == 0} Components: {#ProtocolCompName};{#endif}{#if CurrentIni == AutoexecUpdateIni} Check: IsUpdate;{#endif}{#endif}
2.
åñëè êàêèå-òî ïðîòîêîëû áîëüøå íå ïîääåðæèâàþòñÿ, òî êàê ñäåëàòü òàê ÷òîáû ýòè ïðîòîêîëû áûëè âèäíû â îêíå âûáîðà êîìïîíåíòîâ, òîëüêî åñëè IsUpdate è òîëüêî åñëè îíè áûëè óñòàíîâëåíû ïðåäûäóùåé óñòàíîâêîé:
[Components]
Check: IsUpdate and IsNeedComponent('Protocols\Jabber\GTalk')
[Code]
function IsNeedComponent(const ACompName: string): Boolean;
begin
Result := True;
with TStringList.Create do
try
Sorted := True;
CommaText := GetSetupPreviousData('Inno Setup: Selected Components', '');
Result := IndexOf(Lowercase(ACompName)) > -1;
finally
Free;
end;
end;