![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Два слова в одном тексте [D7, XP]
Gex88 © (2006-11-07 07:25:00)Добрый день ! Помогите с задачей. Есть переменная Str которая ровняется " Владимир Владимирович" Как можно разделить имя от отчества ? Заранее благодарю.
Palladin (2006-11-07 08:01:00) [1]
> Loginov Dmitry © (07.11.06 07:50) [5]
Весьма сомнительно, что используя str вне области видимости переменной str, чел сможет понять в чем ошибка компиляции. Это именно совет для начинающих.
Loginov Dmitry (2006-11-07 07:50:00) [2]Palladin © (07.11.06 7:40) [1]
PS не давай идентификаторам имя Str, бо есть такая функция
С весьма сомнительной полезностью, если есть SysUtils.
Gex88 (07.11.06 7:25)
with TStringList.Create do
try
Text := StringReplace(Str, ' ', sLineBreak, [rfReplaceAll]);
strFirstName := Strings[0];
strLastName := Strings[1];
finally
Free;
end;
Gex88 (2006-11-07 07:46:00) [3]Всем большое спасибо !!!
Elen (2006-11-07 07:44:00) [4]
> Gex88
Ну и еще можно
ListBox1.Items.Delimiter:=' ';
ListBox1.Items.DelimitedText:=<Твоя_переменка>;
Тогда ты получиш список вне зависимости от того вввел ли полностью ФИО или только ФИ 8)
Elen (2006-11-07 07:41:00) [5]
> Gex88
Например паскалевским способом :
var i:integer;q,w,s:string;
begin
s:='Владимир Владимирович';
i:=1; while s[i]<>' ' do inc(i);
q:='Имя - '+copy(s,1,i);
w:='Фамилия - '+copy(s,i,length(s)-i+1);
caption:=q+' '+w;
end;
Palladin (2006-11-07 07:40:00) [6]
Var
n:Integer;
s:String;
strFirstName,strMidName:String;
Begin
s:=Trim(str);
n:=Pos(' ',Trim(s));
strFirstName:=Copy(s,1,n-1);
strLastName:=Copy(s,n+1,Length(s));
End;
PS не давай идентификаторам имя Str, бо есть такая функция