Delphi Studio » Уроки » Copy Pos (Примеры на Delphi) »

 
 
 
Приветствуем нового пользователя: IvanPetrovich
 
Реклама на сайте

Copy Pos (Примеры на Delphi)

Автор: SkyLine32 | 16-05-2011, 17:09 | Просмотров: 627 | Категория: Уроки

2
Copy Pos (Примеры на Delphi)

Этот урок будет полезен для начинающим программистам которые хотят знать, как пользоваться функцией Copy и Pos. Для этого я решил привести несколько примеров на Delphi

К примеру вам нужно вытащить из email только логин, для этого:
procedure TForm1.Button1Click(Sender: TObject);
var
  str1, str2, str3: string;
  P: Integer;
begin
  str1 := '[email protected]'; // Наш пример email адреса
  str2 := '@'; // До этого символа мы будем потом вырезать логин
  P := Pos(str2, str1) - 1; // Узнали длину строки от начала до символа '@'. В нашем примере это будет 11
  str3 := Copy(str1, 0, P); // Теперь в переменной str3 хранится наш логин без '@mail.ru'
  Label1.Caption := str3; // Выводим результат
end;

Пример выше служит только для разъяснения, его можно написать чуть короче:
procedure TForm1.Button1Click(Sender: TObject);
var
  str1, str2: string;
begin
  str1 := '[email protected]';
  str2 := '@';
  Label1.Caption := Copy(str1, 0, Pos(str2, str1) - 1);
end;

Но что если нам нужно узнать не логин а домен? Для этого нам понадобится функция Length:
procedure TForm1.Button1Click(Sender: TObject);
var
  str1, str2, str3, str4: String;
  P: Integer;
begin
  str1 := '[email protected]';
  str2 := '@';
  P := Pos(str2, str1); // Узнали длину строки от начала до символа '@'
  str3 := IntToStr(Length(str1)); // В переменной str3 хранится длина строки нашего email
  str4 := Copy(str1, P + 1, StrToInt(str3)); // Здесь мы при помощи Copy делаем вот что:
  // str1 - в этой переменной будет происходить действия
  // P + 1 - в P хранилась длина строки от начала до символа '@' и + 1 - значит исключаем этот символ
  // StrToInt(str3) - длина всей строки
  // В итоге функция Copy в переменной str1 вычисляет от переменной P+1 и до конца всей строки, то есть до StrToInt(str3) и запишет в переменную str4 уже готовый наш домен
  Label1.Caption := str4; // Выводим результат
end;

Этот пример так же был для описания действий, вот наиболее короткий пример:
procedure TForm1.Button1Click(Sender: TObject);
var
  str1, str2: String;
begin
  str1 := '[email protected]';
  str2 := '@';
  Label1.Caption := Copy(str1, Pos(str2, str1) + 1, Length(str1));
end;

На этом пожалуй всё, если будут вопросы по функциям Copy и Pos то пишите в этом уроке. Удачи!
Прямая ссылка на страницу: HTML ссылка: Ссылка для форумов:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
  • Публикаций: 0
  • Комментариев: 2
  • ICQ: 339695227
  • OffLine
  • Группа: Посетитель
  • Регистрация: 15.05.2011
  • Добавлено: 15 мая 2011 21:12
 
...Уважаемый админ ! ...а как например можно "выдирать" свежие, неповторяющиеся объявления на сайте недвижимости...?
...спасибо за ответ ...

<
  • Публикаций: 15
  • Комментариев: 31
  • ICQ: 623372580
  • OffLine
  • Группа: Посетитель
  • Регистрация: 3.04.2011
  • Добавлено: 16 мая 2011 09:18
 
Pasharon,
Парсить, есть пару статей об этом на сайте, в поиск введи

--------------------

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 
-й день
Онлайн:
rss