408 Приложение

if ss[Length(ss)] <> '\' then ss :•= ss+'\';

ss := ss+s; {Добавляем маршрут поиска) {Сообщать имя} R.Assign(l,l,48,2) ;

Р".Insert(New(PStaticText,Init(R,#3+ss))) ;

SetFile(ss); {Помещаем файл в архив} PS := At(k) ;

PS^ := s end end;

Dispose(P,Done);

PL^.Draw

end; f'rAcW.i.IeBox.Setfi.IesJ I— —————-.-__——_

Procedure TInpLine.HandleEvent;

{Обработчик событий строки ввода имени или маски выбора файлов: выдает команду cmCDW, если изменен статус ввода) begin

TInputLine.HandleEvent(Event) ;

if (Event.What = evKeyDown) and (Event.KeyCode ° kbEnter) then

Message(Owner,evBroadcast,cmCDW,@Self) end; {TInpLine.HandleEvent) _————————..————;

Procedure TFileListBox.SetAll;

{Дополняет признаком выбора имена всех файлов) var

S: String;

k: Integer;

begin

with PFL" do for k := 0 to pred(Count) do begin

s :« GetText(k,255) ;

if s[Length(s)] <> #251 then

MarkF(s) else

DemarkF(s) ;

AtFree(k) ;

Insert (NewStr (s) ) end

and; {TFileListBox.SetAll} ^-———————————;

Procedure TFileListBox.GetDir(WC: String);

{Формирует коллекцию из имен файлов текущего каталога) var

SR: SearchRec;

AllExe: Boolean;

label

Rep;

begin

AllExe := HC='*.*';

if AllExe then WC := '*.com1;

PFL := New(PStringCollection, Init(10,5)) ;

Rep:

FindFirst(WC,$27,SR) ;

while DOSError a" 0 do begin