Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Поподробней пожалуйста


Наверх

Титульная страница Поиск, карта сайта Написать письмо