Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

форматирование строки [D7]


Kley ©   (2006-04-13 10:44:00) 

здравствуйте помогите плиз задача состоит в том чтобы при конвертации поля в exel типа string
содержащего 11 символов первые 4 символа выходили без изменение (содержат год)
а последующие семь символов если встречаются подряд шесть нулей должны исключатся из вывода в поле в поле
и заменятся на символ '/' например: 20060000002 результат должен быть :2006/2
делаю так:
h:= DM1.ISQuery.Fields.Fields[3].Asstring;
 v:=copy(h,1,4);//выделяю первые 4 символа
 r:=copy (h,5,11);//выделяю последующие 7
 if r='0000002' then
 r:=copy (r,11,11);

  MsExcel.Cells[index,1]:=DM1.ISQuery.Fields.Fields[0].AsSTRING;
  MsExcel.Cells[index,2]:=DM1.ISQuery.Fields.Fields[1].Asstring;
  MsExcel.Cells[index,3]:=DM1.ISQuery.Fields.Fields[2].Asstring;
  MsExcel.Cells[index,4]:= v+'/'+r;
...
if r='0000002'then- как здесь вместо двойки указать любой символ не равный нулю
может ктото подскажет иное решение?


sniknik   (2006-04-13 10:56:00) [1]

h:= DM1.ISQuery.Fields.Fields[3].Asstring;
v:=copy(h,1,4);//выделяю первые 4 символа
//r:=copy (h,5,11);//выделяю последующие 7 - не 7 а 11 просто в строке столько нет
if copy (h,5,6) = '000000' then
r:=copy (r,11,1);


Sergey13   (2006-04-13 10:53:00) [2]

> r:=copy (h,5,11);//выделяю последующие 7
if r='0000002' then
Почему бы не выделить последующие 6 и сравнить их с '000000'?


Наверх

Титульная страница Поиск, карта сайта Написать письмо