Главная страница
    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.47 MB
Время: 0.011 c
8-1147990002
Дмитрий12
2006-05-19 02:06
2007.01.14
координаты


15-1166586442
Slider007
2006-12-20 06:47
2007.01.14
С днем рождения ! 20 декабря


2-1166930197
allrussia
2006-12-24 06:16
2007.01.14
Помогите разобраться с TThread


15-1166682900
вразлет
2006-12-21 09:35
2007.01.14
Туркменбаши того


1-1164032851
Alexis
2006-11-20 17:27
2007.01.14
Получение всех шрифтов системы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский