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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.03.2007, 03:48
iMaGi2006 iMaGi2006 вне форума
Прохожий
 
Регистрация: 10.03.2007
Сообщения: 2
Репутация: 10
Вопрос Строки, действия с ними...

Помогите новичку!
Допустим есть предложение типа:

Иван Петров (очень клевый чувак). Даже денег должен. 21-58-85, 77-29-98.

Оля Иванова, простая девочка. Ничем не приметная. 758-965

как сделать так, чтобы в одной переменной находилась строка, написанная до номера телефона...а во второй номер(а) телефона?
Ответить с цитированием
  #2  
Старый 12.03.2007, 05:54
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Ищешь позицию первого вхождения числа в строку, разрезаешь строку на две с этой позиции - 1
Ответить с цитированием
  #3  
Старый 12.03.2007, 12:50
Аватар для NiiliT
NiiliT NiiliT вне форума
Прохожий
 
Регистрация: 02.03.2007
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от iMaGi2006
как сделать так, чтобы в одной переменной находилась строка, написанная до номера телефона...а во второй номер(а) телефона?

просто примерчик, быстро набранный... не образец для подражания!!!:
Код:
procedure TfrmRep.Button1Click(Sender: TObject);
var
  sT : string;
  i : integer;
  j : integer;
  k : integer;
begin
  sT := 'Оля Иванова, простая девочка. Ничем не приметная. 758-965';
  j := 255;  
  for i := 0 to 9 do
  begin
    k :=pos(IntToStr(i),sT);
    if (j > k) and (k > 0) then
      j := k;
  end;
  showmessage('первая часть: ' + copy(sT,1, j-1)  + '; вторая часть: '+copy(sT,j, length(sT)-j+1));
end;
Ответить с цитированием
  #4  
Старый 13.03.2007, 11:21
iMaGi2006 iMaGi2006 вне форума
Прохожий
 
Регистрация: 10.03.2007
Сообщения: 2
Репутация: 10
Печаль

Спасибо всем кто ответил....
НО это решение только простой строки, а вот если строка будет вида:

Олеся Иванова, хорошая девочка, 90-60-90 см. Не курит. 8-901-569-89-23
Как быть здесь?
Можно как нибудь сделать копирование символов с конца строки, например до .(точки)?
Ответить с цитированием
  #5  
Старый 13.03.2007, 11:40
Аватар для NiiliT
NiiliT NiiliT вне форума
Прохожий
 
Регистрация: 02.03.2007
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от iMaGi2006
Можно как нибудь сделать копирование символов с конца строки, например до .(точки)?
МОЖНО!!! ...


немного хоть сам попробуй!)_ и напиши что получилось ... и помогу)))
__________________________
ну или кто то просто тупо напишет надо развиваться )_
Ответить с цитированием
  #6  
Старый 13.03.2007, 12:07
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Ну простейший-же парсер.
Две функции:
1. Взять подстроку из строки (по разделителю).
2. Определить как эту подстроку "воспринимать" системе: если в ней больше букв - это слово, если цифр - размеры или телефон.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter