Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
#1: 2007-04-07 14:52:36 ЛС | профиль | цитата
Вот это раньше работало:

Add(Button,13588751,105,175)
{
Left=105
Top=175
Data=String(OK!)
link(onClick,11204515:doCompare,[])
}
Add(If_else,11204515,154,175)
{
Type=5
link(onTrue,2157157:doMessage,[])
}
Add(Message,2157157,203,175)
{
}
:?
Теперь будем делать по-другому

[size=-2]------ Добавлено в 14:40
Как теперь проверять что в потоке нет данных?

[size=-2]------ Добавлено в 14:52
В принципе вот так работает:

Add(Button,13588751,105,175)
{
Left=105
Top=175
Data=String(OK!)
link(onClick,11204515:doCompare,[])
}
Add(If_else,11204515,154,175)
{
Type=5
link(onTrue,2157157:doMessage,[])
link(Op2,12258568:Value,[])
}
Add(Message,2157157,203,175)
{
}
Add(Memory,12258568,161,133)
{
@Hint=#26:Очередная строка сообщения|
}

карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#2: 2007-04-07 14:54:18 ЛС | профиль | цитата
Нет - будем фиксить
Если быстро: фиксинг в строках 805-806 из share
    {$ifdef MT_ENABLED}Result.ldata := nil;
    if Data.data_type = data_null then Data.ldata := nil;
if Data.ldata <> nil then Data := Data.ldata^
else {$endif}Data.data_type := data_null;
На SVN - вечером
карма: 9

0
Ответов: 1328
Рейтинг: 69
#3: 2007-08-07 15:43:29 ЛС | профиль | цитата
code_1787.txt
Это нормально, что в обоих случаях одинаковый результат
карма: 2

0
файлы: 1code_1787.txt [1.2KB] [235]
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2007-08-07 16:00:17 ЛС | профиль | цитата
Konst, во-первых не Frue, а True
во-вторых, во втором элементе не верно выставлен знак
в-третьи, это нормально даже с исправленной схемой.

первый операнд надо пропускать через это:
Add(Convertor,15959711,210,280)
{
Mode=1
}
карма: 27
0
Ответов: 9906
Рейтинг: 351
#5: 2007-08-07 16:50:06 ЛС | профиль | цитата
Konst, поясню дополнительно:

  • При сравнении чего-то с чем-то - их надо привести к одинаковому типу.
  • Элемент If_else приводит второй операнд к типу первого.
  • У Вас это - строка, как я догадываюсь
  • Для операций сравнения отличных от =, <> - у строк сравниваются их длины. Как-то так повелось с незапамятных времен. По крайней мере, так было еще ДО того славного момента, как я начал чего-то понимать в кодах Дельфи....
  • карма: 9

    0
    Ответов: 1328
    Рейтинг: 69
    #6: 2007-08-07 17:58:38 ЛС | профиль | цитата
    Понятно
    карма: 2

    0
    Администрация
    Ответов: 15295
    Рейтинг: 1519
    #7: 2007-08-07 18:06:06 ЛС | профиль | цитата
    Galkov писал(а):
    Для операций сравнения отличных от =, <> - у строк сравниваются их длины.

    что кстате говоря не верно. Точнее верно, но смысла никакого не имеет совершенно. В будущих версиях операции > и < будут производить посимвольное сравнение каждого символа строки на предмет значения их ASCII кодов.
    карма: 27
    0
    7
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)