Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Вниз

форматирование строки. 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.013 c
2-1166780478
kukuikar
2006-12-22 12:41
2007.01.14
Изменение даты создания файла


2-1166622362
4ert
2006-12-20 16:46
2007.01.14
TCPclient HELP!!!!!!!!!


15-1166600124
EkZot
2006-12-20 10:35
2007.01.14
Макросы в Excel


15-1166373226
Tolik
2006-12-17 19:33
2007.01.14
Защита структур и алгоритмов


6-1155734845
VolanD666
2006-08-16 17:27
2007.01.14
Asynchronous socket error 10061





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский