Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.12.2010, 16:38
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
Восклицание что не так!

Ответить с цитированием
  #2  
Старый 27.12.2010, 16:39
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

ищю слово "вопрос" и при нахождении копирую от символа "- (" до "):" верно ли?
Ответить с цитированием
  #3  
Старый 27.12.2010, 16:41
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Ясно что не верно

Функция копи работает так:

copy('мегострока',2,3) = 'его'

А ругается так как ты вместо числа хочешь поставить ):

Последний раз редактировалось Konrad, 27.12.2010 в 16:44.
Ответить с цитированием
  #4  
Старый 27.12.2010, 16:45
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

как мне тогда из переменной Msg скопировать символы между - ( и ):
Ответить с цитированием
  #5  
Старый 27.12.2010, 16:47
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от ALexandr555
как мне тогда из переменной Msg скопировать символы между - ( и ):

Найти положение n1 (, найти положение n2 ) далее скопировать от n1 (n2-n1) символов:
PHP код:
сору(Мsg,n1,n2-n1). 
+-1)
Ответить с цитированием
  #6  
Старый 27.12.2010, 16:58
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Код:
  len := Pos('Вопрос', Msg);
  if len > 0 then
  begin
    start := PosEx('-(', Msg, len) + 2;
    len := PosEx('):', Msg, len) - start;
    a := copy(Msg, start, len);
  end;
__________________
Меня греют ваши плюсы к моей репутации...
Ответить с цитированием
  #7  
Старый 27.12.2010, 17:05
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Код:
n1:=pos('- (',Msg);
  n2:=pos('):',Msg);
  a:=strTOint(copy(Msg,n1,n2-n1));
  Memo2.Lines.add(intTOstr(a));
вот сделал но в "a" почемуто ничего не забивается.
Ответить с цитированием
  #8  
Старый 27.12.2010, 17:19
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Способ BoRoV'а тоже не работает
Ответить с цитированием
  #9  
Старый 27.12.2010, 17:21
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от ALexandr555
Способ BoRoV'а тоже не работает
Я ж написал +-1)
Тоесть посмотри, копи может захватывает лишние символы, или не дозахватывает
Ответить с цитированием
  #10  
Старый 27.12.2010, 17:26
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

в msg текст такого вида
[Вопрос № - (674):
[Вопрос № - (8468):


Код:
a:=strTOint(copy(Msg,n1,n2-n1+или-1));
сдесь имеете ввиду?
Ответить с цитированием
  #11  
Старый 27.12.2010, 17:28
Аватар для BoRoV
BoRoV BoRoV вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 193
Репутация: 12694
По умолчанию

Мой прекрасно работает. Ты хотя бы описал бы лучше ситуацию. Мой работает при условии, что после вопроса идут эти скобки.

А ты правильно написал, вначале тебе нужно было искать "-(", а потом ты приводишь код где ищешь "- (".

Исправь в моем это:
Код:
start := PosEx('- (', Msg, len) + 3;
и всё будет работать.
__________________
Меня греют ваши плюсы к моей репутации...

Последний раз редактировалось BoRoV, 27.12.2010 в 17:33.
Ответить с цитированием
  #12  
Старый 27.12.2010, 17:29
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от ALexandr555
в msg текст такого вида
[Вопрос № - (674):
[Вопрос № - (8468):


Код:
a:=strTOint(copy(Msg,n1,n2-n1+или-1));
сдесь имеете ввиду?

Выведи
PHP код:
Edit1.text:=copy(Msg,n1,n2-n1
И закинь сюда что получилось.
Ответить с цитированием
  #13  
Старый 27.12.2010, 17:34
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

от этого Вопрос № - (96):закинулось
- (96
Ответить с цитированием
  #14  
Старый 27.12.2010, 17:36
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от ALexandr555
от этого Вопрос № - (96):закинулось
- (96

В своем коде смени строку на
PHP код:
n1:=pos('- (',Msg)+3

Получилось?

Последний раз редактировалось Konrad, 27.12.2010 в 17:41.
Ответить с цитированием
  #15  
Старый 27.12.2010, 17:45
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Благодарю, теперь ясно все, остался последний вопрос.
Как к примеру с текстового файла "zzz" в 5 строчке откопировать от ', ' до '); Думаю как откопировать разберусь, вот что не пойму то как задать копирование именно с 5 строчки или любой другой.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025