Вверх ↑
Этот топик читают: Гость
Ответов: 7
Рейтинг: 0
#1: 2018-07-29 09:12:59 ЛС | профиль | цитата
Всем доброго времени суток. Столкнулся с неправильной работой упомянутого компонента "if" при следующих условиях:
Элемент "if" используется с целью обработки введенной в элемент "Edit" и выводом соответствующей информации на экран следующим образом:
Add(Edit,5127821,322,84)
{
Left=410
Top=210
Width=450
Height=185
Font=[Times New Roman,14,0,0,204]
Text=""
Point(onSetFocus)
Point(doBringToFront)
link(onEnter,11846717:doEvent1,[])
}
Add(If_else,15284837,322,175)
{
link(onTrue,5688865:doBringToFront,[])
link(onFalse,12839120:doCompare,[(366,188)(366,240)(310,240)(310,293)])
link(Op1,14741058:Caption,[(328,121)(307,121)(307,282)(293,282)])
link(Op2,10998585:Caption,[(335,121)(348,121)(348,279)(367,279)])
}
Add(Label,14741058,287,245)
{
Left=1910
Top=780
Caption="1"
}
Add(Label,10998585,361,242)
{
Left=1910
Top=780
}
Add(Hub,11846717,385,91)
{
OutCount=8
link(onEvent1,10998585:doText,[(404,97)(404,162)(349,162)(349,248)])
link(onEvent2,6095035:doText,[(411,104)(411,232)(349,232)(349,360)])
link(onEvent3,10020347:doText,[(411,111)(411,295)(349,295)(349,479)])
link(onEvent8,15284837:doCompare,[(404,146)(404,156)(310,156)(310,181)])
}
Add(If_else,12839120,322,287)
{
link(onTrue,2191332:doBringToFront,[(415,293)(415,321)])
link(onFalse,15866973:doCompare,[(366,300)(366,356)(310,356)(310,412)])
link(Op1,14160399:Caption,[(328,233)(307,233)(307,394)(293,394)])
link(Op2,6095035:Caption,[(335,233)(348,233)(348,391)(367,391)])
}
Add(Label,14160399,287,357)
{
Left=1910
Top=780
Caption="2"
}
Add(Label,6095035,361,354)
{
Left=1910
Top=780
}
Add(If_else,15866973,322,406)
{
link(onTrue,8281272:doBringToFront,[(422,412)(422,482)])
link(Op1,13955548:Caption,[(328,352)(307,352)(307,513)(293,513)])
link(Op2,10020347:Caption,[(335,352)(348,352)(348,510)(367,510)])
}
Add(Label,13955548,287,476)
{
Left=1910
Top=780
Caption="3"
}
Add(Label,10020347,361,473)
{
Left=1910
Top=780
}
Add(Memo,5688865,476,133)
{
Left=410
Top=10
Width=450
Height=170
Visible=1
Strings=#1:1
Point(Handle)
Point(doBringToFront)
Point(doVisible)
}
Add(Memo,2191332,476,273)
{
Left=410
Top=10
Width=450
Height=170
Visible=1
Strings=#1:2|
Point(Handle)
Point(doBringToFront)
Point(doVisible)
}
Add(Memo,8281272,490,434)
{
Left=410
Top=10
Width=450
Height=170
Visible=1
Strings=#1:3|
Point(Handle)
Point(doBringToFront)
Point(doVisible)
}
|Однако при работе с большим объемом информации и большим количеством сравнений введенных данных элементами "if" я столкнулся с проблемой - программа перестает корректно сравнивать информацию и всегда выдает результат "false". Не понятно в этой проблеме то, что при попытке скопировать часть программы в пустое окно, все работает и сравнивается корректно. Что я делаю не так, и как исправить эту ошибку?)

Редактировалось 1 раз(а), последний 2018-07-29 23:08:34
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16415
Рейтинг: 1210
#2: 2018-07-29 13:00:49 ЛС | профиль | цитата
DanilT,
1. IF_else сравнивает по типу данных Op1.
2. Схему выкладывай в тегах CODE.
3. Твоя задача решается вообще без IF_ELSE:

Add(MainForm,2953706,385,196)
{
Width=487
Height=298
}
Add(Edit,5127821,385,245)
{
Top=10
Width=115
Height=35
Font=[Times New Roman,14,0,0,204]
Text=""
Point(onSetFocus)
Point(doBringToFront)
link(onEnter,10358161:doEvent,[])
}
Add(Memo,5688865,497,224)
{
Top=80
Width=450
Height=170
Font=[MS Sans Serif,14,1,0,1]
Visible=1
Strings=#1:1|
Point(Handle)
Point(doBringToFront)
}
Add(Memo,2191332,553,238)
{
Top=80
Width=450
Height=170
Font=[MS Sans Serif,14,1,0,1]
Visible=1
Strings=#1:2|
Point(Handle)
Point(doBringToFront)
}
Add(Memo,8281272,595,252)
{
Top=80
Width=450
Height=170
Font=[MS Sans Serif,14,1,0,1]
Visible=1
Strings=#1:3|
Point(Handle)
Point(doBringToFront)
}
Add(IndexToChanel,10358161,434,252)
{
Count=4
link(onEvent2,5688865:doBringToFront,[(475,265)(475,258)])
link(onEvent3,2191332:doBringToFront,[])
link(onEvent4,8281272:doBringToFront,[(531,279)(531,286)])
}

