Вверх ↑
Этот топик читают: Гость
Ответов: 251
Рейтинг: 1
#1: 2026-03-18 06:34:05 ЛС | профиль | цитата
Как сделать чтобы появлялась надпись "Введено некорректное число" в виде хинта или еще какой то надписи над именно тем полем ввода, где это вводится?


Add(MainForm,2953706,21,105)
{
}
Add(Button,10914136,154,119)
{
Left=105
Top=115
link(onClick,186530:doHint,[])
}
Add(Edit,186530,238,105)
{
Left=265
Top=40
Hint="вненкенукенукен неукенкен енукенукенукенук"
Point(doHint)
}

карма: 1

0
Ответов: 8984
Рейтинг: 825
#2: 2026-03-18 10:38:16 ЛС | профиль | цитата
Gitarist, проще молча исправить
Молча


Add(MainForm,10989208,497,105)
{
}
Add(Edit,186530,581,105)
{
Left=265
Top=40
Hint="вненкенукенукен неукенкен енукенукенукенук"
Point(doHint)
link(onChange,16063517:doTest,[])
}
Add(InlineCode,16063517,637,105)
{
WorkPoints=#6:doTest|
EventPoints=#5:onRes|
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|4: |24: onRes : THI_Event;|51: PROCEDURE doTest(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doTest;|16:var s,ss:string;|14: i:integer;|5:BEGIN|9: ss:='';|21: s:=toString(_Data);|2: |26: for i:=1 to Length(s) do|8: begin|34: if s[i] in ['0'..'9','.'] then|10: begin|14: ss:=ss+s[i];|6: end |5: else|7: begin|32: if s[i]=',' then ss:=ss+'.'; |9: end;|9: end; |24: _hi_onEvent(onRes,ss);|4:END;|0:|0:|4:end.|
link(onRes,186530:doText2,[(676,111)(676,95)(564,95)(564,118)])
}

карма: 19

0
Ответов: 251
Рейтинг: 1
#3: 2026-03-19 16:16:22 ЛС | профиль | цитата
Леонид писал(а):
Gitarist, проще молча исправить
Молча

Ну не) Надо что то заметное)) Типа сноски над этим полем ввода с надписью угрожающей))
карма: 1

0
Ответов: 8984
Рейтинг: 825
#4: 2026-03-20 11:47:54 ЛС | профиль | цитата
Gitarist, ну пусть пишущий сам исправляет
Сам


Add(MainForm,10989208,238,119)
{
}
Add(Edit,186530,322,119)
{
Left=265
Top=40
Hint="вненкенукенукен неукенкен енукенукенукенук"
Point(doHint)
link(onChange,16063517:doTest,[])
}
Add(InlineCode,16063517,378,119)
{
WorkPoints=#6:doTest|
EventPoints=#5:onRes|
Code=#15:unit HiAsmUnit;|13:// Author Tad|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|4: |24: onRes : THI_Event;|51: PROCEDURE doTest(var _Data:TData; Index:Word);|0:|5: end;|0:|14:implementation|0:|29:PROCEDURE THiAsmClass.doTest;|16:var s,ss:string;|14: i:integer;|5:BEGIN|9: ss:='';|21: s:=toString(_Data);|2: |26: for i:=1 to Length(s) do|8: begin|34: if s[i] in ['0'..'9','.'] then|10: begin|14: ss:=ss+s[i];|6: end |54: else _hi_onEvent(onRes, 'Ошибка поз. ' + int2str(i));|5: end;|4:END;|0:|0:|4:end.|
link(onRes,10832745:doMessage,[])
}
Add(Message,10832745,434,119)
{
Caption="Error"
}

карма: 19

0
Ответов: 221
Рейтинг: 2
#5: 2026-03-20 23:22:58 ЛС | профиль | цитата

Add(Edit,186530,427,77)
{
Left=145
Top=40
Width=170
Hint="число"
Text="2"
Point(doHint)
link(onChange,3441183:doCompare,[])
}
Add(Label,10443789,672,70)
{
Left=155
Top=20
Width=149
Height=17
Font=[MS Sans Serif,8,0,255,1]
Visible=1
Caption="введено не коректное число"
Point(doVisible)
}
Add(If_else,3441183,497,77)
{
Op2=Integer(2)
link(onTrue,2601544:doWork1,[])
link(onFalse,2601544:doWork2,[])
}
Add(ChanelToIndex,2601544,560,77)
{
link(onIndex,13635206:doEvent1,[])
}
Add(Hub,13635206,616,77)
{
link(onEvent1,10443789:doVisible,[])
link(onEvent2,16331880:doEvent,[(641,90)(641,148)(268,148)(268,76)])
}
Add(DoData,8290547,343,98)
{
Data=String(не верно)
link(onEventData,5907050:doEvent2,[])
}
Add(DoData,4746078,343,42)
{
Data=String(верно)
link(onEventData,5907050:doEvent1,[(383,48)(383,97)])
}
Add(Hub,5907050,392,91)
{
InCount=2
OutCount=1
link(onEvent1,186530:doHint,[])
}
Add(IndexToChanel,16331880,280,70)
{
link(onEvent1,4746078:doData,[(328,76)(328,48)])
link(onEvent2,8290547:doData,[(328,83)(328,104)])
}

