for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Visual Foxpro, Foxpro for DOS
   :: Помощь сайту :: 

Добавление записи из grid в текстовое поле
k0t0rez
Автор

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



Исправлено: k0t0rez, 21.12.17 07:12
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
Перминов Игорь

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


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




Исправлено: Перминов Игорь, 21.12.17 06:46
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
ssa
[Модератор]

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

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
k0t0rez
Автор

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

Re: Добавление записи из grid в текстовое поле
Igor Korolyov

Сообщений: 31087
Дата: 21.12.17 11:44:30ОтветитьЦитировать
Через Public переменные, или для модальных форм, ну-ну...


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 10598
Откуда: Н.Новгород
Дата: 21.12.17 12:38:47ОтветитьЦитировать
Главное одна форма должна "видеть" другую (иметь ссылку на нее). А имея эту ссылку можно любой элемент (в т.ч. поле курсора в текущей записи грида) скопировать в другой обьект формы, например:
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

Сообщений: 446
Дата: 21.12.17 12:57:08ОтветитьЦитировать
Igor Korolyov
Через Public переменные, или для модальных форм, ну-ну...

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

Re: Добавление записи из grid в текстовое поле
ssa
[Модератор]

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


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive

Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 10598
Откуда: Н.Новгород
Дата: 21.12.17 14:12:09ОтветитьЦитировать
Ну, 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

Сообщений: 2709
Откуда: Москва
Дата: 21.12.17 14:39:07ОтветитьЦитировать
of63
Ну, EVALUATE - тоже самое, только без значка &
...
или вобще без макро

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

Re: Добавление записи из grid в текстовое поле
Ydin

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



Исправлено: Ydin, 21.12.17 15:40
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
Ydin

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



Исправлено: Ydin, 21.12.17 16:13
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 2709
Откуда: Москва
Дата: 21.12.17 17:58:21ОтветитьЦитировать
Ydin
А человека дрючат совсем другие, чисто по-шаблону, за неэффективный код.

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

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

Re: Добавление записи из grid в текстовое поле
Ydin

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



Исправлено: Ydin, 21.12.17 18:18
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
of63

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

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

Re: Добавление записи из grid в текстовое поле
akvvohinc

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

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

Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 10598
Откуда: Н.Новгород
Дата: 21.12.17 19:05:22ОтветитьЦитировать
Ну да, я пока контролирую употребление макроса...

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



Исправлено: of63, 21.12.17 19:08
Ratings: 0 negative/0 positive

Re: Добавление записи из grid в текстовое поле
akvvohinc

Сообщений: 2709
Откуда: Москва
Дата: 21.12.17 19:07:47ОтветитьЦитировать
Ydin
Вообще, не важно, но слова "лучше" там нет. Не надо на себя лично это переносить.

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

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

Re: Добавление записи из grid в текстовое поле
of63

Сообщений: 10598
Откуда: Н.Новгород
Дата: 21.12.17 19:11:47ОтветитьЦитировать
Небольшие взаимные непонимания - обычное дело)

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

Re: Добавление записи из grid в текстовое поле
Simple777

Сообщений: 18420
Дата: 21.12.17 19:16:37ОтветитьЦитировать
Цитата:
- Нам нужен вон тот, в шрамах.
- Нет, нам нужен тот, кто эти шрамы оставил.

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



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

On-line: 33 Simple777  and Guests: 32


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