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

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

хвостовые пробелы


Страницы:   1 2

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;


Страницы:   1 2

Наверх

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