Иллюстрированный самоучитель по Tirbo Pascal




Программа Notebook - часть 3


StdDlg.cmFileOpen,cmOk:

begin {Пользователь указал имя файла:}

PF.GetFileName(s); {s содержит имя файла} 

Assign(DataFile,s); 

{$I-}

Reset(DataFile) ; 

if IOResult <> 0 then

Rewrite(DataFile); 

OpFileF := IOResult=0; 

{$I+}

if OpFileF then 

begin

DisableCommands(WinCom2); 

EnableCommands(WinCom1);

Work {Переходим к работе} 

end 

end;

end; {case Control}

Dispose(PF, Done) {Уничтожаем экземпляр} 

end; {FileOpen}

{-----------------}

Procedure TNotebook.FileSave; {Закрывает файл данных} begin

Close(DataFile);

OpFileF := False;

EnableCommands(WinCom2); {Разрешаем открыть файл)

DisableCommands(WinCom1) {Запрещаем работу и сохранение} 

end; {TNotebook.FileSave} 

{------------------}

Procedure TNotebook.ChangeDir; 

{Изменяет текущий каталог} 

var

PD: PChDirDialog; {Диалоговое окно смены каталога/диска}

Control: Word; begin

New(PD, Init(cdNormal,0)); {Создаем диалоговое окно}

Control := DeskTop.ExecView(PD); {Используем окно}

Choir(PD.DirInput.Data); {Устанавливаем новый каталог}

Dispose(PD, Done) {Удаляем окно из кучи}

end; {TNotebook.ChangeDir}

{---------------------}

Procedure TNotebook.DOSCall;

{Временный выход в ДОС}

const

txt ='Для возврата введите EXIT в ответ'+ ' на приглашение ДОС...';

begin

DoneEvents; {Закрыть обработчик событий} 

DoneVideo; {Закрыть монитор экрана} 

DoneMemory; {Закрыть монитор памяти} 

SetMemTop(HeapPtr); {Освободить кучу} 

WriteLn(txt); {Сообщить о выходе} 

SwapVectors; {Установить стандартные векторы} 

{Передать управление командному процессору ДОС:} 

Exec(GetEnv('COMSPEC'),''); {Вернуться из ДОС:}

SwapVectors; {Восстановить векторы} 

SetMemTop(HeapEnd); {Восстановить кучу}

InitMemory;{Открыть монитор памяти} 

InitVideo; {Открыть монитор экрана} 

InitEvents; {Открыть обработчик событий} 

InitSysError; {Открыть обработчик ошибок} 

Redraw {Восстановить вид экрана}




Содержание  Назад  Вперед