![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
![]()
Добрый день мастера, подскажите пожалуйста по работе с текстом в котором есть разделители.... Например есть тест:
Саша,Маша, Гриша, Иван,Самолет,Степа Опа,Жизнь, Гриша, Кирил, Кран, Автобус и.т.д. строк много, как сделать так чтобы остался текст только между третьей и 4 запятой..? Пробелов может быть разное колличество между словами.... Спасибо!!! ![]() |
![]() |
![]() |
![]() |
#2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Ну будет счетчик запятых.
Идете посимвольно по тексту. Пропускаете все пробелы. Если встретили запятую - увеличиваем счетчик. Если счетчик = 3, то при проходе пишем символы куда надо. Если счетчик = 4, то выходим. Как-то так.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#4 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
Кидайте на форму 2 Мемо. Первый - для исходного текста, второй - для того, что нужно отобрать. Еще нужна кнопка. В обработчик кнопки пишете: Код:
cnt - счетчик запятых len - длина исходного текста. Дальше тело обработчика. Очистим Мемо2, чтобы там не было ничего лишнего. Код:
Код:
Дальше запускаем цикл: Код:
Для начала, пропустим все пробелы: Код:
Если является, то увеличиваем счетчик запятых и счетчик i. Теперь перед нами текст. Пройдем по нему до первого пробела или запятой. И если cnt = 3, то будем писать символы в Memo2. Код:
А теперь соедините это все вместе и получите рабочую программу.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
В любом случае, если у Вас что-то не работает, то я не телепат, и не могу сказать что именно и почему. Выкладывайте код.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
![]() Цитата:
var i,cnt,len : integer; begin Memo2.Clear; Len := length(Memo1.Text); while i<=len do begin while (i<=len) and (Memo1.Text[i]=' ') do inc(i); end; while (i<=len) and (Memo1.Text[i]<>',') and (Memo1.Text[i]<>' ') do begin if cnt=3 then Memo2.Text := Memo2.Text + Memo1.Text[i]; inc(i); end; end; end. вот.. что не так?? |
|
![]() |
![]() |
![]() |
#8 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]() Цитата:
Вы берете только куски кода, которые я выложил, но не обращаете внимания на пояснения. Некоторые места я описываю словами. ps Когда выкладываете код, заключайте его в теги CODE ("#" на панели в окне редактирования).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
![]()
Все равно не получается... что то не так я расставляю, подскажите как пожалуйста.
|
![]() |
![]() |
![]() |
#10 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Потому что нужно не просто расставлять, а думать, куда что нужно поставить. А вы это делать, похоже, не хотите.
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с текстом(C++) | silent_witcher | Помощь студентам | 1 | 13.12.2008 17:55 |
Работа с текстом | vinimixer | Общие вопросы Delphi | 0 | 07.11.2008 21:19 |
Работа с текстом.[C] | DropYourWeapon | Общие вопросы C/C++ | 3 | 15.10.2008 21:55 |
работа с текстом | pupil | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 15.03.2008 14:00 |
Работа с текстом | Sanek_ntsk | Общие вопросы C/C++ | 10 | 12.01.2008 19:42 |