|
2D-программирование Вопросы, касающиеся двумерного программирования |
23.07.2009, 02:01
|
#1
|
ПроЭктировщик
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений (для 9 пользователей)
|
Подсчет и ограничение символов в Input()
Доброй ночи
Подскажите как можно подсчитать кол-во символов в Input() и недать писать дльше если кол-во символов >= 5 ??? Хотел попробовать через Len() но когда включен Input() то цикл программы останавливаеться...
|
(Offline)
|
|
23.07.2009, 02:09
|
#2
|
|
Ответ: Подсчет и ограничение символов в Input()
ArtemkA
очевидно - написать свой input
|
|
|
23.07.2009, 02:15
|
#3
|
ПроЭктировщик
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений (для 9 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
или попробовать через какой нить ГУИ? Лан, попробую через GUIw512
может че нить получиться...
|
(Offline)
|
|
23.07.2009, 17:36
|
#4
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
Мона и так
А я если что свой гуй юзаю (своя рубашка ближе к телу)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
24.07.2009, 00:04
|
#5
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
ABTOMAT, а можешь свой гуй выложить? Хочу посмотреть, как по нормальному делать гуй.
|
(Offline)
|
|
24.07.2009, 00:16
|
#6
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
Тогда смотри лучше на GUIw512
А мой сделан так, что отдельно от менеджера ресурсов работаеть не будет -> и его выкладывать надо
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
24.07.2009, 01:38
|
#7
|
ПроЭктировщик
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений (для 9 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
блин, чета через этот GUIw512 неполучаеться
в ТекстБоксе символы пишуться очень тормозмно... допустим 10 раз подрочишь клавишу "А" и только с одиннадцатого она напишеться....подумал что нехватате ФПС, поставил Flip 0 стало чуть-чуть побыстрее, но все равно нето ...че может быть?
при Flip - FPS = 75-74
при Flip 0 - FPS = 492 - 511
------------------------------------------------------------
Уже разобрался....сделал его глобальным, скрыл и в маин цикле сделал видимым...работате
Последний раз редактировалось ArtemkA, 24.07.2009 в 01:54.
|
(Offline)
|
|
24.07.2009, 02:32
|
#8
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
Global ImperCoolInput_LastUpdTime%=0
Global ImperCoolInput_Cur%=0
Type ImperCoolInput
Field S$
Field Focus%
Field x%
Field y%
Field H%
Field W%
Field MLen%
End Type
Function ImperCoolInput_Create.ImperCoolInput(x%,y%,L%,H%)
ICI.ImperCoolInput=New ImperCoolInput
ICI\x=x
ICI\y=y
ICI\MLen=L
ICI\H=H
ICI\W=ICI\MLen*StringWidth("W")
ICI\S=""
ICI\Focus=False
Return ICI
End Function
Function ImperCoolInput_Delete(ICI.ImperCoolInput)
If ICI=Null Return
Delete ICI
End Function
Function ImperCoolInput_Draw(ICI.ImperCoolInput,Cur%)
If ICI=Null Return
Color 224,223,227
Rect ICI\x,ICI\y,ICI\W+1,ICI\H
If ICI\Focus
If Cur
Color 0,0,0
Rect ICI\x+StringWidth(ICI\S)+1,ICI\y+1,4,ICI\H-2
EndIf
EndIf
Color 0,0,0
Text ICI\x,ICI\y,ICI\S
End Function
Function ImperCoolInput_INPUT(ICI.ImperCoolInput)
If ICI=Null Return
Local c%=GetKey()
If Not c Return
Select c
Case 8
If Len(ICI\S)
ICI\S=Left(ICI\S,Len(ICI\S)-1)
EndIf
Default
If Len(ICI\S)<ICI\MLen
ICI\S=ICI\S+Chr(c)
EndIf
End Select
End Function
Function ImperCoolInput_GetText$(ICI.ImperCoolInput)
Return ICI\S
End Function
Function ImperCoolInput_SetFocus(ICI.ImperCoolInput,FL=True)
If ICI=Null Return
If FL
ImperCoolInput_SetFocus(ImperCoolInput_GetFocus(),False)
EndIf
ICI\Focus=FL
End Function
Function ImperCoolInput_GetFocus.ImperCoolInput()
For ICI.ImperCoolInput=Each ImperCoolInput
If ICI\Focus
Return ICI
EndIf
Next
End Function
Function ImperCoolInput_GetCoordSel.ImperCoolInput(x%,y%)
For ICI.ImperCoolInput=Each ImperCoolInput
If x>ICI\x And x<=ICI\x+ICI\W And y>ICI\y And y<ICI\y+ICI\H
Return ICI
EndIf
Next
End Function
Function ImperCoolInput_DrawAll()
If MilliSecs()-ImperCoolInput_LastUpdTime>=500
ImperCoolInput_LastUpdTime=MilliSecs()
ImperCoolInput_Cur=Not ImperCoolInput_Cur
EndIf
For ICI.ImperCoolInput=Each ImperCoolInput
ImperCoolInput_Draw(ICI,ImperCoolInput_Cur)
Next
End Function
Function ImperCoolInput_UpdateAll()
For ICI.ImperCoolInput=Each ImperCoolInput
If ICI\Focus
ImperCoolInput_INPUT(ICI)
EndIf
Next
End Function
Function ImperCoolInput_DeleteAll()
For ICI.ImperCoolInput=Each ImperCoolInput
ImperCoolInput_Delete(ICI)
Next
End Function
;==================
;DEMO CODE
Graphics 800,600,32
SetBuffer BackBuffer()
Local Font=LoadFont("Arial cyr",30)
SetFont Font
Local A.ImperCoolInput
A=ImperCoolInput_Create(10,10,5,FontHeight())
A=ImperCoolInput_Create(10,10+FontHeight()*2,6,FontHeight())
A=ImperCoolInput_Create(10,10+FontHeight()*4,10,FontHeight())
A=ImperCoolInput_Create(10,10+FontHeight()*6,15,FontHeight())
ImperCoolInput_SetFocus(A)
While Not KeyHit(1)
Cls
If MouseHit(1)
ImperCoolInput_SetFocus(ImperCoolInput_GetCoordSel(MouseX(),MouseY()))
A=ImperCoolInput_GetFocus()
EndIf
ImperCoolInput_UpdateAll()
ImperCoolInput_DrawAll()
AppTitle "current Text= "+ImperCoolInput_GetText(A)
Flip
Wend
ImperCoolInput_DeleteAll()
End
БЛИН! Пишу ГовноКод только потому, что убивает - элементарная задача,а решения до сих пор не видать!
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 6 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
24.07.2009, 02:37
|
#9
|
ПроЭктировщик
Регистрация: 09.10.2008
Адрес: Казань
Сообщений: 137
Написано 7 полезных сообщений (для 9 пользователей)
|
Ответ: Подсчет и ограничение символов в Input()
impersonalis, зачем же так убиваться? Проблем ведь я уже решил с помощью ГУИ.
Уже разобрался....сделал его глобальным, скрыл и в маин цикле сделал видимым...работате
|
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:18.
|