карма: 0

0
Ответов: 1072
Рейтинг: 221
#6: 2026-03-21 08:00:58 ЛС | профиль | цитата
Можно и так просигналить..
Add(Label,1367741,714,147)
{
Left=128
Top=38
Width=84
Height=24
Color=255
Font=[MS Sans Serif,8,0,255,1]
Visible=1
Caption=""
AutoSize=1
Alignment=2
Point(doVisible)
}
Add(MainForm,12511745,364,119)
{
}
Add(Button,10914136,371,168)
{
Left=105
Top=115
}
Add(Edit,186530,469,154)
{
Left=130
Top=40
Width=80
Hint="вненкенукенукен неукенкен енукенукенукенук"
Text="Ввести число"
DataType=1
ClearAfterEnter=1
Point(doHint)
link(onChange,5559100:doCompare,[])
}
Add(If_else,5559100,525,154)
{
Type=5
link(onTrue,12694100:doTimer,[])
link(onFalse,6764287:doEvent1,[])
link(Op2,151221:Text,[])
}
Add(VisualStrings,151221,532,119)
{
Lines=#3:123|
}
Add(Switch,5178884,658,154)
{
DataOn=Integer(1)
DataOff=Integer(0)
link(onSwitch,1367741:doVisible,[])
}
Add(Timer,12694100,609,154)
{
Interval=500
Enable=1
link(onTimer,5178884:doSwitch,[])
}
Add(Hub,6764287,567,161)
{
link(onEvent1,12694100:doStop,[])
link(onEvent2,5178884:doReset,[(648,174)(648,167)])
}


Редактировалось 2 раз(а), последний 2026-03-21 08:19:59
карма: 20

0
Ответов: 1072
Рейтинг: 221
#7: 2026-03-21 17:34:12 ЛС | профиль | цитата
Использование BaloonToolTips

Add(Edit,186530,189,182)
{
Left=130
Top=80
Width=80
Text=""
DataType=1
ClearAfterEnter=1
link(onChange,5559100:doCompare,[])
}
Add(If_else,5559100,245,182)
{
link(onTrue,8126484:doWork2,[])
link(onFalse,7315256:doEvent1,[])
link(Op2,151221:Text,[])
}
Add(VisualStrings,151221,252,147)
{
Lines=#3:123|
}
Add(MainForm,15307610,455,84)
{
Width=395
Height=375
Point(Handle)
Point(Left)
Point(Top)
}
Add(BaloonToolTips,16021945,455,189)
{
Title="Ошибка"
Mode=1
link(Handle,15307610:Handle,[])
link(Text,11066508:FString,[(468,180)(391,180)(391,236)(349,236)])
link(Point,10466687:reCalc,[])
}
Add(Hub,15063593,399,196)
{
link(onEvent1,16021945:doCreate,[(424,202)(424,195)])
link(onEvent2,16021945:doShow,[])
}
Add(MathParse,10466687,462,133)
{
MathStr="(%2 + 125) * 65536 + (%1 + 150)\r\n"
ResultType=0
Point(reCalc)
link(X1,15307610:Left,[])
link(X2,15307610:Top,[])
}
Add(Label,16107936,133,182)
{
Left=55
Top=80
Caption="Ввести число"
}
Add(Hub,7315256,301,189)
{
link(onEvent1,8126484:doWork3,[(326,195)])
link(onEvent2,11066508:doString,[])
}
Add(HubEx,8126484,322,182)
{
link(onEvent,16021945:doDestroy,[(431,188)(431,202)])
}
Add(FormatStr,11066508,343,196)
{
DataCount=1
Mask="%1 - неправильно"
Point(FString)
link(onFString,15063593:doEvent1,[])
}

карма: 20

0
Ответов: 2480
Рейтинг: 698
#8: 2026-03-21 23:20:00 ЛС | профиль | цитата
Вот как вариант:

