![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
string
zdm © (2006-07-12 14:25:00)есть переменная :string
значение 1.2.33.445
нужно выхватить последнее после точки значение (444)
SergP (2006-07-16 15:36:00) [1]> [11] Ильдар © (16.07.06 14:52)
> var i,j:integer; slovo,slovo1:string;
> .......
> for i:=1 to length(slovo) do
> if slovo[i]='.' then
> for j:=i+1 to length(slovo) do
> slovo1:=slovo1+slovo[j];
> ........
Ну и что у тебя получится? :-)
Ильдар (2006-07-16 14:52:00) [2]var i,j:integer; slovo,slovo1:string;
.......
for i:=1 to length(slovo) do
if slovo[i]='.' then
for j:=i+1 to length(slovo) do
slovo1:=slovo1+slovo[j];
........
IceBeerg (2006-07-12 18:51:00) [3]Хе-хе, а если "заюзать" ExtractFileExt?
zdm (2006-07-12 14:36:00) [4]Всем большое спасибо
Mozgan (2006-07-12 14:31:00) [5]Да-да! чета тормозить стал. Действительно с конца строки на самое начало! В ЦИКЛЕ
Dmitrij_K (2006-07-12 14:31:00) [6]
function Functiya(const sss: string): string;
var
I: Integer;
begin
I := LastDelimiter('.', sss);
if (I > 0) and (sss[I] = '.') then
Result := Copy(sss, I+1, MaxInt) else
Result := '';
end;
Джо (2006-07-12 14:30:00) [7]> [3] zdm (12.07.06 14:26)
> Поподробней пожалуйста
Заводишь цикл, в котором идешь с конца строки к ее началу до первой встретившейся точки, копируя символы в новую строку.
Джо (2006-07-12 14:29:00) [8]Даже без Copy, пожалуй.
Mozgan (2006-07-12 14:29:00) [9]Полагаю, что сначала нужно пробежаться по всей строке от начала до последней позиции - испльзyй Length. for i:=0 to Length (st) do.... потом копируем в другую переменную с помощью Copy последние 3 символа.
zdm (2006-07-12 14:26:00) [10]в смысле (445)
Джо (2006-07-12 14:26:00) [11]> нужно выхватить последнее после точки значение (444)
Последнее после точки значение — "445" ;>
Используй цикл, поэлементный доступ к строке [] и функцию Copy.
zdm (2006-07-12 14:26:00) [12]Поподробней пожалуйста