Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Verständnisproblem ... Funktionen und Deklaration (https://www.delphipraxis.net/80758-verstaendnisproblem-funktionen-und-deklaration.html)

Problemmacher 14. Nov 2006 20:21


Verständnisproblem ... Funktionen und Deklaration
 
Guten Abend!

Ich habe vor Delphi zu lernen doch bereits bei den kleinsten Ansätzen habe
ich große Probleme damit, die ganze Logik bzw. Struktur solcher Funktionen
und die Notwendigkeit von StrToInt und ähnlichem zu verstehen ...

Aktuell hab ich folgendes Programm, was jedoch nich läuft ..

Delphi-Quellcode:
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  function RechteckFlaeche(Seite1, Seite2: integer): integer;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function RechteckFlaeche(Seite1, Seite2: integer): integer;
begin
  result := Seite1*Seite2 ;
end;

procedure TForm1.BerechnungButtonClick(Sender: TObject);
var Seite1, Seite2, Ergebnis: integer;
begin

  Seite1 := StrToInt(ASeiteEdit.Text);
  Seite2 := StrToInt(BSeiteEdit.Text);
  Ergebnis := RechteckFlaeche(Seite1, Seite2);

  ABRechteckEdit.Text := Ergebnis;

end;

end.
Habe einen "Inkompatible Typen"-Fehler wegen dem "Ergebnis" und wollte euch
bitten und fragen was daran falsch ist und ob ich die ganze Struktur von den
Funktionne bis dato richtig angewendet habe.

Geht darum, dass ich zwei Seitenlängern hab und eben daraus den Flächeninhalt
berechnen will ... ganz simpel also, aber mittels Funktion!

Vielen Dank für jegliche Hilfe :)!

mkinzler 14. Nov 2006 20:23

Re: Verständnisproblem ... Funktionen und Deklaration
 
Delphi-Quellcode:
ABRechteckEdit.Text := IntToStr(Ergebnis);

Problemmacher 14. Nov 2006 20:26

Re: Verständnisproblem ... Funktionen und Deklaration
 
Oh ok Vielen Dank!

Könnte mir vll. jemand erläutern wann ich immer weiß wann ich sowas
umwandeln muss? Weil wenn ich ehrlich bin hab ich mich beim ersten Fall
auch nur von woanders dran gehalten und den wirklichen Grund wann etwas
"umgewandelt" werden muss weiß ich leider nicht ... wäre sehr freundlich!

mkinzler 14. Nov 2006 20:27

Re: Verständnisproblem ... Funktionen und Deklaration
 
Die typen müssen passen. Da Edit.Text vom Typ String ist mußt du den Integer in einen String wandeln bevor du ihn zuweisen kannst.

Mackhack 14. Nov 2006 20:29

Re: Verständnisproblem ... Funktionen und Deklaration
 
Hi,

ich habs mir damals so gemerkt. StrToInt wenn du einen String hast den du in einen Integer Wert haben willst WEIL einen String kannst du SEHEN, n Integer nicht! Wenn du ne Zahl ausgeben willst brauchst du IntToStr, also etwas was du nicht sehen kannst in etwas was du sehen kannst, naemlich den String! Vlt. hilft dir diese Eselsbruecke ja!

Problemmacher 14. Nov 2006 20:48

Re: Verständnisproblem ... Funktionen und Deklaration
 
Achso Danke .. ich glaube langsam komme ich dahinter, doch nun
hab ich wieder einen anderen Fehler ... wie löse ich das?

Delphi-Quellcode:

function KreisFlaeche(Radius: integer): integer;
begin
  result := Pi*(Radius*Radius);
end;

(...)

  Radius := StrToInt(RadiusEdit.Text);
  Kreisflaeche := KreisFlaeche(Radius);
  KreisEdit.Text := IntToStr(Kreisflaeche);
Extended und Integer -> Inkompatible Typen?

Sorry für die vielleicht doofen Fragen, aber bin totaler Anfänger!

Mackhack 14. Nov 2006 20:52

Re: Verständnisproblem ... Funktionen und Deklaration
 
Nimm mal Round() da Integer ne Ganzzahl ist und Extended ne Kommazahl!

Problemmacher 14. Nov 2006 20:58

Re: Verständnisproblem ... Funktionen und Deklaration
 
Ja das habe ich mir auch schon gedacht, allerdings
wäre es hierbei schon sehr gut wenn ich so die Kommazahl habe ...
Muss ich dann einen anderen Datentyp als Integer wählen, z.B. Real?

Und dann statt StrToInt -> StrToFloat und umgekehrt und das wars?

mkinzler 14. Nov 2006 21:00

Re: Verständnisproblem ... Funktionen und Deklaration
 
Zitat:

Muss ich dann einen anderen Datentyp als Integer wählen, z.B. Real?
Am Besten Extended

Zitat:

Und dann statt StrToInt -> StrToFloat und umgekehrt und das wars?
ja aber besser wäre TryStrToFloat

Problemmacher 14. Nov 2006 21:26

Re: Verständnisproblem ... Funktionen und Deklaration
 
Ok ich habs geschafft =) ... bin nun darauf gekommen ...

Delphi-Quellcode:
RechteckEdit.Text := FloatToStrF(ErgebnisAB, ffNumber, 0,2);
Was hat nach ffNumber die erste Zahl (0) zu bedeuten?
Die Zwei dahinter sind ja die Stellen nach dem Komma, aber das
davor krieg ich irgendwie nich raus .. egal ob es 0 oder 8 ist,
da kommt immer das gleiche raus - Also wozu soll das denn gut sein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr.
Seite 1 von 2  1 2      

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