Главная страница
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.01 c
2-1279537002
GanibalLector
2010-07-19 14:56
2010.10.10
Артефакты HINT а


15-1279008369
ixen
2010-07-13 12:06
2010.10.10
Есть ли такое?


2-1279517915
linuxoid
2010-07-19 09:38
2010.10.10
помогите с потоком


2-1279431185
Study
2010-07-18 09:33
2010.10.10
Работа с файлами концигурации


8-1206411381
VoVan
2008-03-25 05:16
2010.10.10
При кодировании в MP3 отсутствует звук