Пример 3 : запрос второго диска. Код: ISDoneError:=true; if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin repeat if not FileSearchInit(false) then break; if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data00.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break; if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data00.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break; if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'data03.arc') then break; if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data02.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break; if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data03.arc'), ExpandConstant('{app}'), '', false, '', '', '', notPCFonFLY) then break; ISDoneError:=false; until true; ISDoneStop; end; | думаю тут все понятно. Единственное стоит упомянуть, что в функции ShowChangeDiskWindow последним параметром необходимо указывать ЛЮБОЙ файл, находящийся ТОЛЬКО на втором диске. Для третьего, четвертного и т.д. делается по аналогии. |