Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15

Работа с txt в C++Builder

04.06.2011, 21:00. Показов 4451. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите...
Необходимо прочитать файл txt и вынуть из него некоторую информацию. Подскажите механизмы.

А если конкретнее у меня есть pdf файл и надо определить сколько там страниц содержится и какие шрифты используются
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2011, 21:00
Ответы с готовыми решениями:

C++ Builder txt-file
Подскажите плиз, как из тхт-файла загнать данные в STRINGGRID.

C++ Builder импорт строк из *.txt файла
Нужно в определенной папке считать текстовый файл и записать в ListBox содержимое первой строки. Застрял на присвоении переменной этой...

Загрузка информации из txt (C++ Builder XE7)
Доброго времени суток)) Очень нужна помощь в одном вопросе Дело в том что я работаю над одним проектом, нужно написать приложение для...

30
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.06.2011, 21:03
вы бы определились - txt или pdf - а то - вот у меня есть автомобиль, но мне нужны колеса от вертолета, - получается - оно как бы и то - и там текст, и там текст , но эти колеса не взаимозаменяемы .
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
04.06.2011, 21:07
Просто и удобно
C++
1
2
3
4
5
6
7
TStringList *sl = new TStringList();
 
sl->LoadFromFile("infile.txt");
 
// ...
 
delete sl;
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.06.2011, 21:09
развивая мысль
C++
1
2
3
4
5
for (int i; i<sl->Count; i++ {
  if (sl->Strings[i]) {
    // вынуть из него некоторую информацию
  }
}
iama, там еще
если конкретнее
было ...
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
04.06.2011, 21:11
LK, ахах, маленьким шрифтом писаное - не читаю. Думал, подпись
Sergius X, Чтение PDF
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.06.2011, 21:12
имхо , эт-не-то
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
04.06.2011, 21:16
LK, думаете можно как-то проще обойтись, без сторонних компонентов?
0
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
04.06.2011, 21:38  [ТС]
Можно без сторонних компонентов.
Ну PDF это же текстовый формат и читать его нужно как текст. Вот только я затрудняюсь со структурой файла и не знаю как от туда вытащить количество страниц и наименование использованных шрифтов. Вот спецификация формата, там описана его структура:
Вложения
Тип файла: doc Спецификация документа формата pdf.doc (90.5 Кб, 31 просмотров)
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
04.06.2011, 23:03
Sergius X, это явно не проще. Дело ваше.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.06.2011, 00:04
Sergius X, а какая задача - для чего это препарирование пдф-а ?
Да вот .doc тоже - текстовый формат, однако...
0
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
05.06.2011, 10:03  [ТС]
это моя курсовая работа.
Задание:
Создание HTML документа для отображения информации
Разработать программу, которая на основании представленной информации сформирует: XML документ, содержащий запрашиваемую информацию и отобразит эту информацию в виде html файла. В соответствии со спецификацией документа представить структуру документа pdf в виде дерева и графическом виде.

Xml и html прекрассно создается, а вот то что нужно отобразить, с этим проблема

развивая мысль

C++
1
2
3
4
5
6
for (int i; i<sl->Count; i++ 
 {
   if (sl->Strings[i]) 
   {
    // вынуть из него некоторую информацию
   }
}
А можно поподробнее... я был бы рад))
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.06.2011, 17:42
А можно поподробнее...
там только работа с текстом и строками.
0
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
05.06.2011, 17:47  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
работа с текстом и строками.
Я и хотел бы узнать как в тексте найти количество страниц и используемый шрифт
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
05.06.2011, 18:02
Sergius X, не читал вашей спецификации формата, но пдф файл, по своей структуре, явно не текстовый
0
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
05.06.2011, 18:16  [ТС]
Спецификация существует толко пока на английском языке, это стандарт
А в структура формата по спецификации я уже вкладывал выше
И вот есть очень интересная статья и там тоже пишут что pdf текстовый формат: Текст любой ценой: PDF
Вложения
Тип файла: pdf PDF32000_2008.pdf (8.58 Мб, 24 просмотров)
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.06.2011, 18:32
Sergius X, вы с самого начала путаете понятия текстовый файл и получение текста из файла, да и то , что вашей же ссылке - просто прочтите повнимательней:
с вкраплениями бинарных данных.
- может, именно в этих вкраплениях сведения о шрифтах, форматировании и т.д ?
Конечно, как книгу pdf в блокноте не почитаешь,
то, может, формат самого файла не совсем текстовый? Может, там все же речь идет про Текст любой ценой ?
А что какасется текста - так он есть в любом файле .ЕХЕ - .ЕХЕ тоже текстовый формат ?
0
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
05.06.2011, 21:39  [ТС]
Блин, тупой вопрос но напишите как в текстовом документе посчитать сколько раз встретится слово "Page"
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.06.2011, 00:09
C++
1
2
3
4
5
6
int i,j;
for(i =0; i <= text.Length(); i++) {
  if (text.Pos("Page") {j++;}
}
ShowMessage("Слово \"Page\" встретилось в тексте "+
            IntToStr(j)+" раз");
1
1 / 1 / 0
Регистрация: 04.06.2011
Сообщений: 15
06.06.2011, 09:05  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   if (OpenDialog1->Execute())
   {
      LoadPdfFile(OpenDialog1->FileName);
      CreateXMLFile(OpenDialog1->FileName);
   }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LoadPdfFile(AnsiString filename)
{
   TStringList *List = new TStringList;
   AnsiString pdf_file = filename;
 
   List->LoadFromFile(pdf_file);
   int i, j;
   for (i; i<List->Text.Length(); i++)
   {
    if (Text.Pos("Page")) {j++;}
   }
   ShowMessage("Слово \"Page\" встретилось в тексте " + IntToStr(j)+" раз");
 
   delete List;
}
Как то не работает открываю, а он показываеи 0

Добавлено через 2 часа 53 минуты
Да и теоретически он будет считать слова типа Pages или PageMode, что не есть хорошо. Можно как то рамки жестко поставить?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.06.2011, 17:49
вы сказали про тект в общем виде, а не про список
C++
1
2
3
for (i; i<List->Count; i++) {
  if (List->Strings[i].Pos("Page")) {j++;}
}
хотя можно и текст
C++
1
2
3
4
5
for (i; i<List->Text.Length(); i++) {
  if (List->Text.Pos("Page")) { // List->Text !
    j++;
  }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2011, 17:49
Помогаю со студенческими работами здесь

Работа с файлами. Вывести на экран файл Input.txt задом наперед и записать результат в файл Output.txt
1. Работа с файлами Вывести на экран файл Input.txt задом-наперед и записать результат в файл Output.txt 2. Содержимое...

Работа с файлами (вывести в текстовый файл "g.txt" любую цифру из исходного файла "f.txt" с сохранением строгого порядка)
Помогите с задачей. Надо вывести в текстовый файл &quot;g.txt&quot; любую цифру из исходного файла &quot;f.txt&quot; с сохранением строгого...

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл t1.txt, в который запишите следующий...

Создать новый файл qa.txt, который будет содержать строки с вопросами и ответами из файлов q.txt и a.txt.
В текстовом редакторе создать два текстовых файла q.txt и a.txt, которые соответственно содержат вопросы и ответы на их. Создать новый файл...

Записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt
Здравствуйте, нужно записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt помогите, пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru