I NEED YOUR HELP!!!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Jamshid
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 19.01.2004 (Пн) 12:32
Откуда: Tashkent

I NEED YOUR HELP!!!

Сообщение Jamshid » 19.01.2004 (Пн) 13:33

Здраствуйте, пожалуста помогите!!! У меня такая проблема, у каждой страны свои стандарты по "Разделителям целой и дробной частей числа", например может быть "," или что-то еще. Так, мне надо чтобы независимо от того какой именно стандарт установлен, программа распозновал и при выводе на экран отображался именно ".", например "2.478" а не "2,478". Может быть есть API, которые распозноют какой стандарт установлен и может изменять этот стандарт так чтоб отображал "."

Спасибо!!!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 19.01.2004 (Пн) 13:38

Поиском по форуму вопрос этот решишь ты.

Слова ключевые будут GetLocaleInfo и... все, не будет слов больше.

Да пребудет с тобой bbs.vbstreets.ru и old.vbstreets.ru :D

Jamshid
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 19.01.2004 (Пн) 12:32
Откуда: Tashkent

Сообщение Jamshid » 19.01.2004 (Пн) 14:05

RayShade писал(а):Поиском по форуму вопрос этот решишь ты.
Слова ключевые будут GetLocaleInfo и... все, не будет слов больше.
Да пребудет с тобой bbs.vbstreets.ru и old.vbstreets.ru :D


Может что нибудь точнее есть? И если можно примерчик привести. Спасибо заранее!!!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 19.01.2004 (Пн) 15:17

Что, совсем лень что ли?

Ну надо же усилия уметь прикладывать хоть минимальные :evil:



http://bbs.vbstreets.ru/viewtopic.php?t ... localeinfo

Jamshid
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 19.01.2004 (Пн) 12:32
Откуда: Tashkent

Сообщение Jamshid » 19.01.2004 (Пн) 15:34

RayShade писал(а):Что, совсем лень что ли?
Ну надо же усилия уметь прикладывать хоть минимальные :evil:

http://bbs.vbstreets.ru/viewtopic.php?t ... localeinfo


RayShade ne serdis' :)
Ya posmotrel kodi, oni tol'ko vidaut mne kakoy separator ustanovlen, no mne nado chtobi pri zapuske progi, na ekran vivodilas' ".", v lubom sluchaye t.e. proga sama ustanavlival "." esli tam ustanovlen ",", ne smotrya na to chto kakoy Regional'niy standart ustanovlen (t.e. Razdelitel' celoy i drobnoy chastey chisla).

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 19.01.2004 (Пн) 16:14

Алгоритм таков:

1. Определяешь, какой именно символ является разделителем.

2. Заменяешь его replace'ом на "." и нет проблем.

Потому что менять региональные настройки можно не всегда - к примеру если прога будет работать не под админским акаунтом - то ничего не заменишь.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4160
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 19.01.2004 (Пн) 18:10

Смотря куда и каким методом выдавать число. Если Print то достаточно вместо:
Код: Выделить всё
  Print var

писать:
Код: Выделить всё
  Print str$(var)

и будет всегда ".". То же для Grid
dvtcnj^
Код: Выделить всё
  grid = var

писать:
Код: Выделить всё
  grid.text = str$(var)

Все зависит от твоей задачи.

Jamshid
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 19.01.2004 (Пн) 12:32
Откуда: Tashkent

Сообщение Jamshid » 20.01.2004 (Вт) 7:06

RayShade писал(а):Алгоритм таков:
1. Определяешь, какой именно символ является разделителем.
2. Заменяешь его replace'ом на "." и нет проблем.
Потому что менять региональные настройки можно не всегда - к примеру если прога будет работать не под админским акаунтом - то ничего не заменишь.


А если это таблица, которая прилинкована с БД. Что, мне надо в каждой ячейке делать Replace? Есть ли такая возможность изменять на "." при выводе на экран в таблице при load'e? :roll:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.01.2004 (Вт) 11:32

Не тормози.
Если это БД и в ней числа храняться в виде текста, то это единственный выход. А если числа храняться как числа, то ты сам можешь задавать форматирование.
Lasciate ogni speranza, voi ch'entrate.

Jamshid
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 19.01.2004 (Пн) 12:32
Откуда: Tashkent

Сообщение Jamshid » 20.01.2004 (Вт) 15:17

alibek писал(а):Не тормози.
Если это БД и в ней числа храняться в виде текста, то это единственный выход. А если числа храняться как числа, то ты сам можешь задавать форматирование.


alibek если ты это имел ввиду:
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".

то я пробовал так делать, все равно выводит с "," :cry: , но получается только через str$. По другому не получилось, если есть другие варианты то подскажите ребята.

Заранее благодарю всех :wink: :wink: :wink: :wink: :wink:

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 20.01.2004 (Вт) 15:37

text_Change()
dim i as Integer
i=text.selstart
text=replace(text,",",".")
text.selstart=i
end sub
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 4

    TopList