![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
хвостовые пробелы
dim2001 © (2006-10-05 13:22:00)подскажите как отбросить хвостовые пробелы в строке
Думкин (2006-10-07 06:03:00) [1]> Anatoly Podgoretsky © (07.10.06 01:10) [33]
Про 15 - вторая функция.
Anatoly Podgoretsky (2006-10-07 01:10:00) [2]Или речь про 15?
Anatoly Podgoretsky (2006-10-07 01:10:00) [3]Это не счетчик цикла, а обычная переменная, поэтому нормально.
SergP (2006-10-06 22:35:00) [4]> Ну а зачем переписывать стандартные функции Trim с ущемлением
> функциональности, когда без всякого телепатора ясно, что
> автор хочет избавиться не только от пробелов, но и от всех
> незначащих символов, код которых находится до пробела.
Без телепатора можно только догадываться, но никак не знать наверняка...
Gydvin (2006-10-06 08:11:00) [5]Понятно этого я не знал. Впринципе в моем коде можно использовать счетчик (i)
Джо (2006-10-06 08:06:00) [6]> [25] Gydvin © (06.10.06 07:59)
>
> > счетчик цикла используется за его пределами
>
> а по какой причине нельзя использовать?
Потому, что, согласно стандарту языка Паскаль, его значение за пределами цикла неопределено. То есть, совершенно не гарантируется, что в нем будет содержаться какое-то определенное значение.
Думкин (2006-10-06 08:04:00) [7]> когда без всякого телепатора ясно, что автор хочет избавиться
> не только от пробелов,
Это уже филлософия. Сказано про пробелы - значит пробелы.
> Gydvin © (06.10.06 07:59) [25]
А вы уверены в его значении по окончании цикла?
Palladin (2006-10-06 08:04:00) [8]
> а по какой причине нельзя использовать?
для тебя в первую очередь по причине предупреждения компилятора
Loginov Dmitry (2006-10-06 08:00:00) [9]SergP © (06.10.06 7:54) [24]
В [0] речь шла только о пробелах
Ну а зачем переписывать стандартные функции Trim с ущемлением функциональности, когда без всякого телепатора ясно, что автор хочет избавиться не только от пробелов, но и от всех незначащих символов, код которых находится до пробела.
Gydvin (2006-10-06 07:59:00) [10]
> счетчик цикла используется за его пределами
а по какой причине нельзя использовать?
SergP (2006-10-06 07:54:00) [11]> [22] Loginov Dmitry © (06.10.06 07:48)
> вместо
> if s[x] = ' '
> следует писать
> if Ord(s[x]) <= Ord(' ')
>
> о чем и намекали неоднократно
В [0] речь шла толькоо пробелах...
Думкин (2006-10-06 07:50:00) [12]> Loginov Dmitry © (06.10.06 07:48) [22]
Почему?
Loginov Dmitry (2006-10-06 07:48:00) [13]вместо
if s[x] = ' '
следует писать
if Ord(s[x]) <= Ord(' ')
о чем и намекали неоднократно
SergP (2006-10-06 07:46:00) [14]> [18] Думкин © (06.10.06 07:45)
> > SergP © (06.10.06 07:44) [16]
>
> Да увидел. Но дело не в синтаксисе.
а.. понял...
Думкин (2006-10-06 07:45:00) [15]> SergP © (06.10.06 07:44) [16]
Да увидел. Но дело не в синтаксисе.
SergP (2006-10-06 07:45:00) [16]> [15] Gydvin © (06.10.06 07:39)
А компилятор не ругается на использование переменной цикла for за пределами цикла?
Palladin (2006-10-06 07:45:00) [17]
> Gydvin © (06.10.06 07:39) [15]
очень плохо
Думкин (2006-10-06 07:44:00) [18]> Gydvin © (06.10.06 07:39) [15]
Чем не нравится цикл while и почему счетчик цикла используется за его пределами?
SergP (2006-10-06 07:44:00) [19]> [14] Думкин © (06.10.06 07:35)
>
> > while a[i]=#32 and i>0 do dec i;
>
> while (i>0) and (a[i]=#32) do dec i;
знаю... просто писал прямо на форум и не думал о правильно синтаксисе...
кстати там еще одна синтаксическая ошибка есть...
Gydvin (2006-10-06 07:39:00) [20]А как этот?
function ltrim(s: string): string;
var
i, x: integer;
begin
result := '';
if s = '' then exit;
i := 0;
for x := 1 to length(s) do
if s[x] = ' ' then inc(i) else break;
if i > 0 then delete(s, 1, i);
result := s;
end;
function rtrim(s: string): string;
var
x, i: integer;
begin
result := '';
if s = '' then exit;
i := 0;
for x := length(s) downto 1 do
if s[x] = ' ' then inc(i) else break;
if i > 0 then delete(s, x + 1, i);
result := s;
end;