![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение строки из Ворда [D5, Win95/98]
Olivka © (2002-04-20 19:09:00)В одну ячейку таблицы - вставляю формулу суммы
olevariant(FWordApp).ActiveDocument.Tables.Item(TableNumber).Cell(Row,Column).Range.Select;
olevariant(FWordApp).Selection.InsertFormula(formula,"0,00");
- сумма вышестоящих ячеек, все работает класно
Потом хочу получить это значение в переменную - Real, для этого:
text:=olevariant(fwordapp).ActiveDocument.tables.item(TableNumber).cell(Row,Column).range.Text;
это в переменную типа string - тоже вроде делается.
в переменную text попадает строка типа "1,98#D#F"(не помню точно символы), я так понимаю - это всего лишь признаки конца строки или ячейки.
Мне нужно получить 1,98 и я хочу сделать
val(text,realValue,code);
передается только первая цифра числа, например, из 1,98 получается RealValue=1, при этом code=2, т.е. запинается на запятой.
Но в ворде формула понимает у меня только запятую(иначе не суммирует), а не точку. Но замена на точку ничего не решает, code становится равным уже 5, но в RealValue попадает все равно первая цифра!
Я думала - может это и не запятая вовсе, но pos(text,",")=2. Я ничего не понимаю! Щас выйду из себя! как мне получить это число?
Olivka (2002-04-20 22:43:00) [1]Я ошиблась в вопросе - pos(text,",")=0, как и #
я могу взять часть ээтой строки - 4 цифры первые и тогда StrToFloat работает, но почему позиция запятой, точки или решетки в этой строке равны 0? странно.
Olivka (2002-04-20 22:13:00) [2]не получается, потому что строка в этом случае обязана быть числом, а у меня вместо числа
"0,12"#$D#7 - проверила - вот такого типа.
drpass (2002-04-20 20:27:00) [3]В русской винде запятая используется для разделения дробной и целой части, и Word ее использует. Древняя фукнция val, будучи англоязычным творением, понимает только точку. Возьми функцию StrToFloat вместо val, которая пользуется установками винды, и забудь об этой проблеме.