Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Funktionen (https://www.delphipraxis.net/4661-funktionen.html)

Pseudemys Nelsoni 8. Mai 2003 08:59

Zitat:

welche werte a und b haben hängt davon ab in welcher reihenfolge du deine werte übergibst, dabei wird von links nach rechts gegangen,
dann wirds mir schon ein bisschen klarer ^^


@luckie: wenn das 1. ne function ist, dann jo, kommt hello world

danke für die hilfe ihr 2 :)

achja, 1 noch...wenn ichs so hab:

Delphi-Quellcode:
function add(a, b: Integer): string;
begin
  result := IntToStr(a+b);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a1, b1, c : Integer;
begin
  a1 := 1;
  b1 := 2;
  c := add(a1, b1);
  ShowMessage(IntToStr(c));
end;
was ist daran falsch?kann ich die zahlen während der function nicht in strings umwandeln? die variablen sind ja integer, die funktion sollte ein strng zurückgeben oder?

Pseudemys Nelsoni 8. Mai 2003 09:03

achso, c müsste in der prozedur ein string sein oder

hmm bekomme bei :

Delphi-Quellcode:
function add(a, b: Integer): string;
begin
  result := IntToStr(a+b);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a1, b1: Integer;
  c: string;
begin
  a1 := 1;
  b1 := 2;
  c := add(a1, b1);
  ShowMessage(c);
end;

3 raus obwohl 1+2 (als string) doch 12 ergeben müsste ...hmm :cry:

Luckie 8. Mai 2003 09:03

Tut sie auch, nur bei der Aussageb mit ShowMessage versuchst du einen String noch mal von einem Integer in einen String umzuwandeln.

Bei dem letzten Code, den ich gepostet habe handelt es sich um eine Prozedur keine Funktion!!! Deswegen habe ich den Parameter mit CallByReference (Schlüsselwort: var) übergeben, damit die Prozedur ihn verändern kann. Ansonsten unterscheide sich ja eine Prozedur von einer Funktion darin, dass sie nichts zurückgibt.

Luckie 8. Mai 2003 09:04

Zitat:

Zitat von silent
achso, c müsste in der prozedur ein string sein oder

Das zu dem.

Pseudemys Nelsoni 8. Mai 2003 09:10

bei mir im buch gibts

function malZwei(var a: integer): integer // Call by Reference

und

function malZwei(a: integer): integer // Call by Value



als prozdur gibts das also auch, gut zu wissen , thx =) man ich muss das ganze mal komplett lernen bin da schon über nem jahr dran....

kannst du mir noch sagen wieso bei meinem letzten postb 3 statt 12 rauskam?

gruss silent

Luckie 8. Mai 2003 09:15

Du addierst doch Integers und wandelst dann das Ergebnis in einen String um.

Pseudemys Nelsoni 8. Mai 2003 09:18

wie könnt ichs denn vorher in strings umwandeln und dann addieren?
genauso wie in ner prozedur, also

function....
var var1, var2: string;
begin
var1 := IntToStr(a);
var2 := IntToStr(b);
result := a+b;
end;

so?

Luckie 8. Mai 2003 09:20

Zitat:

Zitat von silent
wie könnt ichs denn vorher in strings umwandeln und dann addieren?

Was willst du jetzt machen?

Pseudemys Nelsoni 8. Mai 2003 09:23

also 2 integers in der function zu einem string umwandeln

weil mir das komisch vorkommt das überall dann variablen vorkommen würden
also:

function irgendwas(a: integer): string
var v1, v2: string;
begin
v1 := IntToStr(a);
v2 := IntToStr(b);
result := a+b;
end;


ist das richtig? *G

Luckie 8. Mai 2003 09:26

Delphi-Quellcode:
function(a, b: Integer): String;
begin
  result := IntToStr(a)+IntToStr(b);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz