Вверх ↑
Этот топик читают: Гость
Ответов: 27
Рейтинг: 1
#1: 2011-11-20 03:51:06 ЛС | профиль | цитата
Доброго времени суток, уважаемые! Сегодня делал программу и застрял на казалось бы простой вещи: не смог реализовать простую логику. Суть такая. Есть некая строка, части которой разделены символом "|". Нужно сравнить первую и вторую части, но не между собой, а с определенными параметрами. Приведу пример реализации на PHP(надеюсь поймете что я хочу сделать).
code_25842.txt
Вот как-то так. Нужно чтобы выполнялось сразу 2 условия, но так как оператора AND здесь нет( или я плохо искал?), то я в полном ступоре. Помогите пожалуйста реализовать этот простой алгоритм. Заранее благодарен.
карма: 0

0
файлы: 1code_25842.txt [193B] [98]
Ответов: 378
Рейтинг: 61
#2: 2011-11-20 06:57:43 ЛС | профиль | цитата
Так пойдёт?

Make(delphi)
ver(4.04 build 185)
Add(MainForm,2953706,294,140)
{
link(onCreate,13894176:doEvent1,[])
}
Add(Memory,9391600,364,105)
{
Default=String(1234|0|qwerty)
AddHint(35,-42,90,13,Default)
}
Add(MultiStrData,7913296,364,154)
{
Char="|"
Count=3
Direct=1
link(Str,9391600:Value,[])
link(onPart1,8842618:doValue,[])
link(onPart2,9215854:doValue,[])
link(onPart3,10548354:doValue,[])
}
Add(MathParse,3000301,413,217)
{
MathStr="(%1 = 1234) and (%2 = 0)"
link(onResult,4467527:doCompare,[])
link(X1,10548354:Value,[])
link(X2,9215854:Value,[(426,205)(468,205)])
}
Add(Memory,10548354,413,168)
{
}
Add(Memory,9215854,462,161)
{
}
Add(Hub,13894176,336,154)
{
link(onEvent1,7913296:doSplit,[])
link(onEvent2,3000301:doCalc,[(358,167)(358,223)])
}
Add(Message,7633918,504,217)
{
link(Message,8842618:Value,[])
}
Add(If_else,4467527,455,217)
{
Op2=Integer(1)
link(onTrue,7633918:doMessage,[])
}
Add(Memory,8842618,504,154)
{
}
карма: 0
0
Ответов: 27
Рейтинг: 1
#3: 2011-11-20 08:30:04 ЛС | профиль | цитата
kacmem писал(а):
Так пойдёт?
Да! Спасибо огромное! Не так-то оказывается просто. Нужно уметь извращаться, чтобы написать программку.
карма: 0

0
Ответов: 378
Рейтинг: 61
#4: 2011-11-20 08:36:59 ЛС | профиль | цитата
tr0y писал(а):
Нужно уметь извращаться
Зачем извращаться, достаточно было справку почитать по компоненту MathParse
карма: 0
0
Ответов: 16884
Рейтинг: 1239
#5: 2011-11-20 10:53:01 ЛС | профиль | цитата
kacmem писал(а):
Зачем извращаться
вот именно (кстати, хороший вопрос )
code_25843.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_25843.txt [656B] [94]
Ответов: 3889
Рейтинг: 362
#6: 2011-11-20 10:59:41 ЛС | профиль | цитата
tr0y писал(а):
Нужно уметь извращаться, чтобы написать программку.

Зачем Вам какие-то операторы, тут не язык программирования, а конструктор:
code_25845.txt
------------ Дoбавленo в 10.59:
[offtop]Опередили.[/offtop]

Заметьте, что наши примеры работают и со строками (что видно из моего варианта), а MathParse - сугубо числовой.
карма: 1

0
файлы: 1code_25845.txt [760B] [93]
Ответов: 16884
Рейтинг: 1239
#7: 2011-11-20 11:16:48 ЛС | профиль | цитата
1nd1g0, всё равно у меня на один компонент меньше
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3889
Рейтинг: 362
#8: 2011-11-20 11:43:59 ЛС | профиль | цитата
Tad писал(а):
1nd1g0, всё равно у меня на один компонент меньше


Add(MainForm,11665801,245,189)
{
link(onCreate,9391600:doClear,[])
}
Add(Memory,9391600,322,196)
{
Default=String(1234|0|qwerty)
link(onData,15025918:doSplit,[])
AddHint(-25,-27,90,13,Default)
}
Add(Message,7633918,469,196)
{
Caption="Condition reached!"
link(Message,15025918:Part1,[(475,184)(515,184)(515,243)(377,243)])
}
Add(MultiStrPart,15025918,371,196)
{
Char="|"
Count=1
Direct=1
link(onSplit,14102872:doCompare,[])
}
Add(If_else,14102872,420,196)
{
Op2=String(1234|0)
link(onTrue,7633918:doMessage,[])
}

карма: 1

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