powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Номера записей
9 сообщений из 9, страница 1 из 1
Номера записей
    #36842844
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро всем. Подскажите где ошибка? Почему m_oldRecNo=0 при первом запуске?
Я, щелкнув по первой строке хочу получить ее номер, далее щелкнув по второй строке получить ее номер, не испортив предыдущий номер. И наоборот тоже.

If Val(this.parent.grid1.Tag) <> RecNo('spprice') Then
m_oldRecNo = VAL(this.parent.grid1.Tag)
m_curRecNo = RecNo('spprice')
this.parent.grid1.Tag = RecNo('spprice')

locate for recno('spprice')=m_oldRecNo
this.parent.text3.value=spprice.presc_id

locate for recno('spprice')=m_curRecNo
this.parent.text4.value=spprice.presc_id
endif
...
Рейтинг: 0 / 0
Номера записей
    #36842922
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМПочему m_oldRecNo=0 при первом запуске?
А что должно быть если так написано:
НадеждаМm_oldRecNo = VAL(this.parent.grid1.Tag)
при старте this.parent.grid1.Tag = '', а VAL('') = 0



И это:
НадеждаМ
locate for recno('spprice')=m_oldRecNo

гораздо быстрее так работает:
Код: plaintext
1.
2.
if m_oldRecNo >  0 
   go (m_oldRecNo) in spprice
endif
...
Рейтинг: 0 / 0
Номера записей
    #36842948
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как же сделать чтобы this.parent.grid1.Tag было не равно =''?
...
Рейтинг: 0 / 0
Номера записей
    #36842958
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно вот так this.parent.grid1.Tag=str(Recno()) ?
...
Рейтинг: 0 / 0
Номера записей
    #36842967
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМкак же сделать чтобы this.parent.grid1.Tag было не равно =''?
прописать в дизайнере форм в свойстве Tag чего-нибудь.

Но проще в коде проверку сделать, чтобы все в одном месте было. Так например:
Код: plaintext
m_oldRecNo = max( 1 , VAL(this.parent.grid1.Tag))
...
Рейтинг: 0 / 0
Номера записей
    #36842969
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это я чушь какую-то написала...Не понимаю что-то.
...
Рейтинг: 0 / 0
Номера записей
    #36842993
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМНет, это я чушь какую-то написала...Не понимаю что-то.
а чего непонятно?
при первой отработке этого кода this.parent.grid1.Tag = '' (это исходное значение по умолчанию, но можно задать другое в дизайнере форм)
потом выполняется this.parent.grid1.Tag = RecNo('spprice')
поэтому в первый раз m_oldRecNo=0, оно и логично, т.к. какой может быть предыдущий номер в момент первого запуска?
...
Рейтинг: 0 / 0
Номера записей
    #36843143
НадеждаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНадеждаМкак же сделать чтобы this.parent.grid1.Tag было не равно =''?
прописать в дизайнере форм в свойстве Tag чего-нибудь.

Но проще в коде проверку сделать, чтобы все в одном месте было. Так например:
Код: plaintext
m_oldRecNo = max( 1 , VAL(this.parent.grid1.Tag))


Попробовала сделать вот так:


If Val(this.parent.grid1.Tag) <> RecNo('spprice') Then
IF this.parent.grid1.Tag=''
m_oldRecNo = max(1, VAL(this.parent.grid1.Tag))
ELSE
m_oldRecNo = VAL(this.parent.grid1.Tag)
ENDIF

m_curRecNo = RecNo('spprice')
this.parent.grid1.Tag = STR(RecNo('spprice'))

endif

если я при первом запуске выделяю сначала первую строку, а затем вторую, то все нормально, а если сначала вторую, а затем первую, то в m_oldRecNo получается номер первой строки.
...
Рейтинг: 0 / 0
Номера записей
    #36843147
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НадеждаМ,

В Init Grid-а добавьте:
Код: plaintext
1.
this.tag=str(recno('spprice'))
И присваивая значение св-ву tag не забывайте преобразовывать его в символьный вид
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Номера записей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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