Главная страница
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.009 c
2-1279601277
Андрей_1
2010-07-20 08:47
2010.10.10
Цвет шрифта DBGrid


6-1222250421
Aiden
2008-09-24 14:00
2010.10.10
Проблема с передачей данных методом POST через TWebBrowser


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


15-1278992831
картман
2010-07-13 07:47
2010.10.10
Интерфейс


6-1226223112
diks
2008-11-09 12:31
2010.10.10
Помогите с кодом в CodeGear RAD Studio 2007