Руководство - Отображение в текстовом режиме (Консоль)
В предыдущей теме Ввод & Вывод Вы уже видели обзор различных возможностей вывода текста на экран пользователя, и в темеХранение данных в памяти, мы начали создавать небольшое приложение для вывода на экран свойств файлов в конкретной папке, через окно debug.... ; Теперь мы определяем новый список файлов, используя ранее определенную структуру. NewList Files.FILEITEM() Define.s Access, Attrib, Create, Folder, Modify, Msg, Num, Size Define.l Result ...
Далее, полностью удалите выходной раздел кода от строки комментария:; Показывает список в окне отладки (если нет ни одной записи в каталоге, на экран ничего не выведется). ...И замените на этот:
; Открыть экран текстового режима, для показа результатов. OpenConsole() ; Вывести на экран заголовок. ; PrintN выводит данную строку на экран консоли, и переводит курсор печати на следующую строку. ; Space(n) вводит n количество пробелов в строку. PrintN("File list of " + Folder + ".") PrintN("-------------------------------------------------------------------------------") Msg = "Num Name" PrintN(Msg) Msg = Space(4) + "Create" + Space(5) + "Access" + Space(5) + "Modify" + Space(5) + "Attrib Size" PrintN(Msg) ; Цикл через весь список, чтобы вывести на экран результаты. ForEach Files() ; Здесь мы сведём в таблицу все индексы ( Номера элементов) списка. ; ListIndex() возвращает индекс, то есть позицию текущего элемента в списке, отсчитанное от нуля. ; StrU преобразовывает число без знака в строку. ; RSet дополняет строку пробелами для получения заданной длины. ; Здесь мы используем RSet, чтобы все индексы были дополнены до длины в 3 символа. Num = RSet(StrU(ListIndex(Files()) + 1), 3, " ") ; Вывести на экран Номер пункта и имя файла. Msg = Num + " " + Files()\Name PrintN(Msg) ; Эти строки преобразовывают значения дат создания и т.д. файла в привычный вид. Create = FormatDate("%dd/%mm/%yyyy", Files()\DateCreated) Access = FormatDate("%dd/%mm/%yyyy", Files()\DateAccessed) Modify = FormatDate("%dd/%mm/%yyyy", Files()\DateModified) ; Преобразуем размер файла в строку с дополнением пробелов, так же как с индексным значением выше, ; но зададим размер строки для размещения максимального размера значения типа quad. Size = RSet(StrU(Files()\Size), 19) ; Преобразуем атрибуты в строку. Attrib = RSet(StrU(Files()\Attributes), 6, " ") ; Вывести на экран свойства файла. Msg = Space(4) + Create + " " + Access + " " + Modify + " " + Attrib + " " + Size PrintN(Msg) ; Вывести на экран пустую строку. PrintN("") Next Files() ; Вывести на экран сообщение с инструкцией по завершению работы программы: "Нажмите return для выхода". PrintN("") PrintN("Нажмите return для выхода") Input()Если в коде нет ошибок, то результат на экране должен выглядеть примерно так:
File List of C:\Documents And Settings\user\. ------------------------------------------------------------------------------- Num Name Create Access Modify Attrib Size 1 NTUSER.DAT 03/07/2008 04/04/2011 02/04/2011 34 18874368 2 kunzip.dll 14/07/2008 04/04/2011 14/07/2008 32 18432 3 ntuser.dat.LOG 03/07/2008 04/04/2011 04/04/2011 34 1024 4 ntuser.ini 03/07/2008 02/04/2011 02/04/2011 6 278 Нажмите Return для выходаЭто результат вывода, который даёт Windows XP, на более поздних версий Windows, Linux или MAC OSX выводимые названия файлов будут другими.
Навигация Руководства
< Ввод и Вывод - Обзор - Создание графического пользователя interface (GUI) >