| Автор
| Сообщение |
serjufa
Новичок

Зарегистрирован: 29.03.2007
Сообщения: 3
|
|
|
Цитата |
|
Здравствуйте!
Столкнулся с проблемой. Исходные dos файлы имеют [.] как разделитель. В системе некоторых юзеров и в установках Excel установлена [,]. Моя софтина ругается на это. После установки в Региональных настройках [.] как разделитель и [использовать системные настройки] в Excel все работает.
Вручную проделывать эту операцию на 70 ПК мне мало улыбается. Как это сделать программно? И вернуть потом устаноки юзеров?
PS использую D7&WinXPSp2 |
|
| В начало |
|
 |
|
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
| Цитата: | | Как это сделать программно? |
грамотно учитывать региональные настройки
либо можно в программе явно устанавливать разделитель  _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
Погляди в реестр. Явно, региональные изменения, сделанные из панели управления, хранятся где-то там. Дальше занаешь что делать? _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
 Guffi
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 06.08.2004
Сообщения: 250
Откуда: Лангепас
|
|
|
Цитата |
|
Если проблема в StrToFloat можно написать такую процедурку и везде вместо StrToFloat писать StrToFlt
| delphi: | function StrToFlt(S: String): Real; var i: Integer; st: String; begin for i := 0 to Length(S) do begin case S[i] of '-': if Length(st) = 0 then st := '-'; '0'..'9': st := st + S[i]; '.', ',': if ( Pos(DecimalSeparator, st) = 0) then st := st + DecimalSeparator; end; end; result := StrToFloat(st); end;
|
Кстати мне помогало еще убирать пробелы из строки ну и другой мусор.. _________________ Не сами по себе мы хороши, а фону из говна благодаря |
|
| В начало |
|
 |
|