:: Visual Foxpro, Foxpro for DOS
Добавление записи из grid в текстовое поле
k0t0rez
Автор

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
Всем доброе утро! Сегодня столкнулся с такой проблемой: нужно выбранную строчку в грид добавить в текстовое поле другой формы по нажатию кнопки. Подскажите, пожалуйста, как это реализовать?



Исправлено 1 раз(а). Последнее : k0t0rez, 21.12.17 08:12
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Перминов Игорь

Сообщений: 1591
Откуда: Красная Орловка
Дата регистрации: 16.09.2001
k0t0rez
Всем доброе утро! Сегодня столкнулся с такой проблемой: нужно из выбранную строчку в грид добавить в текстовое поле другой формы по нажатию кнопки. Подскажите, пожалуйста, как это реализовать?
* Один из способов.
* Форма с текстовым полем Text1 в которую будем писать из другой формы с гридом
do form frm_test name loTest
* Где нибудь в другой форме в методе DblClick или Click
loTest.Text1.value = "Ваши данные"


------------------
Без коментариев..




Исправлено 1 раз(а). Последнее : Перминов Игорь, 21.12.17 07:46
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
k0t0rez
Всем доброе утро! Сегодня столкнулся с такой проблемой: нужно выбранную строчку в грид добавить в текстовое поле другой формы по нажатию кнопки. Подскажите, пожалуйста, как это реализовать?
Строку в текстовое поле? Это как? И что такое "добавить в поле? Или вы не отличаете поле от значения в нем и таки имеете в виду добавление к значению текстового поля значения из какого-то поля выбранной в гриде записи?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
k0t0rez
Автор

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
Перминов Игорь
k0t0rez
Всем доброе утро! Сегодня столкнулся с такой проблемой: нужно из выбранную строчку в грид добавить в текстовое поле другой формы по нажатию кнопки. Подскажите, пожалуйста, как это реализовать?
* Один из способов.
* Форма с текстовым полем Text1 в которую будем писать из другой формы с гридом
do form frm_test name loTest
* Где нибудь в другой форме в методе DblClick или Click
loTest.Text1.value = "Ваши данные"
спасибо большое
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Через Public переменные, или для модальных форм, ну-ну...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Главное одна форма должна "видеть" другую (иметь ссылку на нее). А имея эту ссылку можно любой элемент (в т.ч. поле курсора в текущей записи грида) скопировать в другой обьект формы, например:
m.x = Form2.Grid1.RecordSource && имя курсора грида на форме 2
m.v = &x..поле1 && содержимое поля "поле1" в курсоре грида, в текущей записи (если без приватной DS...)
Form1.Text1.Value = m.v && записываем содержимое "текущей записи" поля "Поле1" в обьект формы 1
еще вариант - завести свойство на форме типа "Поле1ТекущейЗаписи" и в него непрерывно записывать содержимое поля при перемещении указателя в грид (метод грида AfterRowColChange), тогда любая другая форма (зная указатель на эту форму) может просто читать этот свойство...
И еще можно придумать вариантов кучу, из того элементарного, что есть у фокса.
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Igor Korolyov
Через Public переменные, или для модальных форм, ну-ну...

А что там есть такого страшного, в этих PUBLIC-переменных?
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
m.v = &x..поле1 && содержимое поля "поле1" в курсоре грида, в текущей записи (если без приватной DS...)
Как мне "нравятся" вот такие конструкции...
Повбывав бы...


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Ну, EVALUATE - тоже самое, только без значка & :
m.v = EVAL(m.x + "." + "Поле1") && x - алиас курсора

или вобще без макро:

m.s = SELECT() && сохраним старую рабочую область
SELECT (m.x) && устанавливаем рабочей областью курсор грида
m.v = Поле1 && читаем содержимое поля в текущей записи
SELECT (m.s) && вернем старую рабочую область

Опять не так?
(с макро как-то короче в фоксе)
Ratings: 0 negative/1 positive
Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
of63
Ну, EVALUATE - тоже самое, только без значка &
...
или вобще без макро

EVAL() - это и есть "вообще без макро", и далеко не то же самое, что макро, если заботиться не о длине кода, а о времени исполнения.
Ratings: 0 negative/2 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
of63
с макро как-то короче в фоксе)
Тут пишем на коленке. Короче, так, чтобы принцип изложить и по-проще.
В сообщениях не следим за опечатками. Зачем тут дрючить, это сленговый код.
У англичан есть правило написания от руки: вначале пишем фразу, а потом расставляем точки.
Код "на коленке" - показать идею.
Цитата:
если заботиться не о длине кода, а о времени исполнения
Коротко о идее (совете), а не о длине кода или времени исполнения



