Форум: "Начинающим";
Текущий архив: 2010.10.10;
Скачать: [xml.tar.bz2];
ВнизПомогите написать (оформить) функцию Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c