карма: 22
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Главный модератор
Ответов: 2644
Рейтинг: 353
#3: 2018-07-29 13:01:48 ЛС | профиль | цитата
Неправильно оформленный пост: используем тэги
...
для помещения схемы на форуме. Устное предупреждение. Следующий раз - удаление сообщения или всей темы. По поводу "ошибки" - пользуемся поиском по форуму - этот вопрос обсуждался неоднократно и всегда в пользу элемента.

Редактировалось 1 раз(а), последний 2018-07-29 13:02:32
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Ответов: 7
Рейтинг: 0
#4: 2018-07-29 14:30:47 ЛС | профиль | цитата
Tad писал(а):
DanilT,
1. IF_else сравнивает по типу данных Op1.
2. Схему выкладывай в тегах CODE.
3. Твоя задача решается вообще без IF_ELSE:


Если я правильно понял, такой способ решения задачи подходит только когда в поле ввода вводятся числа. Мне же необходим в том числе вывод информации после ввода соответствующих слов.

--- Добавлено в 2018-07-29 14:32:02

Nic писал(а):
Неправильно оформленный пост: используем тэги
...
для помещения схемы на форуме. Устное предупреждение. Следующий раз - удаление сообщения или всей темы. По поводу "ошибки" - пользуемся поиском по форуму - этот вопрос обсуждался неоднократно и всегда в пользу элемента.

Редактировалось 1 раз(а), последний 2018-07-29 13:02:32


Прошу прощения, не изучил должным образом правила форума.
Совершенно не могу найти решение этого вопроса на форуме, пытался искать перед тем как спросить. Буду очень благодарен за ссылку на решение такой проблемы.

Редактировалось 2 раз(а), последний 2018-07-29 14:32:30
карма: 0

0
Ответов: 9804
Рейтинг: 340
#5: 2018-07-29 15:55:38 ЛС | профиль | цитата
DanilT писал(а):
Буду очень благодарен за ссылку на решение такой проблемы
Проблема не обозначена. А именно, мы не имеем проблематичной схемы.
Соответственно, и решение возможно только от экстрасенсов.

DanilT писал(а):
... не изучил должным образом правила форума
Должен Вам отметить, что выложенное Вами схемой-то особо и не является.
Ее следует рисовать так, чтобы другим понятно было.
Это не есть схема
А это уже -- схема
Иначе, все это может остаться, хоть и не удаленным, но -- без ответа...



А, вообще-то, учитывая Вашу склонность к тупой гигантомании, скорее всего -- винда не создает нужного количества визуальных контролов.
Но, повторюсь, без проблемной схемы (в соответствии с правилами форума) решения не будет.
Только догадки.

Редактировалось 1 раз(а), последний 2018-07-29 15:56:25
карма: 8

0
Главный модератор
Ответов: 2644
Рейтинг: 353
#6: 2018-07-29 17:15:01 ЛС | профиль | цитата
DanilT писал(а):
Прошу прощения, не изучил должным образом правила форума.

Незнание правил не избавляет от ответственности. Если до завтра не отредактируете первый пост темы - тема целиком будет перемещена в помойку.
карма: 8
Дорогу осилит идущий. HiAsm.NET is based on HiAsm 5
0
Администрация
Ответов: 15262
Рейтинг: 1498
#7: 2018-07-29 23:15:37 ЛС | профиль | цитата
Ремарка
Galkov писал(а):
Это не есть схема

В некоторых средах схема строится не слева направо, а сверху вниз - видимо привычка от туда и переползла.
карма: 21
0
Ответов: 1681
Рейтинг: 149
#8: 2018-07-30 14:06:36 ЛС | профиль | цитата
Dilma писал(а):
некоторых средах схема строится не слева направо, а сверху вниз - видимо привычка от туда и переползла.

Китайская?
карма: 5
0
Администрация
Ответов: 15262
Рейтинг: 1498
#9: 2018-07-30 16:51:16 ЛС | профиль | цитата
3042 писал(а):
Китайская?

Почему же, сейчас очень модный вот такой формат схем:
Arduino
Скелет приложения строится сверху вниз, дополнительные операции слева направо.

Стандартные блок схемы, на которых алгоритмы рисуют, тоже строятся сверху вниз.

Редактировалось 1 раз(а), последний 2018-07-30 16:51:44
карма: 21
0
Ответов: 16415
Рейтинг: 1210
#10: 2018-07-30 19:27:11 ЛС | профиль | цитата

карма: 22
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)