![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Есть некая система артикулирования:
МРМР0003 МРМР0004 МРМР0005 МРМР0006 и т.д. Первые четыре символа буквы, с 5го по 8ой - цыфры. Задача: упростить созданный код: Код:
StrC:=StrToInt(Copy(МРМР0004,5,4))+1; (копируем последние 4ре, преобразуя в int '0004'->'4', добавляем 1ку) if (StrC>=1) and (StrC<=9) then Count:='000'+IntToStr(StrC); if (StrC>=10) and (StrC<=99) then Count:='00'+IntToStr(StrC); if (StrC>=100) and (StrC<=999) then Count:='0'+IntToStr(StrC); if (StrC>=1000) and (StrC<=9999) then Count:=IntToStr(StrC); newArticle:=Copy(МРМР0004,1,4)+Count Я слышал что можно преобразовывать строки в байтовый код и с ним работать. Т.е. с точки зрения "байта" 0002 и 2 - разные вещи (очевидно ![]() Не могу найти ответ на вопрос как преобразовать? как работать с преобразованным. Последний раз редактировалось Uniq!, 29.09.2010 в 21:03. |
#2
|
|||
|
|||
![]() Код:
StrC:=StrToInt(Copy(МРМР0004,5,4))+1; (копируем последние 4ре, преобразуя в int '0004'->'4', добавляем 1ку) Count := InttoStr(StrC); While Length(Count) < 4 Do Count := '0' + Count; newArticle:=Copy(МРМР0004,1,4)+Count |
#3
|
||||
|
||||
![]() lmikle, с точки зрения алгоритмики классической у меня просто слов нету.
Я извращался с этими стрчоками просто "ужас как", ну собственно видно ![]() Божественнно Огромное спасибо Идей насчёт "байтов" нету? |