powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обращение к функции
25 сообщений из 28, страница 1 из 2
Обращение к функции
    #38608001
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Мой вопрос простой, как обратиться к функции из события?
Если обычный программный код перенести в событие клик на кнопке, выдается ошибка что событие не может содержать вложенных процедур. Прошу объяснить на пальцах, ибо программировать я не умею, с фокс про работаю 5 день, все что знаю это информация из 3 учебников скачанных недавно.
...
Рейтинг: 0 / 0
Обращение к функции
    #38608012
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаешь файл MyFunc.prg, внутрь пишешь код своей функции. Например
Код: sql
1.
2.
3.
lpara x
? x
return 0



А в кнопке
Код: sql
1.
y = MyFunc(5)


или
Код: sql
1.
do MyFunc with 5



PS Когда количество таких файлов перевалит за десяток - вернись к чтению учебников, т.к. есть другие способы.
...
Рейтинг: 0 / 0
Обращение к функции
    #38608043
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, нашел, только надо еще указать в основной программе команду
SET PROCEDURE TO MyFunc

Вопрос следующий: на сетке есть элемент грид, изначально задано свойство невидимости, вручную в properties. Теперь при щелчке по кнопке1 хочу чтоб он стал видимый, пишу
Grid2.visible=true, он пишет ошибку не найден объект Grid2, неверный формат команды или что?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608074
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
John SmitСпасибо, нашел, только надо еще указать в основной программе команду
SET PROCEDURE TO MyFunc
если так сделать, то можно все функции в один файл собрать.
Как я написал - не нужно, т.к. имя файла это имя функции.


John SmitВопрос следующий: на сетке есть элемент грид, изначально задано свойство невидимости, вручную в properties. Теперь при щелчке по кнопке1 хочу чтоб он стал видимый, пишу
Grid2.visible=true, он пишет ошибку не найден объект Grid2, неверный формат команды или что?
это так пишется
Код: sql
1.
ThisForm.Grid2.visible=.T.
...
Рейтинг: 0 / 0
Обращение к функции
    #38608389
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отлично, вопрос 3:
если сделать запуск формы на исполнение через ! или cntrl+E, то таблицы в грид заполнены полями как надо, если же в головной программе написать DO FORM <имя формы>, то выдается форма с пустыми полями, как исправить?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608408
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос. В процессе выполнения формы кнопка1 делает так что я изменяю исходный файл таблицы который подставлен в грид1 (он перезаписывается с темже именем и структурой, только текст в полях меняется), после чего грид становится белым квадратом. Как сделать так чтобы грид сразу обновился?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608575
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кнопки окна свернуть и развернуть в свойствах я вроде нашел (maxbutton и minbutton). А как убрать кнопку крестик?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608611
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойство ControlBox
...
Рейтинг: 0 / 0
Обращение к функции
    #38608686
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме есть грид, ну скажем из 1 столбца и 5 строк.
После запуска формы пользователь ткнет мышкой в одно из полей грида.
Как взять то значение табличного поля, в которое он ткнул (всмысле занести в переменную и дальше использовать)?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608729
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
John SmitНа форме есть грид, ну скажем из 1 столбца и 5 строк.
После запуска формы пользователь ткнет мышкой в одно из полей грида.
Как взять то значение табличного поля, в которое он ткнул (всмысле занести в переменную и дальше использовать)?Молча. Взять и прочитать значение поля. Таблицы. Которая показывается в гриде. Вот просто взять и прочитать.
Код: sql
1.
m.SomeVar = <NameFiled>
...
Рейтинг: 0 / 0
Обращение к функции
    #38608744
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov
Код: sql
1.
m.SomeVar = <NameFiled>


Вобще не понял что это за оператор, в событии click - fox выдает "syntax error", что здесь под NameFiled понимается?
...
Рейтинг: 0 / 0
Обращение к функции
    #38608841
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
John SmitSergey Sizov
Код: sql
1.
m.SomeVar = <NameFiled>


