Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заголовок формы / 25 сообщений из 34, страница 1 из 2
02.11.2007, 15:49
    #34913599
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Всем привет!

Вот такой вопрос. Есть форма с гридом. Есть Лоад формы.
В нем -
thisForm.Caption = "Кол-во записей " + transform(reccount())
_screen.ActiveForm.refresh

Все хорошо. На форме несколько кнопок с реализацией фильтров. После отработки каждой такая же запись
thisForm.Caption = "Кол-во записей " + transform(reccount())
_screen.ActiveForm.refresh

Но на форме остается значение, которое было при входе в форму.
Где косячок-с?
...
Рейтинг: 0 / 0
02.11.2007, 15:52
    #34913619
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandDВсем привет!

Все хорошо. На форме несколько кнопок с реализацией фильтров. После отработки каждой такая же запись
thisForm.Caption = "Кол-во записей " + transform(reccount())
_screen.ActiveForm.refresh

Но на форме остается значение, которое было при входе в форму.
Где косячок-с?

Вот здесь

Код: plaintext
thisForm.Caption = "Кол-во записей " + transform(reccount())
...
Рейтинг: 0 / 0
02.11.2007, 15:54
    #34913628
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Где косячок-с?
В мозгах. На каком основании было решено, что команда из набора SET команд производит какие-либо действия с данными?
...
Рейтинг: 0 / 0
02.11.2007, 15:56
    #34913633
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
И в чем прикол?
Reccount() считает ВСЕ записи? Но я пробовал вместо этого делать после отработки кнопки так:

set filter to ...
go top
count to kol_zap
thisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)

Результат тот же...
...
Рейтинг: 0 / 0
02.11.2007, 16:00
    #34913654
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Reccount() считает ВСЕ записи?
Показывает(не считает) количество записей в таблице. Set filter операций над данными не производит. Почему должно было поменяться количесвто записей в таблице?
...
Рейтинг: 0 / 0
02.11.2007, 16:02
    #34913660
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Sergey Sizov. Reccount() считает ВСЕ записи?
Показывает(не считает) количество записей в таблице. Set filter операций над данными не производит. Почему должно было поменяться количесвто записей в таблице?

А... Я-то грешным делом думал, что COUNT подсчитывает только "видимые" записи.
И как эту задачку тогда проще решить?
...
Рейтинг: 0 / 0
02.11.2007, 16:11
    #34913703
АлексейО
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
метод load исполняется только один раз при загрузке формы
StandDНо я пробовал вместо этого делать после отработки кнопки так:
set filter to ...
go top
count to kol_zap
thisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)

Результат тот же...

этот вариант будет правильней,
а не работает может из-за фильтра,
он действительно что-то фильтрует и отличатся от начального?
...
Рейтинг: 0 / 0
02.11.2007, 16:12
    #34913711
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
АлексейОметод load исполняется только один раз при загрузке формы
StandDНо я пробовал вместо этого делать после отработки кнопки так:
set filter to ...
go top
count to kol_zap
thisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)

Результат тот же...

этот вариант будет правильней,
а не работает может из-за фильтра,
он действительно что-то фильтрует и отличатся от начального?

Да! Причем в гриде все действительно меняется, записи - от 5 до 20000. Грид обновляется, а в заголовке - та же цифра...
...
Рейтинг: 0 / 0
02.11.2007, 16:17
    #34913734
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Reccount() и Count - две совершенно разные вещи.
Я-то грешным делом думал, что COUNT подсчитывает только "видимые" записи.
Он действительно считает только "видимые". Где-то ошибка в программе. Возможно, где-то просто затирается выражением с Reccount().
...
Рейтинг: 0 / 0
02.11.2007, 16:23
    #34913764
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Да нет... RECCOUNT вообще в проекте больше не встречается (убрал)
...
Рейтинг: 0 / 0
02.11.2007, 16:30
    #34913800
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Нашел зацепку. Убрал из Лоада Caption. И увидел, что после нажатия кнопок с фильтрами заголовок формы ВООБЩЕ НЕ МЕНЯЕТСЯ!

В клике кнопки прописано:

set filter to doc="12345"
go top
count to kol_zap
thisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)
_screen.ActiveForm.refresh

Но не работает!
...
Рейтинг: 0 / 0
02.11.2007, 16:42
    #34913851
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandD
Но не работает!

Не верю

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
WITH CREATEOBJECT('mf')
	.addobject('cmd','cmd')
	.cmd.visible = .t.
	.show( 1 )
ENDWITH 


DEFINE CLASS mf as Form 

PROCEDURE Load
CREATE CURSOR test (f1 c ( 10 ))

INSERT INTO test VALUES ('12345')
INSERT INTO test VALUES ('1234567')

ENDPROC
PROCEDURE init
COUNT TO m.v
this.Caption = TRANSFORM(m.v)
ENDPROC

ENDDEFINE  

DEFINE CLASS cmd as Commandbutton 

