|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.05.2014, 03:13 | #1 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Проблема в кодировке? Делфи
Доброго времени суток.
Суть проблемы в нижеследующем. Почти доделал парсер для игрушки одной. Там нужно из кода страницы выделить пару чисел. Большие числа записываются так: 1 234 567 Есть одно НО, нужно убрать "пробелы" между цифрами. Теперь конкретно, делфи(memo), блокнот, исходный код и т.п. определяют эти "пробелы" как пробелы. Когда собираюсь удалять их функциями AnsiReplaceStr/StringReplace/самопальная как оказывается, что это не пробелы потому, что их не удаляет ни что. Решил оставить пока так и попытаться вставить эти числа в топик форума игры. Получилось: 1?234?567 Теперь я не знаю что делать. Мне ещё нужно будет с этими числами работать, но в integer перевести по понятной причине не могу. Помогите пожалуйста. |
12.05.2014, 06:40 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Проходишь в цикле по каждому символу и формируешь новую строку. Условием для проверки будет обязательно наличие цифры, для этого удобно использовать множества. А только потом уже перегоняешь в число.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
12.05.2014, 07:48 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А я бы ради интереса посмотрел в НЕХ редакторе что это за символ. Возможно просто табуляция.
I'm learning to live...
|
12.05.2014, 08:39 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я бы тоже посмотрел, что это за символы там спрятались за пробелами.
Вариант - можно сохранить в файл и посмотреть hex-редактором. А можно и в delphi заглянуть, что это за символы. вот так, например: Код:
|
12.05.2014, 12:21 | #5 |
Ваш К. О.
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,777
|
Неразрывные пробелы, скорее всего.
|
12.05.2014, 13:28 | #6 | |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Цитата:
00А0, что это за пакость такая? Конечно пройти числа самопальной функцией можно, но программа и так не блещет скоростью, даже не представляю сколько она будет работать не на стационарном, а на нетбуке... |
|
12.05.2014, 13:37 | #7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
код 0x00A0 = 160 - это Неразрывный пробел (например, тыц) а зачем Вам что-то писать. достаточно: AnsiReplaceStr / StringReplace и заменить символ #160 на '' (пустую строку) или даже так: Код:
что же касается быстродействия, то поверьте мне, за одну миллисекунду процессов обработает сотню подобных циклов. У Вас тормоза в другом месте и подобная обработка сильно программу не замедлит! Последний раз редактировалось Serge_Bliznykov; 12.05.2014 в 13:39. |
|
12.05.2014, 13:41 | #8 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
12.05.2014, 13:58 | #9 |
Форумчанин
Регистрация: 13.07.2012
Сообщений: 357
|
Спасибо!!!
А зачем делать расширенные тесты? Прога очень узкоспециализированная, работает со множеством однотипных страничек. А тормозит, догадываюсь из-за чего. Использовать невидимые мемо в качестве переменных, что бы скроить чужие куски кода, думаю не есть хорошо... |
12.05.2014, 14:02 | #10 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема в кодировке сообщений ВКОНТАКТЕ | temchik2004 | Работа с сетью в Delphi | 6 | 04.09.2013 14:33 |
Ошибка в кодировке GET | --Egor-- | PHP | 4 | 31.07.2012 23:46 |
Ошибка в кодировке | asnikifor | PHP | 7 | 23.09.2011 22:44 |
Вопрос о кодировке. | vedro-compota | PHP | 16 | 29.09.2010 17:48 |