Вобще не понял что это за оператор, в событии click - fox выдает "syntax error", что здесь под NameFiled понимается?Переводить не пробовал? Вместо <NameFiled> вставь имя поля в таблице.
...
Рейтинг: 0 / 0
Обращение к функции
    #38609257
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну простите нас неграмотных, не можем перевеси что name - это имя, а filed - это непонятно что(толи файл, толи ...), ведь "поле" по английски - field.
Осталось бы понять что за левая часть конструкции m.SomeVar значит?
И кстати если столбцов будет >1, для каждого такую конструкцию писать?
...
Рейтинг: 0 / 0
Обращение к функции
    #38609360
John SmitНу простите нас неграмотных, не можем перевеси что name - это имя, а filed - это непонятно что(толи файл, толи ...), ведь "поле" по английски - field.
Осталось бы понять что за левая часть конструкции m.SomeVar значит?М-да... Тяжелый случай... SomeVar (какая-то переменная /прим. переводчика) - часто используемое в документации указание на необходимость в данном месте поставить переменную.И кстати если столбцов будет >1, для каждого такую конструкцию писать?Да, для каждого. Что в этом необычного?
...
Рейтинг: 0 / 0
Обращение к функции
    #38609365
SoftwareBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
John SmitИ кстати если столбцов будет >1, для каждого такую конструкцию писать?
Если так хочется значения всех полей запихнуть в переменные - есть команда SCATTER.
...
Рейтинг: 0 / 0
Обращение к функции
    #38609386
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обновление переменной происходит только когда после щелчка на элемент поля - ткнуть в пустое поле. Может это событие размещать не в ckick?
...
Рейтинг: 0 / 0
Обращение к функции
    #38609411
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SoftwareBoyЕсли так хочется значения всех полей запихнуть в переменные - есть команда SCATTER.

Да нет, на форме две таблицы, нужно чтоб при щелчке поля в 1 таблице выдавало связанные с ним поля 2 таблицы (несколько строк и столбцов), говорят надо сделать поиск по индексу, но с чем индекс сравнивать? Для этого и нужно получать значения куда пользователь щелкнул мышкой
...
Рейтинг: 0 / 0
Обращение к функции
    #38609434
John SmitSoftwareBoyЕсли так хочется значения всех полей запихнуть в переменные - есть команда SCATTER.

Да нет, на форме две таблицы, нужно чтоб при щелчке поля в 1 таблице выдавало связанные с ним поля 2 таблицы (несколько строк и столбцов), говорят надо сделать поиск по индексу, но с чем индекс сравнивать? Для этого и нужно получать значения куда пользователь щелкнул мышкой
Скачайте книгу Попова по FoxPro 2.5/2.6 (хоть ее и ругают, но подобные вещи там объяснены хорошо и на примерах) и почитайте про работу с индексами... Либо Хелп почитайте... Ключевые слова: create index, set relation, locate for, seek, seek()....
...
Рейтинг: 0 / 0
Обращение к функции
    #38610675
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите как обратиться к кнопке формы из программы?
Сама форма в проекте, в виндовс, в form designer она называется view. В Properties Form1, как только не пробовал:
form1.command2.visible=.F.
view.command2.visible=.F.
formview.command2.visible=.F.
form.view.command2.visible=.F.
...
Рейтинг: 0 / 0
Обращение к функции
    #38610742
John SmitСкажите как обратиться к кнопке формы из программы?Откуда?Сама форма в проекте, в виндовс,В проекте нет никаких виндовс. Наличие формы в проекте ни на что внутри формы не влияет. Проект - просто список фалов для построения и не более того. в form designer она называется view. В Properties Form1,В этом окне много свойств. Вы какое привели? Name? как только не пробовал:
form1.command2.visible=.F.
view.command2.visible=.F.
formview.command2.visible=.F.
form.view.command2.visible=.F.Так откуда ломимся? Как я понимаю, изнутри формы? Тогда откройте для себя ссылку на текущую форму Thisform.
Код: sql
1.
thisform.command2.visible=.F.

