Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.10;
Скачать: CL | DM;

Вниз

Помогите написать (оформить) функцию   Найти похожие ветки 

 
azamatufa ©   (2010-07-16 13:04) [0]

Привет Гуру!
1. Чтоб можно было ей передать необязательный параметр ID:integer=0 (по умолчанию 0)
2. Чтобы она возвращала boolean а также TStrings.
Вопрос: нет ли ошибок?
----------- сама функция -----------------
function CheckBase(var list_:TStrings; ID:integer=0):boolean;
begin
 Result := false;

 if ID <> 0 then
   list_.Add("with ID:" + IntToStr(ID))
 else
   list_.Add("no ID");
end;

------  вызов  ----------------------
procedure TMainForm.Button3Click(Sender: TObject);
var
 err_list:TStrings;
begin
 err_list := TStringList.Create;

 if not CheckBase(err_list) then
   Memo1.Lines := err_list;

 if not CheckBase(err_list,77) then
   Memo1.Lines := err_list;

 err_list.Free;
end;

--------------------

Спасибо!


 
Медвежонок Пятачок ©   (2010-07-16 13:06) [1]

function CheckBase(list_:TStrings; ID:integer=0):boolean;


 
azamatufa ©   (2010-07-16 13:23) [2]


> Медвежонок Пятачок

А скажите, в чем различие между:

function CheckBase(list_:TStrings; ID:integer=0):boolean;
function CheckBase(var list_:TStrings; ID:integer=0):boolean;
function CheckBase(var list_:TStrings; const ID:integer=0):boolean;


результат, вроде, одинаков...


 
Юрий Зотов ©   (2010-07-16 13:26) [3]


> azamatufa ©   (16.07.10 13:23) [2]

Параметр list_ уже и так ссылка. Передавать ссылку по ссылке незачем.


 
Медвежонок Пятачок ©   (2010-07-16 13:28) [4]

результат, вроде, одинаков...

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


 
Anatoly Podgoretsky ©   (2010-07-16 13:42) [5]

> azamatufa  (16.07.2010 13:04:00)  [0]

Спрашивается зачем нужна функция, если ее значение не меняется?


 
azamatufa ©   (2010-07-16 13:52) [6]


> Anatoly Podgoretsky

я же максимально упрощаю код, чтоб ответчикам было удобно..

А то бывают тут...  тонну кода бросают и говорят "у меня это не работает!" )))

Спасибо всем за ответы!


 
И. Павел ©   (2010-07-16 13:56) [7]

function CheckBase(var list_:TStrings; const ID:integer=0):boolean;

В этом случае будет передана ссылка на ID. И уже по ней будет осуществляться доступ к ID.
А если без const, то в функцию передастся копия ID.
В обоих случаях 4 байта, так что смысла ставить const тут нет.



Страницы: 1 вся ветка

Текущий архив: 2010.10.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
2-1279601277
Андрей_1
2010-07-20 08:47
2010.10.10
Цвет шрифта DBGrid


2-1278925532
linuxoid
2010-07-12 13:05
2010.10.10
помогите с пингом


3-1246004813
kudatsky
2009-06-26 12:26
2010.10.10
Проблемма с функцией CAST()


15-1278780157
Jeer
2010-07-10 20:42
2010.10.10
Вот и я дошел до этой жизни..


2-1279379714
PinDOS
2010-07-17 19:15
2010.10.10
Ограничение доступных свойств и методов объекта