Главная страница
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
4-1240850870
AndreyRus
2009-04-27 20:47
2010.10.10
hfile собственного процесса


6-1226224895
DOjD
2008-11-09 13:01
2010.10.10
IdHTTP.Post


15-1278388277
boriskb
2010-07-06 07:51
2010.10.10
Проект закона об Интернете


11-1225097570
Demiurg
2008-10-27 11:52
2010.10.10
Lazarus и ошибка "не найден файл"


2-1278947191
Hottabxp
2010-07-12 19:06
2010.10.10
Как написать Dll на Delphi 7 что-бы её можно было использовать ..