![]() |
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:
Habe einen "Inkompatible Typen"-Fehler wegen dem "Ergebnis" und wollte euch
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. 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 :)! |
Re: Verständnisproblem ... Funktionen und Deklaration
Delphi-Quellcode:
ABRechteckEdit.Text := IntToStr(Ergebnis);
|
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! |
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.
|
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! |
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:
Extended und Integer -> Inkompatible Typen?function KreisFlaeche(Radius: integer): integer; begin result := Pi*(Radius*Radius); end; (...) Radius := StrToInt(RadiusEdit.Text); Kreisflaeche := KreisFlaeche(Radius); KreisEdit.Text := IntToStr(Kreisflaeche); Sorry für die vielleicht doofen Fragen, aber bin totaler Anfänger! |
Re: Verständnisproblem ... Funktionen und Deklaration
Nimm mal Round() da Integer ne Ganzzahl ist und Extended ne Kommazahl!
|
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? |
Re: Verständnisproblem ... Funktionen und Deklaration
Zitat:
Zitat:
|
Re: Verständnisproblem ... Funktionen und Deklaration
Ok ich habs geschafft =) ... bin nun darauf gekommen ...
Delphi-Quellcode:
Was hat nach ffNumber die erste Zahl (0) zu bedeuten?
RechteckEdit.Text := FloatToStrF(ErgebnisAB, ffNumber, 0,2);
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. |
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