![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать, что бы процедура передавала параметры?
i:word © (2005-12-06 19:59:00)Есть функция
function CheckAndClear(s:string):string; //подпрограмма удаляет первые и последние пробелы в строке
var i:word; // ' 123 abc ' -->'123 abc'
begin
while pos(' ',s)=1 do delete(s,1,1);
i:=length(s);
while ((s[i]=' ') AND (i>1)) do
begin
i:=i-1;
end;
SetLength(s,i);
result:=s;
end;
Что бы вызвать функцию CheckAndClear используется
s:=CheckAndClear(s);
Как сделать, что бы эта функция вызывалась так:
CheckAndClear(s)
Т.Е. как вызывается процедура типа delete без использования глобальных переменных?
i:word (2005-12-06 22:18:00) [1]>Типа, Trim уже не рулит?
Точно, так проще! Про Trim я забыл!
begin...end (2005-12-06 21:43:00) [2]> i:word (06.12.05 19:59)
> подпрограмма удаляет первые и последние пробелы в строке
Типа, Trim уже не рулит?
Хинт (2005-12-06 21:19:00) [3]Ведь специально жирнымвыделил =)
А вообще надо учить уснову - язык Pascal. Передача параметров по ссылке, по значению и т.д. и т.п.
i:word (2005-12-06 21:02:00) [4]А, понял! Я просто слово VARне заметил.
Большое всем спасибо!
Virgo_Style (2005-12-06 20:53:00) [5]i:word (06.12.05 20:46) [2]
[1] именно это и реализует
i:word (2005-12-06 20:46:00) [6]>procedure CheckAndClear(var s:string);
Это ясно, но как от процедуры получить обратно изменённое S ?
Вот процедура delete(s,1,1) изменяет s, но s - не глобальная переменная, как это можно реализовать?
Хинт (2005-12-06 20:40:00) [7]procedure CheckAndClear( vars:string);