Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2013-05-25 22:07:22 ЛС | профиль | цитата
Всем привет!

Товарищи, залип) требуется помощь в сверке чисел по убывающей.
Если в потоке придет число больше чем предыдущее требуется вывести в Label предыдущее например:
99
98
97
96
95
94
100 вместо него вывести в Lable 94.

Начальное число неизвестно.

code_31104.txt

Пробовал сделать схему, результат в аттаче, мне кажется она в корне не верная.
карма: 0

0
файлы: 1code_31104.txt [1.2KB] [222]
Ответов: 8961
Рейтинг: 824
#2: 2013-05-25 22:26:55 ЛС | профиль | цитата
Gunnman, сколько раз спотыкаться на сравнении ТЕКСТА вместо чисел, блин, даже в память ввели не число, а текст
карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2013-05-25 22:32:05 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-10 17:22:11
карма: 0

0
Ответов: 8961
Рейтинг: 824
#4: 2013-05-25 22:35:53 ЛС | профиль | цитата
code_31106.txt
карма: 19

0
файлы: 1code_31106.txt [802B] [113]
Гость
Ответов: 17029
Рейтинг: 0
#5: 2013-05-25 23:02:30 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2025-01-10 17:22:12
карма: 0

0
Ответов: 655
Рейтинг: 18
#6: 2013-05-25 23:47:07 ЛС | профиль | цитата
Всем спасибо! п.с. насчет текста запомнил
карма: 0

0
Ответов: 1536
Рейтинг: 176
#7: 2013-05-26 01:38:30 ЛС | профиль | цитата
Леонид, ты либо забыл про MemFIFO.

Add(Button,4552918,203,49)
{
Left=25
Top=15
link(onClick,4114660:doRandom,[])
}
Add(Random,4114660,252,49)
{
link(onRandom,8352643:doText,[])
}
Add(Edit,8352643,301,49)
{
Left=95
Top=15
Text="0"
link(onChange,15818957:doConvert,[])
}
Add(MemFIFO,15802039,399,49)
{
Default=Integer(0)
link(onData,8463828:doCompare,[(443,55)(443,97)(387,97)(387,139)])
}
Add(If_else,8463828,399,133)
{
Type=2
link(onTrue,9830747:doString,[])
link(Op1,8186507:Var2,[])
link(Op2,12722174:Var2,[])
}
Add(FormatStr,9830747,455,133)
{
Mask="%1 > %2"
link(onFString,6914256:doAdd,[])
link(Str1,8186507:Var3,[(461,117)])
link(Str2,12722174:Var3,[(468,103)])
}
Add(GetDataEx,8186507,399,112)
{
link(Data,15802039:Value1,[])
}
Add(GetDataEx,12722174,406,98)
{
link(Data,15802039:Value2,[])
}
Add(ListBox,6914256,504,133)
{
Left=155
Top=15
Width=120
Height=225
}
Add(Convertor,15818957,350,49)
{
Mode=1
link(onResult,15802039:doValue,[])
}
Gunnman писал(а):
Если в потоке придет число больше чем предыдущее
наглядно для Gunnman
карма: 1
Не так страшна ошибка, как опасность её не заметить.

1
Голосовали:Gunnman
Ответов: 655
Рейтинг: 18
#8: 2013-05-26 01:55:47 ЛС | профиль | цитата
ser_davkin, и тебе спасибо!)
------------ Дoбавленo в 01.55:
Assasin как-то писал:

Пожалуй надо описать это в замечаниях:
При сравнении двух данных, Op2 приводится к типу Op1, если Op1 = Integer, то во втором случае он приводится к Integer, работает верно, но в первом случае (верхний If) на Op1 подается строка, значит и второй приводится к строке, сравнение строк на большеменьше и с равно работает в HiAsm как сравнение численного кода первого символа каждой строки

Собственно дурацкий доп вопрос..: в html странице или txt там же все в строках..тогда если получаю данные с html xt любое число желательно прогнать через StrToInt..для выполнения математических операций или операций сравнения? Или использование StrToInt с текстовыми файлами не обязательно?
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#9: 2013-05-26 02:00:06 ЛС | профиль | цитата
Gunnman писал(а):
Или использование StrToInt с текстовыми файлами не обязательно?

Для выполнения мат операций этого делать необязательно, тк чтение переменных в мат компонентах автоматически переводит текст в число, что неоднозначно трактуется в компоненте сравнения If_Else, где определение типа происходит по первой переменной, и если она будт текстовой, то будет попытка сравнивать текст, а не числа
карма: 22

0
Ответов: 8961
Рейтинг: 824
#10: 2013-05-26 10:37:08 ЛС | профиль | цитата
ser_davkin писал(а):
забыл про MemFIFO
Я не забыл, но вдруг у ТС нет этого нового компонента решил не ставить.
карма: 19

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