powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заголовок формы
34 сообщений из 34, показаны все 2 страниц
Заголовок формы
    #34913599
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

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

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

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

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

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

Вот здесь

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

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

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

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

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

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

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

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

Да! Причем в гриде все действительно меняется, записи - от 5 до 20000. Грид обновляется, а в заголовке - та же цифра...
...
Рейтинг: 0 / 0
Заголовок формы
    #34913734
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Reccount() и Count - две совершенно разные вещи.
Я-то грешным делом думал, что COUNT подсчитывает только "видимые" записи.
Он действительно считает только "видимые". Где-то ошибка в программе. Возможно, где-то просто затирается выражением с Reccount().
...
Рейтинг: 0 / 0
Заголовок формы
    #34913764
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да нет... RECCOUNT вообще в проекте больше не встречается (убрал)
...
Рейтинг: 0 / 0
Заголовок формы
    #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
Заголовок формы
    #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
Заголовок формы
    #34913871
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторthisForm.Caption = "Кол-во записей " + str(kol_zap,4,0)
_screen.ActiveForm.refresh
На чем основана уверенность, текущая форма и _screen.ActiveForm - одно и то же? Почему обновляется не thisform?
...
Рейтинг: 0 / 0
Заголовок формы
    #34913892
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWist StandD
Но не работает!

Не верю


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

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

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

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

Не верю


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

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

Работает, блин. А у меня нет! Может, пятница, вечер, - пора сваливать?
...
Рейтинг: 0 / 0
Заголовок формы
    #34913957
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Серёг, да это без разницы какую форму рефрешить, Caption меняется без этого.
Да я в курсе...
Просто сочетание команд кажется мне каким-то стремным...
...
Рейтинг: 0 / 0
Заголовок формы
    #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
Заголовок формы
    #34913981
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в твоем случае лучше использовать не SET FILTER, а представление или курсор-адаптер (там reccount() так как тебе надо работать будет) т.к. этим своим подсчетом ты все плюсы SET FILTER к нулю сводишь.
...
Рейтинг: 0 / 0
Заголовок формы
    #34914024
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TИ в твоем случае лучше использовать не SET FILTER, а представление или курсор-адаптер (там reccount() так как тебе надо работать будет) т.к. этим своим подсчетом ты все плюсы SET FILTER к нулю сводишь.

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

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

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

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

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

Message поставил, отрабатывает нормально кол-во, а заголовок не обновляется
...
Рейтинг: 0 / 0
Заголовок формы
    #34914078
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StandDВ-общем-то SET FILTER мне нужен для обновления Грида...
Преимущества SET FILTER перед представлением (или КА) в том что не делается полная выборка, т.е. грид перебирает записи пока экран не заполнит, и останавливается. А при использовании COUNT ты заставляешь сделать перебор всех записей и проверку их на соответствие фильтру, что по времени сопоставимо с выборкой в курсор.
...
Рейтинг: 0 / 0
Заголовок формы
    #34914086
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T StandDВ-общем-то SET FILTER мне нужен для обновления Грида...
Преимущества SET FILTER перед представлением (или КА) в том что не делается полная выборка, т.е. грид перебирает записи пока экран не заполнит, и останавливается. А при использовании COUNT ты заставляешь сделать перебор всех записей и проверку их на соответствие фильтру, что по времени сопоставимо с выборкой в курсор.

Да, верно. Теперь буду использовать. Спасибо!
...
Рейтинг: 0 / 0
Заголовок формы
    #34914098
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, ребята... Всем спасибо за участие. Видимо, действительно, пятница, конец дня...
Отваливаю. Завтра высплюсь и разберусь. О косяке доложу сообществу.
...
Рейтинг: 0 / 0
Заголовок формы
    #34914105
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня меняется. Смотри файлик
...
Рейтинг: 0 / 0
Заголовок формы
    #34914172
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TА у меня меняется. Смотри файлик

Ну хоть башкой об стенку...



У меня:

SET FILTER TO doc="12345"
GO top
thisform.grid1.Refresh (добавил экспериментируя)
COUNT TO kolzap
GO top
thisForm.Caption = "Кол-во записей -" + str(kolzap,5,0)
_screen.ActiveForm.refresh



У Вас:

thisform.caption = 'Çàãîëîâîê 1'
MessageBox('Ïàóçà')
thisform.caption = 'Çàãîëîâîê 2'
работает!


Но у меня не работает!!!!
...
Рейтинг: 0 / 0
Заголовок формы
    #34914179
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StandDНо у меня не работает!!!!
Иди пивка выпей, выспись, и все заработает
...
Рейтинг: 0 / 0
Заголовок формы
    #34914187
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T StandDНо у меня не работает!!!!
Иди пивка выпей, выспись, и все заработает

Думаю, пивом не стоит после такого ограничиваться!
Спокойных выходных всем.
...
Рейтинг: 0 / 0
Заголовок формы
    #34915662
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот, "выпью водки - разойдусь, подумал Ипполит Матвеевич...".

Нашел в чем было кисло. Оказывается, часть кнопок на форме отрабатывает правильно, а часть - нет. Раскопал в чем, наверно, дело.
Как бы обойти?
Дело в том, что в кликах неработающих кнопок на самом деле есть маленький довесок. По клику кнопки форма закрывается, обновляется таблица грида, фильтруется и форма открывается заново с обновленным таким ообразом гридом. Зачем так - не знаю, не мое произведение.
Дословно в клике так:


select 1
_screen.ActiveForm.release()


DO obnovc - закрытие таблицы, копирование новой,открытие, фильтрация и открытие формы

select 1
COUNT TO kolzap
GO top

thisForm.Caption = "ЗАПИСИ ПО ЗАДАННОМУ ФИЛЬТРУ - " + STR(kolzap,5,0)
_screen.ActiveForm.refresh
...
Рейтинг: 0 / 0
Заголовок формы
    #34915869
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StandDДословно в клике так:

select 1
_screen.ActiveForm.release()


DO obnovc - закрытие таблицы, копирование новой,открытие, фильтрация и открытие формы

select 1
COUNT TO kolzap
GO top

thisForm.Caption = "ЗАПИСИ ПО ЗАДАННОМУ ФИЛЬТРУ - " + STR(kolzap,5,0)
_screen.ActiveForm.refresh
Чувак постарался
Советовать тут что-либо сложно. Ставь SET STEP ON в самое начало и смотри что в какой последовательности происходит. И ищи место куда твой подсчет вставить. Вероятней всего в Init() формы дописывать надо.

Если _screen.ActiveForm.release() относится к текущей форме, то thisForm.Caption = ... никто никогда не увидит, т.к. эта форма закроется.
...
Рейтинг: 0 / 0
Заголовок формы
    #34917036
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TВероятней всего в Init() формы дописывать надо.
Если _screen.ActiveForm.release() относится к текущей форме, то thisForm.Caption = ... никто никогда не увидит, т.к. эта форма закроется.

В init проставлял, ничего... _screen.ActiveForm.release() закрывает эту форму, но в do... эта форма открывается и становится текущей.
да ладно, грохну все и по новой. Больше копаться не буду.
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Заголовок формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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