Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами, нехорошими 
V
    Опции темы
Insert
  Дата 5.11.2006, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Здравствуйте, все.
  Я пишу (пытаюсь), программу оптимизации pdf-файлов, на данном этапе прграмма должна вырезать картинки, это все хорошо, руками я такое сделать могу, но нужна программа, а в неё надо загружать эти файлы и как то с ними работать, другое дело блокнот, там открыл поправил, сохранил и все ок, но в делфях пробовал загружать и в memo, richedit и т д загружается далеко не все ( а файлы оч большие десятки млн символов ) может из за этого или из за того что там используется юникод, возможно сущ другие компоненты для работы с таким текстом, или можно без компонент, а как программно с текстом работать. Мне надо(на данном этапе) в этом файле (pdf) находить строки 'obj' для этого надо будет построчно искать в тексте такую комбинацию, но я не могу получить доступ ко всему тексту из за этой кривой кодировки. 
 Кто знает решение данной проблемы помогите(пиво ставлю)  Заранее спасибо


M
Girder
Название темы должно отражать его суть!


--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Insert
Дата 5.11.2006, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Смотрел исходники на c# там тож с пдф работают, они использовали какой то file stream, могет у нас есть что то такое? если есть то будет ли он (класс)  читать нехорошую кодировку? smile  smile 
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Insert
Дата 6.11.2006, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Да мне друг сказал, что нада использовать какой то класс Stream. А что это и с чем его едят не знаю. Если я буду загружать файлы в эти Stream, то как работать с данными в них? 
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Guedda
Дата 6.11.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Не понятен вопрос...
Ты хочешь просто отобразить PDF-файл, либо его внутренности в RichEdit.

Пользуйся TFileStream... Найдёшь в поиске....


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Alexeis
Дата 6.11.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Insert, использовать для этих целей Memo несолидно. Проще загнать весь файл в одну большую юникодную строку, и в ней уж искать нужную подстроку. Юникодная строка это WideString. Записать в нее файл можно любым способом, только перед эти необходимо правильно указать ее размер.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Insert
Дата 6.11.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



 да мне нужны внутренности pdf.  попробую сначала через WideString, только файлы бывают оч большие более миллиарда символов, надеюсь Widestring потянет. (а размер widestring в чем задавать и как, просто впервые этот тип использовать буду?). Если нисхляет попробую FileStream. 
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Alexeis
Дата 6.11.2006, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Insert @  6.11.2006,  15:05 Найти цитируемый пост)
оч большие более миллиарда символов, надеюсь Widestring потянет

Цитата(Insert @  6.11.2006,  15:05 Найти цитируемый пост)
а размер widestring в чем задавать и как

SetLength
Ну по идее должно 2-х Гб хватить, но вот только с файлами свыше 200Мб удобнее работать как с отображаемыми в память, при этом скорость будет намного выше, да файл подкачки не будет нужен.
Тут уже ограничений нет таких, правда за раз все равно больше 2Гб не удастся отобразить в память.




--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Insert
Дата 6.11.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Только я не знаю как этой переменной типа WideString присвоить содержимое  файла smile  read`ом что ли?  smile 
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Alexeis
Дата 6.11.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Insert @  6.11.2006,  16:18 Найти цитируемый пост)
read`ом что ли?

Можно и Read только лучше не типизированым.
Readbuffer(f, wdestr, filesize);


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Insert
Дата 6.11.2006, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Все таки сделал с  TFileStream, но результаты накапливаю в widestring-переменной. Возникает вопрос как обрабатывать потоки TFileStream? Например поиск подстроки в потоке(что то типа ф-ии pos), удаление от сих ... до сих, вставка, обрезка, есть что то подобное для таких обьектов?

Добавлено @ 22:57 
Как альтернатива, могу загружать весь поток в переменную widestring и использовать эти процедуры (если они есть?) над ней. Как лучше? или что возможно?
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Romikgy
Дата 6.11.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



имхо легче считать из фалового потока в string или TstringList ? проще будет искать и т.п.

Добавлено @ 23:03 
и имхо widestring здесь не надо , внутреняя структура pdf больше похожа анси символы , имхо


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Alexeis
Дата 6.11.2006, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Insert @  6.11.2006,  22:44 Найти цитируемый пост)
Как альтернатива, могу загружать весь поток в переменную widestring и использовать эти процедуры (если они есть?) над ней. Как лучше? или что возможно? 


Лучше так! Не волнуйся есть юникодные аналоги. Компиялтор сам подставит нужную.

Цитата(Romikgy @  6.11.2006,  22:58 Найти цитируемый пост)
имхо легче считать из фалового потока в string или TstringList ?

Может и легче, но для Анси строк, а не юникодных, правда есть юникодный аналог TstringList, но это сторонний компонент.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Insert
Дата 6.11.2006, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Цитата(alexeis1 @  6.11.2006,  23:08 Найти цитируемый пост)

Лучше так! Не волнуйся есть юникодные аналоги. Компиялтор сам подставит нужную.

Хм а можешь эти аналоги подсказать?  smile  
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Quadr0
Дата 6.11.2006, 23:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 13:17
  Вверх
Insert
Дата 6.11.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Цитата(Romikgy @ 6.11.2006,  22:58)
имхо легче считать из фалового потока в string или TstringList ? проще будет искать и т.п.

Добавлено @ 23:03 
и имхо widestring здесь не надо , внутреняя структура pdf больше похожа анси символы , имхо

В начале так и хотел, но string & stringlist не работают с юникодом. При попытке загрузить в них файл или часть его, то в него загружается только та часть которая написана на латинице, и то оч далеко не вся.
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1310 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.