Это при условии, что кнопка лежит прямо на форме, а не внутри еще чего-нибудь.
...
Рейтинг: 0 / 0
Обращение к функции
    #38610757
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DO cpzero WITH 'Имя DBFки' , 866
Почему выдается диалоговое окно выберите кодировку? Я же пишу 866ю!?
...
Рейтинг: 0 / 0
Обращение к функции
    #38610804
John Smit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правильный проходящийJohn SmitСкажите как обратиться к кнопке формы из программы?Откуда?
я вроде понятно написал: из программы (конкретнее из головной программы проекта)
правильный проходящийСама форма в проекте, в виндовс,В проекте нет никаких виндовс. Наличие формы в проекте ни на что внутри формы не влияет. Проект - просто список фалов для построения и не более того.
Я перечисляю через запятую места, где можно увидеть имя формы:
в виндовс - файл называется view.scx
в окне проекта progect manager - она тоже называется view
в окне form designer - view.scx
а вот в окне properties - самая верхняя закладка называется form1
правильный проходящийJohn Smit В Properties Form1В этом окне много свойств. Вы какое привели? Name?
Да, свойство Name - Form1

правильный проходящийТак откуда ломимся? Как я понимаю, изнутри формы? Тогда откройте для себя ссылку на текущую форму Thisform.
Код: sql
1.
thisform.command2.visible=.F.


Эту команду мне уже показали в форуме. Но мне нужно обратиться не с формы, а с программы, по аналогии попробовал, вот не получилось.
В любом случае спасибо за ответы, сори что туплю, просто в отделе никто помогать не хочет.
...
Рейтинг: 0 / 0
Обращение к функции
    #38610815
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
John Smit,

screen.forms(вроде так), ищете там свою форму, ну а уж как из формы обратиться к её элементу, и сами знаете
...
Рейтинг: 0 / 0
Обращение к функции
    #38610825
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
John SmitНо мне нужно обратиться не с формы, а с программы, по аналогии попробовал, вот не получилось.
Это нетривиальная задача. Одну форму можно открыть трижды и на какой из 3-х тогда нажимать?

Все решения сводятся к тому что надо сначала получить ссылку на форму, а потом использовать ее.
например
Код: sql
1.
2.
3.
do form MyForm name loForm
...
loForm.command2.visible=.F.



только обычно такие вещи .visible делают изнутри кода формы используя ThisForm
...
Рейтинг: 0 / 0
Обращение к функции
    #38610830
John Smitправильный проходящийпропущено...
Откуда?
я вроде понятно написалКОМУ понятно? Тебе? Ну тогда сам и отвечай на свои "понятные" объяснения.: из программы (конкретнее из головной программы проекта)Еще конкретнее - ГДЕ находится код обращения к кнопке?правильный проходящийпропущено...
В проекте нет никаких виндовс. Наличие формы в проекте ни на что внутри формы не влияет. Проект - просто список фалов для построения и не более того.
Я перечисляю через запятую места, где можно увидеть имя формы:
в виндовс Еще раз - в проекте нет никаких виндовс. В лучшем случае - формы.- файл называется view.scxЭто название файла, оно почти ничего не говорит по интересующему тебя вопросу.в окне проекта progect manager - она тоже называется viewЕще бы она по-другому называлась! :)в окне form designer - view.scxТо же самое.а вот в окне properties - самая верхняя закладка называется form1
правильный проходящийпропущено...
В этом окне много свойств. Вы какое привели? Name?
Да, свойство Name - Form1

правильный проходящийТак откуда ломимся? Как я понимаю, изнутри формы? Тогда откройте для себя ссылку на текущую форму Thisform.
Код: sql
1.
thisform.command2.visible=.F.


Эту команду мне уже показали в форуме. Но мне нужно обратиться не с формы, а с программы, по аналогии попробовал, вот не получилось.Ну так думаешь тебя от нечего делать спрашивают в очередной раз - ОТКУДА надо обратитьтся? Сама то форма как вызывается? do form view? А где она так вызывается? Ты, хотя бы в общем, представляешь, что такое "область видимости"? Ты знаешь, что далеко не все и всегда в программе видно?
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обращение к функции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]