Текущий архив: 2011.09.04;
Скачать: CL | DM;
Вниз
Ошибка конвертирования данных из Excel в тип Data Найти похожие ветки
← →
samalex2504 (2011-05-18 09:00) [0]Уважаемые знатоки!!!
Есть задача:
Из Excel 2007 берется копированием строка
к примеру "№ 15 от 08.04.2011 г."
Из этой строки нужно вытащить № и дату
я написал функцию
procedure TForm1.Button1Click(Sender: TObject);
var
BufStr, BufNum, BufDate,BufDate1 : string;
BufInt1, BufInt2, i : integer;
begin
try
if (Trim(c4.Text)<>"") and (Length(Trim(c4.Text))>8) Then
begin
BufStr:=c4.Text;
BufInt1:=Pos("от",BufStr);
BufNum:=Trim(Copy(BufStr,1,BufInt1-1));
BufInt2:=Pos("ã.",BufStr);
BufDate:=Trim(Copy(BufStr,BufInt1+2,100));
BufDate:=Trim(StringReplace(BufDate,"г.","",[rfReplaceAll]));
c1.Text:=BufNum;
c5_1.Text:=BufDate;
c5.Date:=StrToDate(BufDate);
end;
Except
ShowMessage("Неправильный формат ввода платежного поручения :" - пример "№ 28 от 26.04.2011 г."");
end;
end;
Так вот, приc5.Date:=StrToDate(BufDate);
"Возникает ошибка <EConvertError with message "08.04.2011 >.
Перед датой почему-то оказывается кавычка ".
Как от этого избавиться?
← →
Медвежонок Пятачок © (2011-05-18 09:16) [1]удалить кавычку из строки конечно же
← →
samalex2504 (2011-05-18 09:36) [2]ее визуально не видно
перед "от" вместо пробела с аскии кодом 32
стоит пробел с аскии кодом 160
Какой функцией заменить символ по аскии-коду?
Или перебирать в цикле?
← →
Anatoly Podgoretsky © (2011-05-18 09:40) [3]> samalex2504 (18.05.2011 09:36:02) [2]
А ты что ручками с экрана переписываешь, иначе при чем, что "ее визуально не
видно".
← →
Anatoly Podgoretsky © (2011-05-18 09:41) [4]> samalex2504 (18.05.2011 09:36:02) [2]
В ASCII код 160 для русской таблицы это символ "А", а не пробел
← →
samalex2504 (2011-05-18 09:48) [5]Может, я что-то путаю, но после вставки кода
for i:=1 to Length(BufStr) do
begin
if (Ord(BufStr[i-1])=160) Then BufStr[i-1]:=" ";
end;
Все заработало.
Страницы: 1 вся ветка
Текущий архив: 2011.09.04;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.003 c