Исправлено 1 раз(а). Последнее : Ydin, 21.12.17 16:40
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Вообще, тут есть тема и человек пытается помочь. Это его время.
Его ToolTip не помог и все.
Зачем бисер на карте желаний? Автор читает и очень часто -это не оно и забыли.
А человека дрючат совсем другие, чисто по-шаблону, за неэффективный код. Инициатива наказуема, да?
Если говнекод на коленке решает проблему, но автор хочет оптимизировать, но сам не может...
Как-то договорится с человеком, чтобы он написал Eval()...
В принципе, есть 2 варианта:
- автору нужна идея
- автору нужен хоть какой-то код. Студент, например
- автор хочет, чтоб вылизали, оттестировали код, откомментировали, может, добавили обработчик ошибок, и еще что-то
На кого из них работаем по-умолчанию, если автора не "знаем давно"



Исправлено 2 раз(а). Последнее : Ydin, 21.12.17 17:13
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Ydin
А человека дрючат совсем другие, чисто по-шаблону, за неэффективный код.

Отвечу лишь за себя - когда я увидел просто "идею", то ничего не писал про EVAL().

Но вот когда автор решил оправдать использование макро в этой идее, поставив как бы знак равенства между макро и EVAL(), или даже сказав, что макро лучше, потому что короче, вот только тогда...
Ratings: 0 negative/1 positive
Re: Добавление записи из grid в текстовое поле
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Ну, EVALUATE - тоже самое, только без значка &
...
или вобще без макро
Вообще, не важно, но слова "лучше" там нет. Не надо на себя лично это переносить.
Там раньше в этом Форуме много типа такого было.



Исправлено 1 раз(а). Последнее : Ydin, 21.12.17 19:18
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
В макро ничего криминального не вижу, и пользуюсь (когда надо побыстрее сделать... или не заморачиваться на поиске "безмакросного" варианта). И об этом трепа много было. В фоксе использовать макрос практически безболезненно, т.к. и так FXP-код, псевдокод, приготовить из командной строки - невелики затраты (в разумных рамках, конечно).

И дело вообще было не в макросах, а в поиске формы1 из формы2 ! Например, дочерняя-родительская форма - один способ поиска (получения указателя), если произвольная форма ищет другую форму (по имени? заголовку?) - другое решение. ...А уж из грида достать текущую запись-то - дал 1 вариант, потом еще два... все рабочие. Чё взьелись - не понимаю, свой вариант не предложили... Один повбивал бы (укр.?), другой озаботился временем выполнения (в видеоделах-то, когда юзер кнопки давит, и реакции <0/1 сек не замечает), и эти "принципиальные" - "нравится/ненравится", "макро-EVALUATE", "макро-НЕТ!". Стареем, мтк
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
of63
другой озаботился временем выполнения (в видеоделах-то, когда юзер кнопки давит, и реакции <0/1 сек не замечает)

То есть, ты каждый раз думаешь - "Здесь у меня однократный вызов, потерю в доли секунды юзер не заметит, а здесь у меня цикл на полчаса, который макро увеличит в разы, - так и быть, заменю макро на EVAL()"?
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Ну да, я пока контролирую употребление макроса...

Доб. (вот... не проводил экспериментов, но уверен, как Пу, что в данном примере, обращении к полю курсора в текущей строке, что макрос и что EVAL дадут разницу времени выполнения в проценты, а не в разы)



Исправлено 1 раз(а). Последнее : of63, 21.12.17 20:08
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Ydin
Вообще, не важно, но слова "лучше" там нет. Не надо на себя лично это переносить.

Слова "лучше" там, действительно, но было.
Но была, как вы сами написали, "идея"
of63
с макро как-то короче в фоксе

Если автор "идеи" не хотел этим сказать, что это хорошая идея, то я прошу у него прощения.
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Небольшие взаимные непонимания - обычное дело)

"шрамы на спинах, друзьям и подругам оставляли на память - обычное дело" (с)
Ratings: 0 negative/0 positive
Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Цитата:
- Нам нужен вон тот, в шрамах.
- Нет, нам нужен тот, кто эти шрамы оставил.

("Великолепная семерка")
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 28 (Гостей: 28)

© 2000-2024 Fox Club 
Яндекс.Метрика