Вверх ↑
Этот топик читают: Гость
Ответов: 1821
Рейтинг: 168
#1: 2011-08-04 16:03:55 ЛС | профиль | цитата
Доброго времени суток, как конвертировать строку (например: AGFB2323442NFU3) в строку "гексиад" (например: AGFB23 23442N FU3). Это что-то подобное на строку-триад, только в триаде строка "делится" по три символа, а надо по шесть.
карма: 5

0
Ответов: 378
Рейтинг: 61
#2: 2011-08-04 16:42:39 ЛС | профиль | цитата
Может так?

Make(delphi)
ver(4.04 build 185)
Add(MainForm,2953706,168,231)
{
Width=275
Height=169
Position=1
link(onCreate,13917417:doText,[])
}
Add(Edit,13917417,217,245)
{
Left=5
Top=5
Width=255
Text=""
link(onChange,1671279:doLength,[])
link(Str,7025335:Var2,[])
}
Add(ListBox,16249999,392,245)
{
Left=5
Top=55
Width=255
}
Add(Length,1671279,259,245)
{
link(onLength,13945066:doFor,[])
}
Add(For,13945066,301,245)
{
Start=1
Step=6
link(onEvent,7764826:doCopy,[])
link(End,1671279:Result,[(314,233)(290,233)(290,289)(265,289)])
}
Add(Copy,7764826,350,245)
{
Count=6
link(onCopy,16249999:doAdd,[])
link(Str,7025335:Var3,[(356,187)])
link(Position,13945066:Position,[(363,233)(343,233)(343,285)(307,285)])
}
Add(Memory,14490079,217,147)
{
Default=String(AGFB2323442NFU3)
}
Add(GetDataEx,7025335,217,182)
{
link(Data,14490079:Value,[])
}


карма: 0
2
Голосовали:Tad, sаmakacd
Ответов: 8930
Рейтинг: 823
#3: 2011-08-04 16:50:19 ЛС | профиль | цитата
sаmakacd, или так, хоть дюжениады code_24794.txt
карма: 19

1
файлы: 1code_24794.txt [2.8KB] [181]
Голосовали:sаmakacd
Ответов: 16884
Рейтинг: 1239
#4: 2011-08-04 21:14:11 ЛС | профиль | цитата
kacmem, скорее так, но + ты заработал.
code_24796.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_24796.txt [1.1KB] [159]
Голосовали:sаmakacd
Ответов: 378
Рейтинг: 61
#5: 2011-08-04 21:27:20 ЛС | профиль | цитата
Tad, согласен, не довел до требований ТЗ
карма: 0
0
Ответов: 1821
Рейтинг: 168
#6: 2011-08-04 21:28:00 ЛС | профиль | цитата
Всем спасибо, плюсану когда приеду домой, ато картинки не отображаются...
карма: 5

0
Ответов: 8930
Рейтинг: 823
#7: 2011-08-04 21:37:28 ЛС | профиль | цитата
Tad, тоже-е плюсик хочу-у-у
карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2011-08-04 21:41:03 правка | ЛС | профиль | цитата


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

0
Ответов: 758
Рейтинг: 112
#9: 2011-08-05 11:55:49 ЛС | профиль | цитата
Можно еще так,
code_24799.txt
но разница минимальная
карма: 1

0
файлы: 1code_24799.txt [1.1KB] [165]
Ответов: 16884
Рейтинг: 1239
#10: 2011-08-05 12:07:43 ЛС | профиль | цитата
miver писал(а):
Можно еще так,

miver, если убрать лишние линки, то можно даже так :
opttak.png
но попробуй когда исходная строка имеет 7 знаков.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1opttak.png [4.6KB] [315]
Разработчик
Ответов: 4698
Рейтинг: 426
#11: 2011-08-05 12:29:36 ЛС | профиль | цитата
bzq-79-183-215-12.red.bez писал(а):
Леонид, я + даю за минимум использованных компонент

Эгей, батенька, врать нехорошо, минимум вот он (по схеме из первого ответа):
code_24803.txt
карма: 10
0
файлы: 1code_24803.txt [742B] [209]
Ответов: 16884
Рейтинг: 1239
#12: 2011-08-05 13:18:31 ЛС | профиль | цитата
Эгей, батенька, врать нехорошо.
Assasin, читаем внимательно
sаmakacd писал(а):
как конвертировать строку (например: AGFB2323442NFU3) в строку "гексиад" (например: AGFB23 23442N FU3).

В строку, а не в столбик.
У меня меньше не получается
code_24804.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_24804.txt [1.3KB] [133]
Ответов: 3889
Рейтинг: 362
#13: 2011-08-05 13:36:11 ЛС | профиль | цитата
Если лидирующий пробел всех устраивает (выше уже встречался), то присоединюсь к веселью) 4 элемента не считая интерфейса (двух полей ввода и самого окна программы)

Add(MainForm,14877883,273,154)
{
Width=275
Height=169
Position=1
link(onCreate,13917417:doText,[])
}
Add(Edit,13917417,343,168)
{
Left=5
Top=5
Width=255
Align=2
Text="AGFB2323442NFU3"
Point(onChar)
link(onChange,1671279:doLength,[])
link(Str,15033742:Var2,[])
link(onChar,7409094:doClear,[(395,188)(395,224)(564,224)(564,181)])
}
Add(Length,1671279,420,168)
{
link(onLength,13945066:doFor,[])
}
Add(For,13945066,469,168)
{
Start=1
Step=6
link(onEvent,7764826:doCopy,[])
link(onStop,2228631:doText,[(511,181)(511,244)])
link(End,1671279:Result,[(482,156)(461,156)(461,213)(426,213)])
}
Add(Copy,7764826,518,168)
{
Count=6
link(onCopy,7409094:doStrCatDlm,[])
link(Str,15033742:Var3,[(524,149)])
}
Add(StrCatDelim,7409094,581,168)
{
Delimiter=" "
Point(doClear)
link(Str1,12470339:Var3,[(587,156)(625,156)(625,210)])
}
Add(Edit,2228631,581,238)
{
Left=5
Top=5
Width=255
Align=2
Text="AGFB2323442NFU3"
link(Str,12470339:Var2,[])
}
Add(GetDataEx,15033742,343,144)
{
Angle=3
link(Data,13917417:Text,[(334,149)(334,214)(349,214)])
}
Add(GetDataEx,12470339,581,205)
{
link(Data,7409094:Result,[])
}
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#14: 2011-08-05 14:09:51 ЛС | профиль | цитата
1. Лишние пробелы и в Африке лишние.
2. В компоненте For есть свойство InData, которое все почему-то не используют.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8930
Рейтинг: 823
#15: 2011-08-05 14:11:51 ЛС | профиль | цитата
Tad писал(а):
У меня меньше не получается

Требую плюсик!
У Вас 7 элементов, а у меня 8, но любое число группируемых знаков, и считает в 2,5 раза быстрее!
Веселье продолжается! code_24805.txt
карма: 19

0
файлы: 1code_24805.txt [6.1KB] [174]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)