Udokanec писал(а):
если apktool.jar лежит в C:\Windows.А вот WinExec с теми же параметрами только разбираетА переменную окружения не пробовал установить?
Add(MainForm,1384434,287,147)
{
Width=689
Height=653
Position=1
Point(onClose)
Point(Close)
Point(onSplitUp)
link(onCreate,15104773:doEvent1,[])
}
Add(Dir,2564954,567,77)
{
}
Add(InlineCode,5981625,511,175)
{
@Hint=#61:Компонент позволяет развернуть переменные окружения в строке.|69:Например: %WINDIR%\explorer.exe превратится в c:\windows\explorer.exe|
WorkPoints=#66:doExpand=Развернуть переменные окружения, находящиеся в строке Str|49:doEnum=Перечислить доступные переменные окружения|49:doGet=Получить значение переменной окружения Name|60:doSet=Установить переменную окружения Name в значение Value |
EventPoints=#8:onExpand|6:onEnum|5:onGet|
DataPoints=#66:Str=Строка, переменные в которой нужно развернуть методом doExpand|50:Name=Название переменной для методов doGet и doSet|48:Value=Новое значение переменной для метода doSet|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|19: Str: THI_Event;|21: Name: THI_Event; |29: Value: THI_Event; |24: onExpand: THI_Event;|22: onEnum: THI_Event;|21: onGet: THI_Event;|52: procedure doExpand(var _Data:TData; Index:word);|50: procedure doEnum(var _Data:TData; Index:word);|49: procedure doGet(var _Data:TData; Index:word);|49: procedure doSet(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|0:|60:procedure THiAsmClass.doExpand(var _Data:TData; Index:word);|13:var Sz:Dword;|15: Src:string;|15: Dst:string;|5:begin|34: Src:=ReadString(_Data, Str,'');|50: Sz:=ExpandEnvironmentStrings(PChar(Src),nil,0);|22: SetLength(Dst, Sz);|56: ExpandEnvironmentStrings(PChar(Src), PChar(Dst), Sz);|39: SetLength(Dst, StrLen(PChar(Dst))); |34: _hi_OnEvent(onExpand, Dst); |4:end;|0:|58:procedure THiAsmClass.doEnum(var _Data:TData; Index:word);|44:var EnvBlock:PChar; i, l:integer; s: string;|5:begin|19: EnvBlock := nil; |36: EnvBlock := GetEnvironmentStrings;|25: if EnvBlock <> nil then|7: begin|15: i := 0; |15: l := 0; |10: repeat|9: begin|32: l := StrLen(@EnvBlock[i]);|19: if l > 0 then|11: begin|24: SetLength(s, l);|40: StrCopy(PChar(s), @EnvBlock[i]);|31: _hi_OnEvent(onEnum, s);|13: end; |24: Inc(i, l+1); |7: end|18: until l = 0; |37: FreeEnvironmentStrings(EnvBlock);|6: end;|2: |4:end;|0:|0:|57:procedure THiAsmClass.doGet(var _Data:TData; Index:word);|13:var Sz:Dword;|13: N:string;|13: V:string;|5:begin|33: N:=ReadString(_Data, Name,'');|46: Sz:=GetEnvironmentVariable(PChar(N),nil,0);|18: if Sz <> 0 then|8: begin|22: SetLength(V, Sz);|52: GetEnvironmentVariable(PChar(N), PChar(V), Sz);|37: SetLength(V, StrLen(PChar(V))); |27: _hi_OnEvent(onGet, V);|8: end |4:end;|0:|57:procedure THiAsmClass.doSet(var _Data:TData; Index:word);|5:begin|95: SetEnvironmentVariable(PChar(ReadString(_Data, Name,'')),PChar(ReadString(_Data, Value,'')));|4:end;|0:|4:end.|
link(Name,8298333:Value,[])
link(Value,2635825:Result,[(531,163)(573,163)])
}
Add(Memory,8298333,518,84)
{
Default=String(PATH)
}
Add(StrCat,2635825,567,126)
{
Str2="clibs"
link(Str1,2564954:CurrentDir,[])
}
Add(Hub,15104773,448,161)
{
link(onEvent1,2635825:doStrCat,[(480,167)(480,132)])
link(onEvent2,5981625:doSet,[(480,174)(480,202)])
}
Наведи мышку на IC.