powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите поставить формат
6 сообщений из 6, страница 1 из 1
Помогите поставить формат
    #32617981
ElenaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста поставить формат поля, существует форма, есть процедура этой формы
LOCAL b, e, sv, pl, zn, cu, au, ag, pid, pr, vv
b = THISFORM.Begin.Value
e = THISFORM.End.Value
SELECT Vag_cu
SET ORDER TO P_Ident IN Vag_cu
SELECT Party_cu
CALCULATE SUM(Party_cu.sves) FOR Party_cu.p_number >= b AND Party_cu.p_number <= e TO sv
pl = 0
zn = 0
cu = 0
au = 0
ag = 0
pr = 0
vv = 0
SELECT Party_cu
SCAN FOR Party_cu.p_number >= b AND Party_cu.p_number <= e
pid = Party_cu.P_Ident
SEEK pid ORDER P_Ident IN Anal_cu
IF FOUND('Anal_cu')
pl = pl + Anal_cu.pl_ves
zn = zn + Anal_cu.zn_ves
cu = cu + Anal_cu.cu_ves
au = au + Anal_cu.au_ves
ag = ag + Round(Anal_cu.ag_ves,0)
ENDIF
SEEK pid ORDER P_Ident IN Vag_cu
DO WHILE NOT EOF('Vag_cu') AND Vag_cu.P_Ident = pid
pr = pr + Vag_cu.spr
vv = vv + 1
SKIP 1 IN Vag_cu
ENDDO
SELECT Party_cu
ENDSCAN
WITH THISFORM
.SVesS.Value = sv
.Pl_ves.Value = pl
.Zn_ves.Value = zn
.Cu_ves.Value = cu
.Au_ves.Value = au
.Ag_ves.Value = ag
.Pl_pr.Value = ROUND(100*pl/sv, 2)
.Zn_pr.Value = ROUND(100*zn/sv, 2)
.Cu_pr.Value = ROUND(100*cu/sv, 2)
.Au_g_t.Value = ROUND(au/sv, 2)
.Ag_g_t.Value = ROUND(ag/sv, 2)
.Perg.Value = pr
.Vagon.Value = vv
ENDWITH
Вот в форме я делаю два TextBox в которых я должна ставить номера партий с такой-то по такую-то в Builder поля ставлю поле numeric так как в базе где заполняются они такой формат, но после копелирования программа выдаёт ошибку связанную с типо поля, потом я открываю сам проект смотрю, а в форме вместо numeric опять стоит Character, что делать помогите - горю...
...
Рейтинг: 0 / 0
Помогите поставить формат
    #32618307
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElenaZ
Вот в форме я делаю два TextBox в которых я должна ставить номера партий с такой-то по такую-то в Builder поля ставлю поле numeric так как в базе где заполняются они такой формат, но после копелирования программа выдаёт ошибку связанную с типо поля, потом я открываю сам проект смотрю, а в форме вместо numeric опять стоит Character, что делать помогите - горю...

Необходимо данные преобразовавать явно, то есть использовать функцию val() для преобразования текстовых (симовльных, Character) данных в числовые (numeric). Например, так:

b = val ( THISFORM.Begin.Value )
e = val ( THISFORM.End.Value )

Кстати, это проблема не только VFP. Эта заморочка существует также и в Delphi, C++Builder и др. Visual-средах
...
Рейтинг: 0 / 0
Помогите поставить формат
    #32618420
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElenaZВот в форме я делаю два TextBox в которых я должна ставить номера партий с такой-то по такую-то в Builder поля ставлю поле numeric так как в базе где заполняются они такой формат, но после копелирования программа выдаёт ошибку связанную с типо поля, потом я открываю сам проект смотрю, а в форме вместо numeric опять стоит Character, что делать помогите - горю...
Вообще-то для этого есть Spinner вместо TextBox...
...
Рейтинг: 0 / 0
Помогите поставить формат
    #32618456
karly™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то я тоже за использование Spinner ;-)
Но, если очень хочется использовать TextBox, можно привязать его к какому-нибудь источнику данных.
Например, завести свойство формы
Код: plaintext
1.
ThisForm.BeginVal =  0 
ThisForm.txtBegin.ControlSource = ThisForm.BeginVal
И обращаться за значениями не к текстбоксу, а к свойству.

Можно еще создать временный курсор, и привязать
текстбокс к нему. Но зачем так делать, непонятно
...
Рейтинг: 0 / 0
Помогите поставить формат
    #32618511
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хотите указать тип данных для TextBox, когда не указано свойство ControlSource, то введите пустое значение нужного типа в свойство Value.

Например:

TextBox.Value=0 - тип Integer
TextBox.Value=0.00 - тип Numeric с дробной частью
TextBox.Value={} - тип Date
TextBox.Value=DTOT({}) - тип DateTime

Если в Value ничего не указано, то данные будут символьного типа.
...
Рейтинг: 0 / 0
Помогите поставить формат
    #32620835
ElenaZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Ch ElenaZВот в форме я делаю два TextBox в которых я должна ставить номера партий с такой-то по такую-то в Builder поля ставлю поле numeric так как в базе где заполняются они такой формат, но после копелирования программа выдаёт ошибку связанную с типо поля, потом я открываю сам проект смотрю, а в форме вместо numeric опять стоит Character, что делать помогите - горю...
Вообще-то для этого есть Spinner вместо TextBox...

Серёжа. Я сделала как ты посоветовал, но считает что попало, вроде и в процедуре всё нормально написано, может что в свойствах нужно поставить. Ты не посоветуешь как работать с этим spinnerом Вроде в форме откомпелированной ставлю значения нажимаю просчитать - считает какие-то несуществующие суммы и ошибки никакой не выдаёт. Помоги пожалуйста.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите поставить формат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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