Хвостові прогалини

підкажіть як відкинути хвостові прогалини в рядку

Навіщо відкидати, він же знову відросте!

А якщо серйозно:

procedure LTrim(var s: string);

while ((length(s) > 0) and

procedure RTrim(var s: string);

while ((length(s) > 0) and

(s[Length(s)] = #32)) do

Delete(s, Length(s), 1);

procedure Trim(var s: string);

>[3] SerJaNT(c) 6-Oct-2006, 04:17більше такого не пиши. нехай вивчати стандартні бібліотеки. %-)

Втім, Думкін у [11] вже відповів :)

Ну наприклад за таким принципом: . i:=length(a); while a[i]=#32 and i>0 do dec i; setlength(a,i); .

> while a[i]=#32 and i>0 do dec i;while (i>0) and (a[i]=#32) do dec i;

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;

знаю. просто писав прямо на форум і не думав про правильно синтаксис. до речі, там ще одна синтаксична помилка є.

А чи компілятор не лається на використання змінної циклу for за межами циклу?

замість if s[x] = " " слід писати if Ord(s[x])

У [0] йшлосятількипро прогалини.

> лічильник циклу використовується поза його межамиа чому не можна використовувати?

> а пояку причину не можна використовувати?для тебе в першу чергу через попередження компілятора

Зрозуміло, цього я не знав. У принципі в моєму коді можна використовувати лічильник (i)

Без телепатора можна тільки здогадуватися, але не знати напевно.

Це не лічильник циклу, а звичайна змінна, тож нормально.