Вверх ↑
Этот топик читают: Гость
Ответов: 205
Рейтинг: 3
#1: 2008-08-21 18:27:45 ЛС | профиль | цитата
помогите.!(можно ли упростить схему ..? )
это кусок схемы ..! задача этого мудуля разбирать строку (кол-во символов всегда кратно 12) разбить на 12 частей затем
полученую строку разложить на 3-х значный 4-х значный 5-х значные символы..(тока цифры..тоесть букв там не будет точно..)

не могу панять почему не записываеться..значения в матрицу? <-(может кто подскажет другой вариант.если придумает.. :lol

code_9772.txt
всем большое СПС...
карма: 1

0
файлы: 1code_9772.txt [3.1KB] [158]
Ответов: 16884
Рейтинг: 1239
#2: 2008-08-21 19:47:50 ЛС | профиль | цитата
Вроде так
code_9773.txt
------------ Дoбавленo:

nesco, а компоненту COPY ну нехватает нижней точки Result хоть убейся
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_9773.txt [1.8KB] [215]
Голосовали:millano
Ответов: 9906
Рейтинг: 351
#3: 2008-08-21 19:49:57 ЛС | профиль | цитата
Tad, еще немного, и начнешь рисовать на высоком уровне
Всегда удивлялся, зачем люди создают себе столько проблем на пустом месте....


#sha
Add(Button,11664271,161,189)
{
Left=145
Top=5
Caption="perebor"
link(onClick,5217617:doEnum,[])
}
Add(ArrayEnum,5217617,245,189)
{
link(onItem,6597978:doLength,[])
link(Array,992182:Array,[])
}
Add(Copy,16359249,420,189)
{
Count=12
link(onCopy,4420581:doInsert,[])
link(Str,5217617:Item,[(426,177)(405,177)(405,244)(251,244)])
}
Add(Insert,1237671,518,189)
{
SubStr=";"
Position=4
link(onInsert,10218772:doAdd,[])
}
Add(Length,6597978,315,189)
{
link(onLength,9738484:doFor,[])
}
Add(PointHint,1248430,210,98)
{
Info=#20:обязательная часть..|
Transparent=0
VAlign=0
Width=92
Height=137
}
Add(For,9738484,364,189)
{
Start=1
Step=12
InData=0
link(onEvent,16359249:doCopy,[])
}
Add(StringTable,10218772,567,189)
{
Left=5
Top=40
Width=375
Height=215
Columns=#1:1|1:2|1:3|
StaticColumn=0
Point(Matrix)
}
Add(StrList,992182,231,133)
{
Strings=#156:001001800000005001500018010001800033100004100051101001800092200002900110210002300139215001100162700000900173801003500182801003900217909003100256899007100287|
}
Add(Insert,4420581,469,189)
{
SubStr=";"
Position=8
link(onInsert,1237671:doInsert,[])
}
карма: 9

2
Голосовали:millano, Tad
Ответов: 16884
Рейтинг: 1239
#4: 2008-08-21 19:52:27 ЛС | профиль | цитата
Можно еще одну линию убрать но так красивей
Все. Здаюсь. За Insert забыл...
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#5: 2008-08-21 20:04:02 ЛС | профиль | цитата
Tad писал(а):
хоть убейся

Не убедительно
В своих 11 элементах ты сэкономишь 3, получится 8
У меня и без нее - 5, и вовсе не пришлось убиваться
------------ Дoбавленo:

Исходим из того, что это все:

#sha
Add(Button,11664271,21,168)
{
Left=145
Top=5
Caption="perebor"
link(onClick,5217617:doEnum,[])
}
Add(ArrayEnum,5217617,105,168)
{
link(Array,992182:Array,[])
}
Add(PointHint,1248430,70,77)
{
Info=#20:обязательная часть..|
Transparent=0
VAlign=0
Width=92
Height=137
}
Add(StrList,992182,91,112)
{
Strings=#156:001001800000005001500018010001800033100004100051101001800092200002900110210002300139215001100162700000900173801003500182801003900217909003100256899007100287|
}
Add(StringTable,10218772,427,168)
{
Left=5
Top=40
Width=375
Height=215
Columns=#1:1|1:2|1:3|
StaticColumn=0
}
-- является типа "обязательной" частью
карма: 9

1
Голосовали:andrestudio
Ответов: 16884
Рейтинг: 1239
#6: 2008-08-21 20:11:52 ЛС | профиль | цитата
Бардак всё ж таки. Инфо к точкам и компоненту Insert

[Type]
Class=Element
Info=копирует часть строки

[Property]
Str=Строка, в которую необходимо вставить подстроку|2|
SubStr=Подстрока для вставки|2|
Position=Содержит позицию по умолчанию, с которой копируются символы|1|0

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#7: 2008-08-21 20:24:39 ЛС | профиль | цитата
Tad писал(а):
с которой копируются символы

А как надо, или типа -- думайте сами

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#8: 2008-08-21 20:30:46 ЛС | профиль | цитата
Наверное так
Info=Вставка в строку подстроки или символа

Position=Позиция в которую необходимо вставить подстроку

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3655
Рейтинг: 69
#9: 2008-08-21 20:42:44 ЛС | профиль | цитата
Tad писал(а):
Position=Позиция в которую необходимо вставить подстроку

Я думаю так
Позиция с которой вставляется подстрока.
карма: 0

0
Ответов: 205
Рейтинг: 3
#10: 2008-08-22 10:15:56 ЛС | профиль | цитата
Tad писал(а):
Вроде так
code_9773.txt
------------ Дoбавленo:

nesco, а компоненту COPY ну нехватает нижней точки Result хоть убейся

очень хорошо.помогли ... но это тока часть..
------------ Дoбавленo:

Galkov СПС .. твой вариант тож очень хорош...!

------------ Дoбавленo:

прям незнаюкакой выбрать..!

карма: 1

0
Ответов: 16884
Рейтинг: 1239
#11: 2008-08-22 10:52:06 ЛС | профиль | цитата
millano писал(а):
прям незнаюкакой выбрать..!
Ну даёшь !
Еще думать надо ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 205
Рейтинг: 3
#12: 2008-08-22 20:11:38 ЛС | профиль | цитата
а ешё не подскажите элемент StrPart .можно менять символ-разделистель
------------ Дoбавленo:

или аналог его..
вот набросок меленький чем пока спасаюсь..

Add(MainForm,7171562,21,63)
{
Left=20
Top=105
}
Add(StrPart,9306638,371,154)
{
Char="–"
Point(Left)
Point(onNotFound)
MakeExt(Char,,Char)
link(onSplit,14782110:doWork2,[])
link(onNotFound,14305319:doEvent1,[(411,174)(411,258)])
}
Add(DoData,6445100,630,154)
{
link(onEventData,2362025:Method,[(688,160)(688,159)])
link(Data,7418103:Var,[])
}
Add(StrPart,3940808,483,259)
{
Char="—"
Point(Left)
Point(onNotFound)
link(onSplit,14782110:doWork3,[(527,265)(527,215)(438,215)])
link(onNotFound,7547754:doEvent1,[])
}
Add(GetIndexData,7418103,630,77)
{
Count=3
link(Data1,9306638:Left,[(636,53)(570,53)(570,240)(377,240)])
link(Data2,3940808:Left,[(643,54)(698,54)(698,303)(489,303)])
link(Data3,8451450:Left,[(650,62)(672,62)(672,317)(587,317)])
}
Add(ChanelToIndex,2811283,511,77)
{
Count=3
link(onIndex,7418103:doIndex,[])
}
Add(Hub,14305319,420,252)
{
link(onEvent1,2811283:doWork2,[(469,258)(469,90)])
link(onEvent2,3940808:doSplit,[])
}
Add(HubEx,14782110,434,147)
{
link(onEvent,6445100:doData,[])
}
Add(StrPart,8451450,581,280)
{
Char="-"
Point(Left)
Point(onNotFound)
link(onSplit,14782110:doWork1,[(632,286)(632,133)(438,133)])
}
Add(Hub,7547754,532,273)
{
link(onEvent1,2811283:doWork3,[(576,279)(576,188)(499,188)(499,97)])
link(onEvent2,8451450:doSplit,[])
}
Add(PointHint,6137459,35,140)
{
Info=#41:строка с возможно разными разделителями..|
VAlign=0
HAlign=0
Width=253
Height=25
link(Event,8674595:doEvent1,[(298,152)(298,153)])
}
Add(Hub,8674595,308,147)
{
link(onEvent1,2811283:doWork1,[(426,153)(426,83)])
link(onEvent2,9306638:doSplit,[])
}
Add(PointHint,2362025,714,147)
{
Info=#8:resultat|
VAlign=0
HAlign=0
Width=50
Height=25
}

карма: 1

0
Ответов: 16884
Рейтинг: 1239
#13: 2008-08-22 21:23:16 ЛС | профиль | цитата
Вот этим компонентом делаешь нужный разделитель для StrPart

Add(Replace,13276078,86,196)
{
SubStr="/"
DestStr="-"
}
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
Голосовали:millano, Andrey
Ответов: 205
Рейтинг: 3
#14: 2008-08-22 23:15:01 ЛС | профиль | цитата
СПС.. Tad
поставлю перед разделением строки..
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#15: 2008-08-23 00:00:29 ЛС | профиль | цитата
Три поставь
code_9788.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_9788.txt [1KB] [246]
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)