![]() |
|
Модераторы: bsa |
![]()
|
|
| Ksonatos |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Здравствуйте!!
Помогите с програмкой пожалуйста, она должна открывать любой текстовый файл и подсчитывать знаки препинания в тексте.. Я кое чего накалякал.. Сделал, что бы текст из файла в Memo переписываляся, а дальше думаю, как сделать что бы в мемо посчитать знаки и результат выписать либо в другой мемо либо в лабел
А вот это я думаю подойдёт для подсчёта:
Надеюсь кто то откликнется и за ранее спасибо = ) |
||||
|
|||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Memo1->Lines - это TStrings. У него есть свойство Text, которое возвращает строку, содержащую все строки из TStrings, разделённые переводом строки.
можно (да и нужно) с использованием готовых алгоритмов
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Это сообщение отредактировал(а) bsa - 25.5.2011, 10:48 |
|||
|
||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Вот так правильно? А то он ошибку выдаёт: [BCC32 Error] Unit1.cpp(54): E2268 Call to undefined function 'count_if'
Может надо библиотеку добавить какую? Это сообщение отредактировал(а) Ksonatos - 25.5.2011, 11:50 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
#include <algorithm> Добавлено через 2 минуты и 5 секунд это все выброси. borisbn, показал рабочий код. |
|||
|
||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Вставил библиотеку #include <functional>, теперь пишет: [BCC32 Error] Unit1.cpp(56): E2316 'begin' is not a member of 'AnsiString'
Добавлено через 4 минуты и 1 секунду Компилятор ругается на
[BCC32 Error] Unit1.cpp(42): E2141 Declaration syntax error Скобочки все стоят нормально.. Не пойму чего не нравится |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Ksonatos, выкладывай весь cpp-шник
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Ну вот то, что есть..
Я пока с точкой только пробую.. Но не компилирует, говорит что: [BCC32 Error] Unit1.cpp(45): E2141 Declaration syntax error Присоединённый файл ( Кол-во скачиваний: 4 )
Rabora1.cpp 1,54 Kb |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
1. В Си++ нельзя написать ф-цию внутри другой ф-ции. У тебя isDelimeter описана внутри TForm1::Button2Click. Вынеси её наружу.
2. Ф-ция count_if описана в namespace std. Чтобы использовать её нужно либо указать using namespace std; либо явно вызывать std::count_if( ... 3. Ты написал
а сами ф-ции isPoint и isComma нигде не определены -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
1)Чего то я не до понял, куда перенести isDelimeter.. В начало программы? И как это реализовать.
2)Можете подсказать, за что отвечают функции isPoint и isComma.. Я с такими не работал еще = ) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Ksonatos, это функции написанные borisbn. Их реализация во втором сообщении темы. Что тут непонятного?
|
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
подводишь курсор к началу ф-ции (bool isDeli...) - перед буквой b нажимаешь Shift, не отпуская нажимаешь стрелку вниз пока не будет выделена закрывающая фигурная скобка нажимаешь Ctrl+X переводишь курсор за пределы функции TForm1::Button2Click (на одну строку выше описания этой функции) нажимаешь Ctrl+V
IMHO если с isDelimeter понятно, то и с этими должно быть понятно -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Блин, извиняюсь. Я туплю..
Можно последний(надеюсь) вопрос? Вот эта ошибка: [BCC32 Error] Unit1.cpp(49): E2316 'begin' is not a member of 'AnsiString' |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
'begin' не является членом класса 'AnsiString' IMHO всё ясно. В коде, который ты привёл выше, такая ошибка появиться не может, т.к. там begin вызывается у std::string, а не у AnsiString. Короче говоря, вот этот код
должен компилироваться без ошибок -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| Ksonatos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 25.5.2011 Репутация: нет Всего: нет |
Ага, разобрался.. Всё компилирует.
Вот, вроде так всё:
Получается, что это я подсчитал точки, а как вывести результат в мемо2? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |