Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

форматирование строки. strtoint   Найти похожие ветки 

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

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

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

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

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

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


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


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


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


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

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

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


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

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

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


 
Anatoly Podgoretsky ©   (2006-12-22 12:02) [4]

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

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


 
novill ©   (2006-12-22 12:10) [5]

> [3] Officeman   (22.12.06 12:00)

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


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


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


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


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

Или для 98р 45к


 
Officeman   (2006-12-22 12:33) [8]

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
чтобы на этапе чтения строки с ценой. перед импортом менять её формат.
и потом грузить в таблицу программы.
???


 
Anatoly Podgoretsky ©   (2006-12-22 12:52) [9]

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

> 1.324.345,98

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

1,324,345.98
1 324 345,98


 
novill ©   (2006-12-22 12:54) [10]

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


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


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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
15-1167052355
Handle
2006-12-25 16:12
2007.01.14
Handle


6-1155559604
Shaman_
2006-08-14 16:46
2007.01.14
idHTTP вылетает на HTTP/1.1 500 Internal Server Error


15-1167043284
Post_
2006-12-25 13:41
2007.01.14
PostMessage


2-1167111400
4ert
2006-12-26 08:36
2007.01.14
Pointer


2-1167137066
Mishenka
2006-12-26 15:44
2007.01.14
Как отследить завершение работы Windows ?