![]() |
|
|
#1
|
|||
|
|||
|
Товарищи! Помогите кодом (очень нужно) есть строка(которая постоянно меняется):
asduay123123:asjasdf342523:234234234:009034953sdf: 234234234 как мне вытаскивать постоянно третье и четвертое слово? 3: 234234234 4: 009034953sdf P.S Заранее благодарен! .... Просидел почти два часа, пришел к этому... Код:
procedure TForm1.sButton1Click(Sender: TObject);
var
i, o : Integer;
begin
for i := 1 to Length (sMemo1.Text) do
if sMemo1.Text[i] = ':' then
for o := i + 1 to Length (sMemo1.Text) do
if sMemo1.Text[o] = ':' then
begin
Memo1.Lines.Add( Copy(sMemo1.Text, i + 1, o) );
break;
end;
end;но все равно не работает Последний раз редактировалось saylar_06, 01.04.2014 в 14:11. |
|
#2
|
||||
|
||||
|
Цитата:
Код:
function NextWord(const Str: String; var Pos: Integer): Integer;
begin
Result := Pos;
Pos := PosEx(':', Str, Pos);
if Pos = 0 then Pos := Length(Str) + 1;
Inc(Pos);
Result := Pos - Result;
end;
function GetWord(const Str: String; var Pos: Integer): String;
var
Pos0: Integer;
begin
Pos0 := Pos;
Result := Copy(Str, Pos0, NextWord(Str, Pos) - 1);
end;
// Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
p: Integer;
begin
s := 'asduay123123:asjasdf342523:234234234:009034953sdf: 234234234';
p := 1; // Начинаем поиск слов с первого символа строки
NextWord(s, p); // Пропускаем первое слово
NextWord(s, p); // Пропускаем второе слово
Memo1.Lines.Add(GetWord(s, p)); // Получаем третье слово
Memo1.Lines.Add(GetWord(s, p)); // Получаем четвёртое слово
end;Цитата:
![]() |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
saylar_06 (01.04.2014)
| ||
|
#3
|
|||
|
|||
|
ты чертовски прав, по этому мы и учимся!
В общем решил задачу сам, но все равно спасибо тебе за помощь! Код:
procedure TForm1.sButton1Click(Sender: TObject);
var
i, a : Integer;
begin
for i := 1 to Length (sMemo1.Text) do
begin
if sMemo1.Text[i] = ':' then
begin
for a := i + 1 to Length (sMemo1.Text) do
begin
if sMemo1.Text[a] = ':' then
begin
Memo1.Lines.Add( Copy( sMemo1.Text, i + 1, a - i - 1 ) );
break;
end;
end;
end;
end;
end; |
|
#4
|
||||
|
||||
|
На bencoding словарь походит.
|