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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.08.2007, 19:21
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию помогите со строкой

Привет
Есть строка
1234 88888 9999999 width/left
Нужно извлечь из нее width и left
Спасибо.
Ответить с цитированием
  #2  
Старый 17.08.2007, 19:45
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от aleksnine
Привет
Есть строка
1234 88888 9999999 width/left
Нужно извлечь из нее width и left
Спасибо.
Всмысле ты имеешь ввиду что width и Height будут цифры. или прямо строчки?
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
  #3  
Старый 17.08.2007, 19:51
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Не
Мне нужно извлечь слова.
Для примера взял , что первое пришло в голову.
width и left .

Слова и цифры могут быть любыми.
Пробелов будет столько , сколько в этой строке.
Знак / тоже будет в том же месте где и в примере.
Тоесть строка может быть
2121 777777777777 3443 left/right
Т.e нужно слово после 3го пробела и после знака /
Ответить с цитированием
  #4  
Старый 18.08.2007, 00:21
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Вот. StrIn - строка в которой ищем слова, Word1 - слово перед /, Word2 - слово после /.
Код:
procedure GetWords(StrIn : String; var Word1, Word2 : String);
var
  i : Integer;
begin
  Word1 := '';
  Word2 := '';
  if (Length(StrIn) < 9) or (Pos(' ', StrIn) = 0) or (Pos('/', StrIn) = 0) then
    Exit;
  i := Length(StrIn);
  while StrIn[i] <> '/' do begin
    Word2 := StrIn[i] + Word2;
    i := i - 1;
  end;
  i := i - 1;
  while (i <> 0) and (StrIn[i] <> ' ') do begin
    Word1 := StrIn[i] + Word1;
    i := i - 1;
  end;
end;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #5  
Старый 18.08.2007, 00:58
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Еще один вариант реализации:
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
  sString1  : String;
  sString2  : String;
  I         : Integer;
  iPos      : Integer;
begin

  i:=0;
  while I < 3 do
  begin
    iPos := PosEx(' ',Label1.Caption,iPos + 1);
    Inc(I);
  end;

  sString1 := MidStr(Label1.Caption,iPos+1,(PosEx(' ',Label1.Caption,iPos+1))-iPos-1);
  sString2 := MidStr(Label1.Caption,Pos('/',Label1.Caption)+1, Length(Label1.Caption));

end;
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #6  
Старый 18.08.2007, 08:36
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Спасибо всем за ответы.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter