|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.05.2009, 12:06 | #1 |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
Работа с текстом
Добрый день мастера, подскажите пожалуйста по работе с текстом в котором есть разделители.... Например есть тест:
Саша,Маша, Гриша, Иван,Самолет,Степа Опа,Жизнь, Гриша, Кирил, Кран, Автобус и.т.д. строк много, как сделать так чтобы остался текст только между третьей и 4 запятой..? Пробелов может быть разное колличество между словами.... Спасибо!!! |
04.05.2009, 12:14 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Ну будет счетчик запятых.
Идете посимвольно по тексту. Пропускаете все пробелы. Если встретили запятую - увеличиваем счетчик. Если счетчик = 3, то при проходе пишем символы куда надо. Если счетчик = 4, то выходим. Как-то так.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
04.05.2009, 12:17 | #3 |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
Я понимаю что как то так...)) А как реализовать... а новечек совсем...)
|
04.05.2009, 12:36 | #4 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Кидайте на форму 2 Мемо. Первый - для исходного текста, второй - для того, что нужно отобрать. Еще нужна кнопка. В обработчик кнопки пишете: Код:
cnt - счетчик запятых len - длина исходного текста. Дальше тело обработчика. Очистим Мемо2, чтобы там не было ничего лишнего. Код:
Код:
Дальше запускаем цикл: Код:
Для начала, пропустим все пробелы: Код:
Если является, то увеличиваем счетчик запятых и счетчик i. Теперь перед нами текст. Пройдем по нему до первого пробела или запятой. И если cnt = 3, то будем писать символы в Memo2. Код:
А теперь соедините это все вместе и получите рабочую программу.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
04.05.2009, 13:00 | #5 | |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
Цитата:
|
|
04.05.2009, 13:29 | #6 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
В любом случае, если у Вас что-то не работает, то я не телепат, и не могу сказать что именно и почему. Выкладывайте код.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
04.05.2009, 13:46 | #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. вот.. что не так?? |
|
04.05.2009, 13:53 | #8 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Вы берете только куски кода, которые я выложил, но не обращаете внимания на пояснения. Некоторые места я описываю словами. ps Когда выкладываете код, заключайте его в теги CODE ("#" на панели в окне редактирования).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
04.05.2009, 14:48 | #9 |
Пользователь
Регистрация: 23.03.2009
Сообщений: 85
|
Все равно не получается... что то не так я расставляю, подскажите как пожалуйста.
|
04.05.2009, 15:07 | #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 |