Add(MainForm,1824445,119,70)
{
Width=844
Height=597
Point(onMove)
link(onMove,16409961:doWork1,[(473,97)])
}
Add(Edit,186530,119,196)
{
Left=265
Top=40
Width=85
HintManager="hintAlarm"
Text=""
Point(doHint)
Point(Handle)
Point(onKillFocus)
link(onChange,13603164:doAdd,[])
link(onKillFocus,9133772:doWork3,[(207,216)])
}
Add(ChildPanelEx,14041484,609,196)
{
}
BEGIN_SDK
Add(EditMultiEx,734490,21,21)
{
WorkCount=#9:doSetHint|
Width=748
Height=508
link(doSetHint,16190237:doEvent1,[(49,27)(49,181)])
}
Add(Panel,3485098,476,182)
{
Left=115
Top=60
Width=200
Height=20
Visible=1
BevelInner=0
Point(doLeft)
Point(doTop)
Point(Height)
Point(doWidth)
Point(doVisible)
}
Add(Hub,16190237,56,175)
{
OutCount=8
link(onEvent1,8698034:doWork1,[(161,181)])
link(onEvent2,6304612:doValue,[(178,188)(178,83)])
link(onEvent3,15780108:doData,[])
link(onEvent4,471074:doOperation,[(243,202)(243,251)])
link(onEvent5,8786303:doOperation,[(234,209)(234,293)])
link(onEvent6,5825600:doWork2,[(226,216)(226,342)])
link(onEvent7,9140277:doTimer,[(189,223)(189,398)])
link(onEvent8,7413884:doCompare,[(80,230)(80,335)])
}
Add(PosWindow,15255012,287,126)
{
link(Handle,6304612:Value1,[])
}
Add(DoData,15780108,259,189)
{
link(onEventData,3485098:doLeft,[])
link(Data,15255012:CurrentLeft,[(265,173)(293,173)])
}
Add(Math,471074,294,245)
{
OpType=1
link(onResult,3485098:doTop,[(412,251)(412,202)])
link(Op1,15255012:CurrentTop,[])
link(Op2,3485098:Height,[(307,233)(482,233)])
}
Add(Img_Text,6625642,581,182)
{
X=5
Font=[MS Sans Serif,12,0,0,1]
link(Bitmap,2095819:Bitmap,[(587,170)(573,170)(573,223)(538,223)])
link(Text,6304612:Value2,[(594,120)(300,120)])
}
Add(ChanelToIndex,5825600,287,329)
{
link(onIndex,3485098:doVisible,[(434,335)(434,216)])
}
Add(MT_MultiMem,6304612,287,77)
{
}
Add(Math,8786303,336,287)
{
Op2=10
link(onResult,3485098:doWidth,[(423,293)(423,209)])
link(Op1,6625642:TextWidth,[(342,272)(587,272)])
}
Add(Timer,9140277,217,392)
{
Interval=3000
Enable=1
AutoStop=1
OverCall=1
link(onTimer,6220147:doWork3,[(275,398)])
}
Add(If_else,7413884,91,329)
{
Type=1
Op2=Integer(1)
link(onTrue,8329943:doEvent1,[])
}
Add(HubEx,6220147,271,329)
{
link(onEvent,5825600:doWork1,[])
}
Add(Hub,8329943,133,329)
{
link(onEvent1,6220147:doWork2,[])
link(onEvent2,8698034:doWork2,[])
}
Add(HubEx,8698034,157,336)
{
Angle=1
link(onEvent,9140277:doStop,[(161,405)])
}
Add(PaintBox,2095819,532,182)
{
Left=1
Top=1
Width=110
Height=67
Align=5
Color=255
ClearBeforeDraw=0
link(onBeforeDraw,6625642:doDraw,[])
}
END_SDK
Add(Edit,7989158,119,273)
{
Left=265
Top=75
Width=85
HintManager="hintAlarm"
Text=""
Point(doHint)
Point(Handle)
Point(onKillFocus)
link(onChange,14605196:doAdd,[])
link(onKillFocus,2431956:doWork3,[(207,293)])
}
Add(MT_AddData,13603164,168,196)
{
InputMT=3
link(onAdd,9133772:doWork2,[])
link(Data1,186530:Handle,[(174,184)(167,184)(167,240)(132,240)])
link(Data2,16415236:Text,[])
}
Add(MT_AddData,14605196,168,273)
{
InputMT=3
link(onAdd,2431956:doWork2,[])
link(Data1,7989158:Handle,[(174,261)(160,261)(160,310)(132,310)])
link(Data2,2128879:Text,[])
}
Add(VisualStrings,16415236,175,154)
{
Lines=#26:Введено некорректное число|
Width=158
}
Add(VisualStrings,2128879,175,238)
{
Lines=#22:Не мение трех символов|
Width=158
}
Add(HubEx,16409961,469,196)
{
link(onEvent,14041484:doSetHint,[])
}
Add(HubEx,9133772,203,196)
{
link(onEvent,16409961:doWork2,[])
}
Add(HubEx,2431956,203,273)
{
link(onEvent,16409961:doWork3,[(473,279)])
}
Если нужно убрать достаточно послать в панель на doSetHint 0 или null. Используя элементы графики, можно получить различные эффекты (цвет, шрифт, мерцание) отображаемой подсказки.
карма: 11

0
8
Сообщение
...
Прикрепленные файлы
(файлы не залиты)