Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

форматирование строки   Найти похожие ветки 

 
Kley   (2006-04-13 10:44) [0]

здравствуйте помогите плиз задача состоит в том чтобы при конвертации поля в 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- как здесь вместо двойки указать любой символ не равный нулю
может ктото подскажет иное решение?


 
Sergey13 ©   (2006-04-13 10:53) [1]

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


 
sniknik ©   (2006-04-13 10:56) [2]

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);



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.052 c
15-1147418488
Думкин
2006-05-12 11:21
2006.06.04
А вы говорите...


2-1147843772
Tempora
2006-05-17 09:29
2006.06.04
Как заменить прямые слеши на обратные в строке?


15-1147191434
alex-drob
2006-05-09 20:17
2006.06.04
Прокси с помощью IdMappedPortTCP1


4-1142398689
fenixaz
2006-03-15 07:58
2006.06.04
факт создания или изменения файла


15-1147412642
User_OKA
2006-05-12 09:44
2006.06.04
Watches