Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Всем привет. С новым годом!) Небольшое отступление: в общем то я студент 3-го курса пришедший на практику на завод, где мне дали тестовое задание на языке FoxPRO, о котором я ничего не слышал до этого момента, собственно весь завод работает на данной системе.
Задание следующее: 0) Интерфейс программы должен представлять меню, в котором выбирается пункт и выдается результат. 1) Создать базу данных состоящую из полей: № п/п, Фамилия, Имя, Отчество, Дата рождения, Пол, Профессия, Оклад, Цех. Ввести 100 записей. 2) Выдать список работников родившихся в один год. (В списке их должно быть несколько) 3) Выдать список работников родившихся в мае или любом другом месяце. (В списке их должно быть несколько) 4) Выдать список работников работающих в одном цеху. (В списке их должно быть несколько) 5) Выдать список работников одного пола. (В списке их должно быть несколько) 6) Выдать список работников с одним окладом. (В списке их должно быть несколько) 7) Выдать список работников фамилия которых начинается на заданную букву. (В списке их должно быть несколько) 8) Все эти списки вывести на экран и записать в файл. В принципе я смог разобраться в чем то и сделал пункты 1-6, так же результаты вывел в отдельные файлы (Пункт 8). Прошу помощи с 7-м пунктом, никак не смог понять как его решить, а так же помощи с 8-м пунктом, не могу разобраться как вывести все эти списки не только в файл, но и на экран. Если начинаю выводить их на экран, то выводится только несколько записей из БД и дальше все уходит за границы экрана и ничего не видно. Очень нужно разобраться как сделать меню и вывод на экран с нормальным отображением. Покажите как это делается, буду очень благодарен ^_^ Файл со сделанными заданиями и БД [attachment 28794 Zadanie.zip] Исправлено 2 раз(а). Последнее : TheGodMode, 05.01.18 12:39 |
Re: Как сделать меню? | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
Цитата:Это ж FPD тов. Симпле777 на помощь надо звать ------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 3 раз(а). Последнее : Божья_коровка, 05.01.18 13:50 |
Re: Как сделать меню? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
И как найти данного пользователя? |
Re: Как сделать меню? | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
Да чего его искать, вон он на сайте, сейчас зайдет посмотрит. Там у тебя ничего сложного нет, правда никто уже не рисует так отчеты и менюшки. В принципе на экран если не рисовать, то результат данных можно показывать в BROW. Отфильтровал таблицу и после фильтра делаешь brow и на экран показываются отфильтрованные данные. Это если без рисования отчета руками.
Ну вот если по твоему коду -
------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 05.01.18 12:53 |
Re: Как сделать меню? | |
---|---|
Chemberzhy Автор Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Сам объявиться. Он частый ходок . Или сюда постучитесь. |
Re: Как сделать меню? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Кстати, кто давал задание, сказал что нельзя использовать функцию BROWSE или как она там. Поэтому я не нашел другого выхода как самому рисовать. Блин, сдавать в понедельник а я в тупике полном. Не могу найти ничего о том как это можно сделать. Надежда только на вашу помощь |
Re: Как сделать меню? | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
ну выводи тогда руками, рисуй отчетик...Ну если прям сейчас и по быстрому на экран то LIST, посмотри его в хелпе.
------------------ Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается... Исправлено 1 раз(а). Последнее : Божья_коровка, 05.01.18 13:03 |
Re: Как сделать меню? | |
---|---|
Chemberzhy Автор Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Не разрешают Browse,- ход конём: CHANGE
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Если по-быстрому, то можно и команду DISPLAY использовать.
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Ну я пытался сделать так, однако выскакивает ошибка "Position is off the screen". Как я понимаю с перевода, то данные выходят за границы экрана и не отображаются. Как сделать так что бы экран можно было двигать в нужные стороны и просматривать все записи которые выведутся?
|
Re: Как сделать меню? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Честно, ничего не понимаю из описания в HELPe, что куда зачем и как, не понятно |
Re: Как сделать меню? | |
---|---|
Владимир Максимов Сообщений: 14100 Откуда: Москва Дата регистрации: 02.09.2000 |
Для Вас настольной книгой должна стать Попов А.А. Программирование в среде СУБД FoxPro 2.0 Ссылок на нее полно в интернете. Легко найдете и скачаете. Там много примеров и пояснений. Только ищите именно по 2.0, поскольку есть редакция для версии 2.5 под Windows. А это несколько другое Насчет самой задачи для FP2.x Browse вполне себе рабочий инструмент. Но если нужен другой вариант, то можно создать форму и на ней вывести объект Lists В книге Попова - это Глава 25 "Средства управления в стиле Windows", подраздел "Списки меню (Lists)" |
Re: Как сделать меню? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
У меня вообще FOXPro DOS V1.10, на ней мне и надо писать, а по ней я не смог найти практический ничего. Тот кто задание дает - сказал что в этой версии нет очень много функций, которые появились в 2.0 Вот фото версии на которой надо разрабатывать: Исправлено 2 раз(а). Последнее : TheGodMode, 05.01.18 13:24 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
И весь завод работает на этой версии? Куплю для ИК калаша - он ликвидирует.
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Да, весь завод на этом работает. Люди сидят на современных компьютерах, через батники открывают нужные программы и на мониторах с фулл хд разрешением все растягивается и они сидят и работают. Пожалуйста, давайте конкретно по теме, очень нужна помощь с выводом данных на экран Могу даже прекрепить данную версию FoxPRO. Исправлено 1 раз(а). Последнее : TheGodMode, 05.01.18 13:33 |
Re: Как сделать меню? | |
---|---|
Chemberzhy Автор Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Change абсолютно аналогична Browse , только внешний вид отображения на экране отличается тем, что Browse выводит записи в одно строку по столбцам, а Change каждое записи таблицы выводит одна под другой, например: Browse Поле1. поле2, поле3, ... Change Поле1, Поле2, Поле3, ... То есть, если Вы возьмете уже готовую у Вас строку с командой Browse и замените Browse на Change, то всё сработает, только в ином виде отображения. Но важно то, что малой кровью Вы обойдете, извините, идиотское требование не использовать Browse. Хотя, может быть задачник хочет обойти Browse, дабы данные выводились только для чтения без возможности редактирования, но и это можно обойти дополнительными командами расширения что в Browse, что в Change NOEDIT и NOMENU change fields ПЕРЕЧЕНЬ ПОЛЕЙ ЧЕРЕЗ ЗАПЯТУЮ noedit, nomenu Исправлено 3 раз(а). Последнее : Chemberzhy, 05.01.18 13:39 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Вообще надо понимать, что стандартный видеорежим DOS - 80 знакомест по горизонтали, и 25 - по вертикали. Исходя из этого надо выводить данные на дисплей. Выход за пределы границ 80х25 при выводе по команде @ X,Y SAY будет сопровождаться сообщением об ошибке. Поэтому при "простом" выводе данных "от начала до конца" следует проверять значение, возвращаемое функцией ROW(). Если будет достигнуто значение 25, то следует "почистить" на экране выведенные данные, и начать выводить с первой строки. При этом можно использовать команду WAIT с выдачей сообщения о продолжении вывода данных при нажатии, например, клавиши. <ENTER>
Что же касаемо длины выводимой строки, то можно данные из записи выводить и в две, и в три строки подряд, после чего выводить разделяющую черту. Исправлено 1 раз(а). Последнее : Simple777, 05.01.18 13:39 |
Re: Как сделать меню? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Не, так не пойдет. Сказали что бы все было презентабельно нарисовано и что бы можно было на печать отправлять. Кстати забыл про печать написать в задании еще. По хорошему надо сделать так: открывается программа и в ней сразу выведена вся БД. Я могу просматривать записи и листать их. На любой понравившейся записи я могу нажать Интер и мне в отдельном окне откроется окно для редактирования записи. Либо при просмотре всех записей я могу нажать функции "Поиск по полу, поиск по окладу, поиск по цеху и т.д.", после чего мне выведется результаты на экран, где я могу нажать клавиши "Сохранить результаты в файл либо вывести на принтер". По плохому: мне надо сейчас доработать мое написанное приложение, что бы при нажатии тех функций что у меня есть, сначала выводились данные на экран, после чего при необходимости я мог вывести их либо в принтер, либо на экран. |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
Это я понимаю прекрасно. Но просят сделать вот так. И для примера он мне запускал рабочие программы у них, там после вывода на экран можно было двигать за пределы экрана курсором и смотреть что там выведено. Вот просил так же |
Re: Как сделать меню? | |
---|---|
Chemberzhy Автор Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Не понимаю, откровенно говоря, в чем непрезентабельность, тем более, учитывая глупость поставленной задачи, но отправить на печать после отображения на экран можно как через предварительно созданный отчет, так и просто скопировав в текстовый файл и уже его распечатать. Сделать более презентабельное отображение можно "разукрасив" Change, например, добавить описание поле на русском.
Сложно помочь, хотя искреннее желание есть. Постановка не ясна и требования "мыльные". Тем более, что это как сегодня машиниста современного поездного локомотива посадить на паровоз 19-го века. |
© 2000-2024 Fox Club  |