Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с буквами(Мини парсинг) 
:(
    Опции темы
ruslandlion
Дата 3.5.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Уважаемые программисты.Помогите пожалуйста с кодом.
Код

AnsiString stroke=RichEdit1->Lines->Strings[0];

Я обявил переменную типа AnsiString.
1.Какая функция может обработать строку stroke чтобы посчитать длину строки (наподобии stroke.length)но без пробелов.Тоесть нужна функция которая считает буквы в строке при этом игнорируя пробелы и возвращает полученное значение?
2.Как получить доступ ко всем строкам ?RichEdit1->Lines->(Что сюда добавить для этого?)
Огромное спасибо за помощь всем кто откликнеться.Я начинающий программист котрый пытаеться небольшое подобие парсера. 
p/sЕсли кто знает подкиньте пожалуйста ссылки про парсинг.

PM MAIL   Вверх
Mysterio
Дата 3.5.2008, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Планирующий
*


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

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



Цитата(ruslandlion @  3.5.2008,  12:30 Найти цитируемый пост)
Тоесть нужна функция которая считает буквы в строке при этом игнорируя пробелы и возвращает полученное значение?

Тебе нужна именно функция от String? Можно просто вырезать все пробелы из строки и посчитать её длину.

Код

 String s=RichEdit1->Lines->Strings[0];

 while(s.Pos(" ")!=0)
 s=s.SubString(1,s.Pos(" ")-1)+s.SubString(s.Pos(" ")+1,s.Length());

 Label1->Caption=s;
 Label2->Caption=IntToStr(s.Length());



Цитата(ruslandlion @  3.5.2008,  12:30 Найти цитируемый пост)
2.Как получить доступ ко всем строкам ?RichEdit1->Lines->(Что сюда добавить для этого?)


Может RichEdit1->Text ?
PM MAIL   Вверх
mrbrooks
Дата 4.5.2008, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



Цитата(ruslandlion @ 3.5.2008,  12:30)

1.Какая функция может обработать строку stroke чтобы посчитать длину строки (наподобии stroke.length)но без пробелов.Тоесть нужна функция которая считает буквы в строке при этом игнорируя пробелы и возвращает полученное значение?
2.Как получить доступ ко всем строкам ?RichEdit1->Lines->(Что сюда добавить для этого?)
 

1. Решений много. Вот мое решение.
Код

String str = "bla bla bla bla bla";
int j = 0;
for(int i = 1; i < str.Length();i++) 
                            if (str[i] == ' ') j++;
ShowMessage(String(str.Length() - j));


2. В зависимости что ты хочешь сделать. Вообще-то если тебе нужен просто весть тект как строка то тогда делай как грит комрад Mysterio иначе уточни.
PM MAIL   Вверх
xvr
Дата 4.5.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(ruslandlion @ 3.5.2008,  12:30)
Уважаемые программисты.Помогите пожалуйста с кодом.
Код

AnsiString stroke=RichEdit1->Lines->Strings[0];

Я обявил переменную типа AnsiString.
1.Какая функция может обработать строку stroke чтобы посчитать длину строки (наподобии stroke.length)но без пробелов.Тоесть нужна функция которая считает буквы в строке при этом игнорируя пробелы и возвращает полученное значение?

Код

StringReplace(RichEdit1->Lines->Strings[0]," ","",TReplaceFlags()<<rfReplaceAll).Length()

PM MAIL   Вверх
mrbrooks
Дата 4.5.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


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

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



>xvr просто класс.
ЗЫ. блин мне пора наконец то более внимательно читать мат часть  smile  smile 
PM MAIL   Вверх
ksili
Дата 5.5.2008, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

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



xvr, а после этого
Код

StringReplace(RichEdit1->Lines->Strings[0]," ","",TReplaceFlags()<<rfReplaceAll).Length()

само содержимое RichEdit1'а останется таким же, или пробелы из него исчезнут?


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
xvr
Дата 5.5.2008, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(ksili @ 5.5.2008,  07:42)
xvr, а после этого
Код

StringReplace(RichEdit1->Lines->Strings[0]," ","",TReplaceFlags()<<rfReplaceAll).Length()

само содержимое RichEdit1'а останется таким же, или пробелы из него исчезнут?

Отстанется без изменений
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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