Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.22;
Скачать: CL | DM;

Вниз

События в 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.008 c
15-1365671316
ПЛОВ
2013-04-11 13:08
2013.09.22
UDF на Delphi, FireBird и NULL


2-1357053624
hghhhJ
2013-01-01 19:20
2013.09.22
Как к "сейчас" прибавить время и вычислить новую дату и время?


8-1232828242
Vemer
2009-01-24 23:17
2013.09.22
Как быстро нарисовать точки из массива в Canvas/DC?


2-1357371621
Handler
2013-01-05 11:40
2013.09.22
исключить дублирование в ComboBox ах


1-1266331114
sniknik
2010-02-16 17:38
2013.09.22
Печать RTF (RichView ? другое ?)