PROCEDURE Click 
SET FILTER TO f1 = '12345'
COUNT TO m.v
thisform.Caption = TRANSFORM(m.v)
ENDPROC

ENDDEFINE  
...
Рейтинг: 0 / 0
02.11.2007, 16:46
    #34913871
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
авторthisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)
_screen.ActiveForm.refresh
На чем основана уверенность, текущая форма и _screen.ActiveForm - одно и то же? Почему обновляется не thisform?
...
Рейтинг: 0 / 0
02.11.2007, 16:50
    #34913892
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
PaulWist StandD
Но не работает!

Не верю


Гадом буду...
...
Рейтинг: 0 / 0
02.11.2007, 16:50
    #34913893
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
[quot Sergey SizovНа чем основана уверенность, текущая форма и _screen.ActiveForm - одно и то же? Почему обновляется не thisform?[/quot]

Серёг, да это без разницы какую форму рефрешить, Caption меняется без этого.
...
Рейтинг: 0 / 0
02.11.2007, 16:51
    #34913898
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Sergey Sizov. авторthisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)
_screen.ActiveForm.refresh
На чем основана уверенность, текущая форма и _screen.ActiveForm - одно и то же? Почему обновляется не thisform?

Заменил _screen.ActiveForm.refresh на thisform.refresh

Все по-прежнему, только грид обновляется после клика по нему... ;-((
...
Рейтинг: 0 / 0
02.11.2007, 16:51
    #34913899
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandD PaulWist StandD
Но не работает!

Не верю


Гадом буду...

Запусти пример
...
Рейтинг: 0 / 0
02.11.2007, 16:58
    #34913943
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
PaulWist
Запусти пример

Работает, блин. А у меня нет! Может, пятница, вечер, - пора сваливать?
...
Рейтинг: 0 / 0
02.11.2007, 17:01
    #34913957
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Серёг, да это без разницы какую форму рефрешить, Caption меняется без этого.
Да я в курсе...
Просто сочетание команд кажется мне каким-то стремным...
...
Рейтинг: 0 / 0
02.11.2007, 17:02
    #34913962
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandDНашел зацепку. Убрал из Лоада Caption. И увидел, что после нажатия кнопок с фильтрами заголовок формы ВООБЩЕ НЕ МЕНЯЕТСЯ!...
Чтобы не искать все ошибки одновременно понавтыкай MessageBox`ов и смотри что, где и когда происходит.
Код: plaintext
1.
2.
3.
4.
set filter to doc="12345"
*go top && Это лишнее
count to kol_zap
MessageBox("Кол-во записей " + str(kol_zap, 4 , 0 ),  64 , 'Место 1')
...

PS а еще есть SET STEP ON и дебагер
...
Рейтинг: 0 / 0
02.11.2007, 17:06
    #34913981
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
И в твоем случае лучше использовать не SET FILTER, а представление или курсор-адаптер (там reccount() так как тебе надо работать будет) т.к. этим своим подсчетом ты все плюсы SET FILTER к нулю сводишь.
...
Рейтинг: 0 / 0
02.11.2007, 17:16
    #34914024
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Dima TИ в твоем случае лучше использовать не SET FILTER, а представление или курсор-адаптер (там reccount() так как тебе надо работать будет) т.к. этим своим подсчетом ты все плюсы SET FILTER к нулю сводишь.

В-общем-то SET FILTER мне нужен для обновления Грида...
Но дело не в этом.
Проблема в том, что НЕ РАБОТАЕТ thisForm.Caption !!!
...
Рейтинг: 0 / 0
02.11.2007, 17:23
    #34914064
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandD...
Проблема в том, что НЕ РАБОТАЕТ thisForm.Caption !!! У всех работает, а у него вдруг не работает

Ищи чем обратно перезаписывается или почему эта строка не выполняется. Поставь MessageBox() после thisForm.Caption = ... и смотри что творится.

PS Хотя отладчиком удобней.
...
Рейтинг: 0 / 0
02.11.2007, 17:26
    #34914075
StandD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
Dima T StandD...
Проблема в том, что НЕ РАБОТАЕТ thisForm.Caption !!! У всех работает, а у него вдруг не работает

Ищи чем обратно перезаписывается или почему эта строка не выполняется. Поставь MessageBox() после thisForm.Caption = ... и смотри что творится.

PS Хотя отладчиком удобней.

Message поставил, отрабатывает нормально кол-во, а заголовок не обновляется
...
Рейтинг: 0 / 0
02.11.2007, 17:28
    #34914078
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заголовок формы
StandDВ-общем-то SET FILTER мне нужен для обновления Грида...
Преимущества SET FILTER перед представлением (или КА) в том что не делается полная выборка, т.е. грид перебирает записи пока экран не заполнит, и останавливается. А при использовании COUNT ты заставляешь сделать перебор всех записей и проверку их на соответствие фильтру, что по времени сопоставимо с выборкой в курсор.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заголовок формы / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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