Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Логическим можно ответить? .T. или .F. |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Назад, в будущее!.. |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Тут больше подошло бы .NULL. , но таки да. |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Если используется команда PROMT, то ON ESCAPE работает иначе. Надо в процедуру добавить CASE N=0.
Если будет нажата клавиша ESCAPE, то N будет равно 0. Вообще PROMPT тоже не очень хорошая команда, но в FPD 1.1 видимо, другого и не было. |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
А как считать с клавиатуры не цифры а буквы?
Если так считывает цифры:
То так не считывает буквы, а просто пропускает данные строчки:
Исправлено 1 раз(а). Последнее : TheGodMode, 08.01.18 16:14 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
У команды @ X,Y GET есть еще опции PICTURE.
Если надо вводить, например, только цифры, то пишут так: @ X,Y GET myvar PICTURE '9999' READ Если надо вводить и буквы и цифры, то: @ X,Y GET myvar PICTURE 'XXXX' READ Есть и другие функции в опции PICTURE |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
of63 Автор Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Кстати, про печать. Если в FPD 1 есть перехват клавиш (ON KEY [LABEL]), то можно сделать примерно так (дать возможность по горячей клавише напечатать этот файл):
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
TheGodMode Сообщений: 77 Дата регистрации: 19.12.2017 |
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
of63 Автор Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
а перед этим SCAN предварительно проверь наличие записей, чтобы зря шапку в файл не выводить
Исправлено 2 раз(а). Последнее : of63, 08.01.18 18:22 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Насчет функции UPPER. Наверняка она не работает для кириллицы - в версии FPD 1.1 не было поддержки национальных кодовых страниц. Поэтому следует для преобразования использовать функцию CHRTRAN(), где в качестве второго аргумента будет строка символов из всех маленьких букв кириллицы, а в качестве третьего аргумента - все большие буквы. Типа так: rfamil1=CHRTRAN(rfamil,'абвгд...','АБВГД...') rfamil2=CHRTRAN(famil,'абвгд...','АБВГД...') И я бы выполнял поиск так (чтобы не заморачиваться, как там работает "==" и какая установка активна у SET EXAC) Locate for SUBSTR(rfamil1,1,1)=SUBSTR(rfamil2,1,1) Исправлено 1 раз(а). Последнее : Simple777, 08.01.18 18:21 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Я вот не уверен, что в FPD 1.1 была конструкция SCAN FOR |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
of63 Автор Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
LOCATE то работает, а SCAN - не один ли ...код?
Ну, если нет, то он там опть что-то со SKIP пишет... не проникся парой LOCATE - CONTINUE ... Хелп надо бы на этот FPD 1... Точно про CHRTRAN(rfamil,'абвгд...','АБВГД...') подметил! Записать ее в виде подпрограммы RuUPPER и пользовать вместо UPPER. Исправлено 3 раз(а). Последнее : of63, 08.01.18 18:30 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Да, надо использовать не SKIP, а CONTINUE (после успешного LOCATE)
|
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Не поверишь, но такая функция в индексном выражении позволяет использовать MACHINE как COLLATE (Надеюсь, ИК не прибьет за такое смелое заявление ) |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
of63 Автор Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Непонятно, как FPD 1 видит русские символы ASC()>127? Они для него как буквы? Или как не буквы?
Почему фокс не ругается, что какие-то символы непонятные. Что вернет от них ISALPHA() если такая ф-ия есть... Хотя какая фоксу разница, что за символы в строках (данных)... |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
На FPD 1.1 не работал вааще-та. Но думаю, что нормально он видит русские буквы. Символы берутся из дополнительной кодовой страницы MS-DOS. А вот преобразовывать вторую половину таблицы FPD 1.1 точно не может. Исправлено 1 раз(а). Последнее : Simple777, 08.01.18 18:43 |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
Ytuzov Сообщений: 944 Откуда: Нижний Новгород Дата регистрации: 17.05.2005 |
Для 1.02 drive.google.com |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
akvvohinc Сообщений: 4224 Откуда: Москва Дата регистрации: 11.11.2008 |
Когда не было UPPER() для русских букв, то обычно пользовались SYS(15), а не CHRTRAN().
Так удобнее - один раз определяешь глобальную переменную со всеми символами и пользуешься. То есть, фактически задается только 2 параметра - что перекодировать и таблица перекодировки, а не 3, как для CHRTRAN(). |
Re: Как сделать меню в FoxPRO DOS? | |
---|---|
of63 Автор Сообщений: 25256 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
О! Спасибо. 2Simple. SCAN там c FOR-ом |
© 2000-2024 Fox Club  |