Главная страница
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.008 c
11-1224874964
AnarchyMob
2008-10-24 23:02
2010.10.10
Использование диологовых окон из ресурсов


2-1279354024
Student :)
2010-07-17 12:07
2010.10.10
программно свернуть чужую программу


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


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


2-1279280809
Jacksotnik
2010-07-16 15:46
2010.10.10
Непонятное что-то с запросом