powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Работа с TextBox
4 сообщений из 4, страница 1 из 1
Работа с TextBox
    #38872805
Jehm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Помогите, как сделать, чтобы при нажатии кнопки, в текстбокс вносилось значение? Если у кого нибудь есть программа калькулятора, скиньте пожалуйста. Заранее спасибо.
...
Рейтинг: 0 / 0
Работа с TextBox
    #38872907
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jehm

Сохранились старые черновики,если устроит, доводить придется вам самим.

***frmCalc.cmgCalc.Click
LOCAL lcButton,loButton
lcButton = 'This.Command' + ALLTRIM(STR(THIS.VALUE))
loButton = &lcButton
THISFORM.DoCalc(loButton.CAPTION)

***frmCalc.DoCalc()
LPARAMETERS tcButton && 0...9,C,(=),<-,/,*,-,+,.,+/-,Enter - 19 êíîïîê
WITH THISFORM.txtDisplay
DO CASE
CASE tcButton == 'Enter'
LOCAL llSuccess
llSuccess = .T.
IF !EMPTY(.VALUE)
TRY
.VALUE = EVALUATE(.VALUE)
CATCH
MESSAGEBOX('Íåâåðíî ñîñòàâëåíî âûðàæåíèå')
.VALUE = ''
llSuccess = .F.
ENDTRY
ENDIF
IF llSuccess
.VALUE = TRANSFORM(.VALUE)
THIS.uRetval = THIS.txtDisplay.VALUE
THIS.RELEASE()
ENDIF

CASE tcButton == '(=)'
IF !EMPTY(.VALUE)
TRY
.VALUE = ALLTRIM(STR(EVALUATE(.VALUE)))
CATCH
MESSAGEBOX('Íåâåðíî ñîñòàâëåíî âûðàæåíèå')
.VALUE = ''
ENDTRY
ENDIF

CASE tcButton == 'C'
.VALUE = ''

CASE tcButton == '<-'
.VALUE = LEFT(.VALUE,LEN(.VALUE) - 1)

CASE tcButton == '+/-'
.VALUE = IIF(LEFT(.VALUE,1) = '-',''+ SUBSTR(.VALUE,2),'-' + .VALUE)

OTHERWISE
.VALUE = .VALUE + tcButton
ENDCASE
ENDWITH
...
Рейтинг: 0 / 0
Работа с TextBox
    #38872911
sg12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jehm

Для разнообразия и календарик
***frmCalendar.opgDays.Click
THISFORM.DoDate('Day',THIS.VALUE)
***frmCalendar.cmgNavigate.Click
LOCAL lcButton,loButton
lcButton = 'This.Command' + ALLTRIM(STR(THIS.VALUE))
loButton = &lcButton
THISFORM.DoDate(loButton.CAPTION) && <<,<,Enter,>,>>
***frmCalendar.DoDate()
LPARAMETERS tcButton,tnDay
WITH THIS
DO CASE
CASE tcButton == 'Enter'
.uRetval = .txtDisplay.VALUE
.RELEASE()
CASE tcButton == '<<'
.dDate = GOMONTH(.dDate,-12)
CASE tcButton == '<'
.dDate = GOMONTH(.dDate,-1)
CASE tcButton == '>'
.dDate = GOMONTH(.dDate,+1)
CASE tcButton == '>>'
.dDate = GOMONTH(.dDate,+12)
CASE tcButton == 'Day'
.dDate = .dDate - DAY(.dDate) - DOW(.dDate-DAY(.dDate)) + tnDay + 1
ENDCASE
ldDate = .dDate

.opgDays.VALUE = DAY(ldDate) + DOW(ldDate-DAY(ldDate)) - 1
ldTemp = ldDate - .opgDays.VALUE
FOR i = 1 TO 42
ldTemp = ldTemp + 1
IF MONTH(ldTemp) = MONTH(ldDate)
.opgDays.BUTTONS[i].FONTSIZE = 8
*.opgDays.Buttons[i].FontBold = .T.
ELSE
.opgDays.BUTTONS[i].FONTSIZE = 5
*.opgDays.Buttons[i].FontBold = .F.
ENDIF
.opgDays.BUTTONS[i].CAPTION = ALLTRIM(STR(DAY(ldTemp)))
ENDFOR
.txtDisplay.VALUE = .dDate
ENDWITH
...
Рейтинг: 0 / 0
Работа с TextBox
    #38873163
Ffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из хелпа

Код: vbnet
1.
2.
STORE 1234 TO _CALCVALUE
ACTIVATE WINDOW calculator



И с календарем

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SET CENTURY ON
STORE {^2001-03-28} TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
ACTIVATE WINDOW calendar
=MESSAGEBOX("Change date to July 4, 1776",48))
STORE {^1776-07-04} TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
=MESSAGEBOX("Change date to today's date",48)
STORE DATE( ) TO _DIARYDATE
=MESSAGEBOX(DTOC(_DIARYDATE),64)
RELEASE WINDOW calendar
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Работа с TextBox
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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