Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
3 / 4 / 1
Регистрация: 27.02.2016
Сообщений: 304

Поиск текста в Memo

28.10.2016, 16:38. Показов 5760. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно найти такой текст: "chat_id":82
Где изменяющийся текст это 82 , вместо 82 может быть 71 и тд, а "chat_id": остается неизменным.
Нужно найти этот (82) текст и внести его в переменную типа string
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2016, 16:38
Ответы с готовыми решениями:

Поиск текста в Memo
В Form1 в Memo1 загружается файл. После нажатия кнопки "Открыть Memo2", открывается Form2. Нужно, чтобы после нажатия кнопки...

Поиск и замена текста в memo
Нужна помощь в написании небольшой программы. Есть текстовый документ с которого загружается информация в memo. В файле содержится вот...

Поиск текста из Edit в переменной и вывод найденного в Memo
Всем привет. Прошу помощи так как сам разобратся не могу уже целый день. (Только еще начинаю изучать Delphi) Загружаю txt с профелями в...

24
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
29.10.2016, 22:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Vadim14 Посмотреть сообщение
не только в этой строке, а выше строки или ниже
так в какой тогда? пожалуйста, полностью опишите задачу.
я ведь специально так и сделал. все по примеру который вы мне показали
0
3 / 4 / 1
Регистрация: 27.02.2016
Сообщений: 304
29.10.2016, 22:49  [ТС]
chat_id может быть и выше, и ниже, и в той же строке, что и найдено body
0
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
29.10.2016, 22:57
Vadim14, строки записаны так как на моем последнем скриншоте??? пожалуйста, обратите внимание на то что я вам писал ранее:
Цитата Сообщение от cfbogd Посмотреть сообщение
у МЕМО поставьте в ScrollBars значение ssBoth, чтобы не переносились строки
Добавлено через 5 минут
не мучайте меня, пришлите файл с входными данными
0
3 / 4 / 1
Регистрация: 27.02.2016
Сообщений: 304
29.10.2016, 23:15  [ТС]
Все работает Можно exit заменить на поиск следующего слова? Если слово бло бло бло бло не нашлось не выходить из процедуры, а искать еще несколько слов. Ну дальше уже, как всегда искать chat_id рядом с найденным словом.

Если делать так:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
...
begin
if pos('body":"'+poisk[0],memo1.text)=0 then //exit; //âûéòè åñëè íåòó ñòðîêè
for i:=0 to memo1.Lines.Count-1 do //èùó ñòðîêó â memo
 if pos('body":"'+poisk[0],memo1.Lines.Strings[i])<>0 then
 begin //êîòîðàÿ èìååò òàêîé òåêñò: 'body":"'+poisk
 stpos:=i; //ïðèñâàèâàþ ïåðåìåííîé stpos èíäåêñ ñòðîêè
 break; //êîìïîíåíòà ÌÅÌÎ.
end;
if pos('"chat_id":',memo1.Lines.Strings[stpos])=0 then //exit; //âûéòè åñëè íåòó '"chat_id":' â ñòðîêå
start:=pos('"chat_id":',memo1.Lines.Strings[stpos])+length('"chat_id":'); //ïîä èíäåêñîì stpos
while memo1.Lines.Strings[stpos][start] in ['0'..'9'] do
begin //èùó chatId, ýòî óæå çíàêîìûé âàì êîä
chatid:=chatid+memo1.Lines.Strings[stpos][start];
inc(start);
end;
//showmessage(chatid);
edit3.Text:=chatid; //âûâîæó chatId
 
if pos('body":"'+poisk[0],memo1.text)=0 then //exit; //âûéòè åñëè íåòó ñòðîêè
for i:=0 to memo1.Lines.Count-1 do //èùó ñòðîêó â memo
 if pos('body":"'+poisk[0],memo1.Lines.Strings[i])<>0 then
 begin //êîòîðàÿ èìååò òàêîé òåêñò: 'body":"'+poisk
 stpos:=i; //ïðèñâàèâàþ ïåðåìåííîé stpos èíäåêñ ñòðîêè
 break; //êîìïîíåíòà ÌÅÌÎ.
end;
if pos('"chat_id":',memo1.Lines.Strings[stpos])=0 then //exit; //âûéòè åñëè íåòó '"chat_id":' â ñòðîêå
start:=pos('"chat_id":',memo1.Lines.Strings[stpos])+length('"chat_id":'); //ïîä èíäåêñîì stpos
while memo1.Lines.Strings[stpos][start] in ['0'..'9'] do
begin //èùó chatId, ýòî óæå çíàêîìûé âàì êîä
chatid:=chatid+memo1.Lines.Strings[stpos][start];
inc(start);
end;
//showmessage(chatid);
edit3.Text:=chatid; //âûâîæó chatId
end;
То будет не очень хорошо...
0
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
29.10.2016, 23:48
Vadim14, в вашем алгоритме должно все быть чётко. каждому значению body, должно соответствовать свое единственное значение chat_ID. Текст перед обработкой нужно отформатировать, чтобы все было в одну строку, строго по правилу "чтения" программы. То что вы хотите сделать не очень правильно. Ведь тогда значения будут разными и собственно программа ваша будет работать неправильно. Если не секрет, какова суть вашей программы? для чего она?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2016, 23:48

Поиск текста с переходом на следующее слово в Memo через FindDialog1
Здравствуйте, как реализовать поиск текста с переходом на следующее слово в Memo через FindDialog1?

Перенос текста из Memo в Memo (Drag&Drop)
Подскажите как осуществить перетаскивание текста из memo в memo в с++ builder???

Показ текста в memo
Добрый день у меня в memo есть длинный текст (что-то наподобие лицензии). Как при просмотре текста в memo можно было удобно двигать текст....

Анализ текста в Memo
Здравствуйте. Нужно составить программу, которая анализирует текст в &quot;Memo&quot;. Например найти в тексте слова begin, end, разделители,...

Загрузка текста в Memo
Здравствуйте, заранее прошу прощения, если такая тема уже была. Проблема заключается вот в чем: Мне нужно загрузить текст в Memo ...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru