![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Alexn |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я не так давно программирую на Паскале. В некоторых программах встречается некая фишка. Смена экранов по нажатию клавиши. Но если нажимаешь Enter, стрелки и т.п., проскакивает сразу два экрана. Когда давно я читал про Бейсик, там говорилось что управляющие клавиши генерируют код в 2 байта. Предпологаю это и есть причина. Если нет, то подскажите ее (причину) и если не трудно как сделать обработку нажатия простых и упр. кнопочек.
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата как вывести список файлов и каталогов Код uses dos; { Процедура показывает содержимое диска по шаблону Where } Procedure ShowDisk(Where: string); Type attrType = (RO, Hid, Sys, Vol, Dir, Arc); Const attrText: Array[attrType] Of Char = ('R', 'H', 'S', 'V', 'D', 'A'); attrVal: Array[attrType] Of Byte = (1, 2, 4, 8, 16, 32); Var sRec: SearchRec; i: attrType; Begin If Where = '' Then Where := '*.*'; { Найти первый подходящий файл среди файлов заданного типа (AnyFile) Результаты сохраняются в записи sRec } FindFirst(Where, AnyFile, sRec); { Пока файлы находятся (если больше подходящих файлов не найдено, DosError примет ненулевое значение) } While DosError = 0 Do Begin Write(sRec.name:15, sRec.size:10); { Распечатывается атрибут файла... } For i := RO To Arc Do If (sRec.Attr and attrVal[i]) = attrVal[i] Then Write(attrText[i]) Else Write('.'); WriteLn; { Ищется следующий файл по тому же шаблону, который задан в FindFirst } FindNext(sRec); End; End; Begin ShowDisk('F:\*.*'); End. Цитата почему это работает ![]() Потому что это должно работать. Сообщение отредактировано: volvo - 4.11.2004 9:54 |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 5:34 |