Niech mi ktoś powie, czy to wystarczy że mam:
[code]function nazwa(blabla:string):string
begin
blabla:=blabla+'xyz';
end;
text:=blabla('abc');
edit1.text:=text;[/code]
I jak dobrze kapuje, to w edit1 powinno pokazać się abcxyz, czyż nie ??
Niech mi ktoś powie, czy to wystarczy że mam:
[code]function nazwa(blabla:string):string
begin
blabla:=blabla+'xyz';
end;
text:=blabla('abc');
edit1.text:=text;[/code]
I jak dobrze kapuje, to w edit1 powinno pokazać się abcxyz, czyż nie ??
Hmmm, chyba nie :(
function Nazwa(blabla: String): String;
begin
Result := blabla + 'xyz';
end;
I będzie OK.
[b]Dopisane[/b]:
Użycie to:
Edit1.Text := Nazwa('abc');
wtedy w Edit1 pokaże się abcxyz.
Wydaje mi się, że powinno być jeszcze var, czyli
function Nazwa(var blabla: string): string;
Kris
Wydaje mi się, że powinno być jeszcze var
Żeby zrobić to za pomocą var to trzeba tak:
procedure Nazwa(var blabla: String);
begin
blabla := blabla + 'xyz';
end;
Zmienna := 'abc';
Nazwa(Zmienna);
Edit1.Text := Zmienna;
function nazwa(blabla:string):string
begin
blabla:=blabla+'xyz';
end;text:=blabla('abc');
edit1.text:=text;
przede wszystkim na co nikt nie zwrócił uwagi to, to że źle wywołujesz funkcję.
Powinno być tak:
function nazwa(blabla:string):string
begin
Result:=blabla+'xyz';
end;
edit1.text:=nazwa('abc');
I teraz będzie działało :P
Wydaje mi się, że powinno być jeszcze var
Żeby zrobić to za pomocą var to trzeba tak:
procedure Nazwa(var blabla: String);
begin
blabla := blabla + 'xyz';
end;Zmienna := 'abc';
Nazwa(Zmienna);
Edit1.Text := Zmienna;
To co tu napisales to procedura a jemu chyba chodziło o funkcję. :|
poza tym VAR przed parametrem polecam uzywac tylko kiedy do zwrócenia jest wiecej jak jedna rzecz. Patrz np funcja VAL