Форум: "Прочее";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
ВнизСобытия в FoxPro MSDOS Найти похожие ветки
← →
Demo (2013-04-16 15:12) [0]Всем привет. Когда то давно, будучи школьником я видел программу под DOS, написанную на FoxPro, в ней был список организаций и строка для поиска. При наборе текста, срабатывало событие и поиск производился по первым набранным буквам. Тогда мне не удалось это повторить. Хотелось бы спросить у людей старой школы, как такие вещи делали в FoxPro без событий которые сейчас есть во всех ЯП?
← →
O'ShinW © (2013-04-16 15:18) [1]клавишу то нажимал?
на нажатие клавиши смотрим длину введенного и если больше определенного, то искать
← →
Jeer © (2013-04-16 15:20) [2]Опрос в цикле легко заменяет событие (С)
← →
Jeer © (2013-04-16 15:22) [3]P.S.
Для тех, кто умел писать для FoxPro библитеки на Watcom С - вопрос решался инициализацией прерывания.
← →
brother © (2013-04-16 15:24) [4]я не понял, там сразу в бд файле работали, без оболочки?
← →
Jeer © (2013-04-16 15:25) [5]Ну, почему же.. FoxPro - это и есть облочка + язык, кстати очень мощный.
← →
Jeer © (2013-04-16 15:28) [6]Пример назначений на функциональные клавиши разных меню:
*********************************************
* FKMNU1.prg
* Определение,назначение и вывод на экран F-клавиш
* вариант меню: 2
*
maxmnu=1
* сброс назначений F-клавиш
*=ClrFkeys()
public array A[10,maxmnu],Fkey[10,maxmnu]
private wname
* A && массив обозначений F-клавиш
* Fkey && массив назначений F-клавиш
A(1,1)="Помощь"
A(2,1)="Запись"
A(3,1)=""
A(4,1)=""
A(5,1)=" "
A(6,1)=" "
A(7,1)="Добавить"
A(8,1)="Удалить"
A(9,1)="Удалить все"
A(10,1)=":Выход"
Fkey[1,1]=[]
Fkey[2,1]="keyboard[{Ctrl+W}]"
Fkey[3,1]=[]
Fkey[4,1]=[ ]
Fkey[5,1]=[ ]
Fkey[6,1]=[ ]
Fkey[7,1]=[do APBREC]
Fkey[8,1]=[do DELREC ]
Fkey[9,1]=[do DelAll]
Fkey[10,1]=[do Done]
wname=wontop()
activate window Fkey noshow
=disp_fks(1)
=set_fk(1)
show window Fkey
activate window (wname)
return
← →
Inovet © (2013-04-16 15:49) [7]наверное, самое простое
c = ""
wait "" to c
И так в цикле.
В кавычках пустое сообщение, в переменной "с" будет введённый символ. Или окно создать для вывода сообщения.
← →
Inovet © (2013-04-16 15:51) [8]К тому, что события вообще-то были, куда ж без них.
← →
Jeer © (2013-04-16 15:51) [9]дык, на самом деле, были события на нажатие клавиш по прерыванию - это самое простое, что реализовано внутри-языковыми средствами.
← →
MonoLife © (2013-04-16 16:03) [10]как такие вещи делали в FoxPro без событий которые сейчас есть во всех ЯП
ха! в Фоксе были шикарные по тем временам генераторы форм, окон, менюшек и т.п.элементов. Но вот не помню, где там вводился код для события этих элементов.. Можно, конечно, достать и отряхнуть от пыли справочник, но как-то ленно...
← →
O'ShinW © (2013-04-16 16:23) [11]
> К тому, что события вообще-то были, куда ж без них.
+1
аналог
repeat until keypressed; char := KeyPressed;
был везде в более-менее нормальных языках
или прерывание заюзать
имхо begin:
это сейчас события - притянуты за уши к тем же прерываниям.
В turbovision это было наглядно
В delphi | win уже не очень.
в конечном итоге - нет никаких событий :)
Временами(по прерыванию, по выполнению того или иного условия) передается управление на некий код.
Короче, долго писать, ну-ка :)
имхо end:
← →
O'ShinW © (2013-04-16 16:24) [12]
> К тому, что события вообще-то были, куда ж без них.
+1
аналог
repeat until keypressed; char := KeyPressed;
был везде в более-менее нормальных языках
или прерывание заюзать
имхо begin:
это сейчас события - притянуты за уши к тем же прерываниям.
В turbovision это было наглядно
В delphi | win уже не очень.
в конечном итоге - нет никаких событий :)
Временами(по прерыванию, по выполнению того или иного условия) передается управление на некий код.
Короче, долго писать, ну-ка :)
имхо end:
← →
Inovet © (2013-04-16 17:01) [13]> [10] MonoLife © (16.04.13 16:03)
> Но вот не помню, где там вводился код для события этих элементов..
Для полей скринов (аналог форм) использовалась конструкция
@ ... get
В ней опционально можно было указать обработчики до входа и перед выходом, а в них уже что угодно делать. На отдельный символ нельзя.
← →
Inovet © (2013-04-16 17:03) [14]> [13] Inovet © (16.04.13 17:01)
после всех get ещё
read cycle
← →
MonoLife © (2013-04-16 17:08) [15]> Inovet © (16.04.13 17:01) [13]
да! как-то так, эх.. давно ж это было..)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c