Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

форматирование строки. strtoint [D6, 2000]


Officeman ©   (2006-12-22 10:12:00) 

Добое время суток! необходимо написать функцию обрабоки строк подгруженного прайс листа.  значения столбца 'цена' могу иметь следующией формат(вид):  

1300.00
1300,00
1'300.00
1300
1300.00
1300 руб
1300 руб.
1300 р
1300р.
и тд

Вопрос: как перевести в формат понятный дельфи для дальнейних арифметич.операций. Надо переформатировать строку с ценой, в 1300.00

Какие функции или компоненты Дельфи мне помогут ?

с уважением, Officeman


Officeman   (2006-12-22 12:57:00) [1]

спасибо за советы. попробую...


novill   (2006-12-22 12:54:00) [2]

>[6] и [7]
Для перечисленных в [0] хватает, а всякие извращенные и т.д.раскрывайте сами :)
Кому скучно напишите функцию для перевода из суммы прописью в число :)


Сергей М.   (2006-12-22 12:54:00) [3]


> есть ли возможность использовать какуюнить функцию Excel


Нет там таких функций. И быть не может.
Мало как юзер может извратиться при вводе цены ! На каждый юзерский чих что ли функцию про запас иметь ?)

У тебя под рукой всегда есть олей-объект MS RegExp, им и воспользуйся для решения задачи, хоть в Васике, хоть в Делфи


Anatoly Podgoretsky   (2006-12-22 12:52:00) [4]

> Ega23  (22.12.2006 12:21:06)  [6]

> 1.324.345,98

А после этого для

1,324,345.98
1 324 345,98


Officeman   (2006-12-22 12:33:00) [5]

to novill [5]
>делается в две строчки.
>1. убираешь из строки всё, кроме цифр и одного decimalseparator
>2. пробуешь получить из этого float.

;))
лучше было б так:
>1. оставляешь только цифры. пример тут: ...  

а по вопросу. вероятно есть дургео решение. есть некоторая программа для обработки прайслиста. пользователь импортирует из Excel файла данные с ДВУХ полей. импорт делаю так: (часть кода)

if FileExists(FilenameEdit1.FileName)=true then begin

import.Enabled:=false; // блокировка кнопок до завершения работы обработки
button8.Enabled:=false; // блокировка кнопок до завершения работы обработки

   WorkSheet := Unassigned;
   WorkSheet := Excel.Workbooks[1].WorkSheets[strtoint(Listov.Text)];
   WaitCaption.caption:='Загружено 0 из '+inttostr(WorkSheet.Cells.CurrentRegion.Rows.Count)+' позиций.';
   WaitCaption.Visible:=true;

//перед обновление считаем скока строк было в LV
   LVcount:=LVprice.Items.Count-1;
   //обновляем прайс. сверяем наименование. если =, то обновляем цены
   //читаем построчно EXCEL файл

   if WorkSheet.Cells.CurrentRegion.Rows.Count=0 then exit;
   for x := 1 to WorkSheet.Cells.CurrentRegion.Rows.Count do begin
..................


вопрос. есть ли возможность использовать какуюнить функцию Excel
чтобы на этапе чтения строки с ценой. перед импортом менять её формат.
и потом грузить в таблицу программы.
???


Ega23   (2006-12-22 12:21:00) [6]


> делается в две строчки.
> 1. убираешь из строки всё, кроме цифр и одного decimalseparator
> 2. пробуешь получить из этого float.


Сделай для 1.324.345,98


Ega23   (2006-12-22 12:21:00) [7]

Или для 98р 45к


novill   (2006-12-22 12:10:00) [8]

> [3] Officeman   (22.12.06 12:00)

делается в две строчки.
1. убираешь из строки всё, кроме цифр и одного decimalseparator
2. пробуешь получить из этого float.


Anatoly Podgoretsky   (2006-12-22 12:02:00) [9]

> Officeman  (22.12.2006 10:12:00)  [0]

Вот это "и тд" может оказаться самым интересным


Officeman   (2006-12-22 12:00:00) [10]

спасибо конечно. это я всё и сам знаю.
хотя повторение мать учение. хехе.

Вам респект за краткость) ответов.


Сергей М.   (2006-12-22 10:20:00) [11]

Функции для обработки регулярных выражений тебе помогут.

http://www.google.ru/search?q=Delphi+%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D1%8B%D0%B5+%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:ru:official


Ega23   (2006-12-22 10:18:00) [12]


> Какие функции или компоненты Дельфи мне помогут ?


свои собственные.


Наверх

Титульная страница Поиск, карта сайта Написать письмо