![]() |
function zum vergleichen zweier zahlen
Ich möchte ein programm schreiben, welches zwei werte in einer function miteinander vergleicht und an die procedur true oder fals als Boolean zurückgibt. Hier ist mal mein code, irgenwas funzt hier nicht... kann mir einer sagen was?
mfg der frosch :oops:
Delphi-Quellcode:
p.s.: er macht da irgendwie probleme mit string und boolean...
function pruefen (a,b:string):boolean;
begin if a = b then pruefen:=true else pruefen:=false; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Durch:Integer; PIN1,PIN2,ergebnis:string; begin PIN1:=(edit1.text); PIN2:='666'; durch:=+1; label1.caption:=Inttostr(durch); ergebnis:=(pruefen(pin1,pin2)); if pruefen := true then panel1.Caption:='true' else panel1.Caption:='false'; end; |
Re: function zum vergleichen zweier zahlen
Wenn du statt 'pruefen' 'result' einsetzt, sollte es funktionieren.
ciao, Philipp |
Re: function zum vergleichen zweier zahlen
Hi,
Es haben sich ein paar Fehler in deinen Code geschlichen. So sollte es funktionieren:
Delphi-Quellcode:
function pruefen(a, b: string): Boolean;
begin if a = b then pruefen := True else pruefen := False; end; procedure TForm1.Button1Click(Sender: TObject); var Durch: Integer; PIN1, PIN2: string; ergebnis: Boolean; begin PIN1 := (edit1.Text); PIN2 := '666'; durch := +1; Label1.Caption := IntToStr(durch); ergebnis := (pruefen(pin1, pin2)); if ergebnis = True then panel1.Caption := 'true' else panel1.Caption := 'false'; end; |
Re: function zum vergleichen zweier zahlen
Zitat:
Üblicher ist aber 'Result'. |
Re: function zum vergleichen zweier zahlen
@c113plpbr
Das spielt keine Rolle ob man den Funktionsname oder Result schreibt. Das mit dem Funktionsnamen rührt glaube ich noch aus TP zeiten. mfg Tobias |
Re: function zum vergleichen zweier zahlen
Du kannst dir die ganze funktion auch sparen. Schreib doch einfach:
Delphi-Quellcode:
Was hat das durch(integer) damit zu tun?
PIN1 := Edit1.text;
PIN2 := '666'; if PIN1 = PIN2 then panel1.caption := 'true' else panel1.caption := 'false'; Nicolai |
Re: function zum vergleichen zweier zahlen
@Nicolai1605 :das "durch" is nur n zähler...
und das ich mir die function sparren kann is mir klar, doch ich wollte es mal so probieren... also schon mal thx für die schnellen antworten, doch in der zeile
Delphi-Quellcode:
macht er immernoch probleme... er schreibt: nicht genügend wirkliche parameter
ergebnis:=(pruefen(pin1,pin2));
|
Re: function zum vergleichen zweier zahlen
du musst als rückgabewert der function ein String nehmen, sonst kann er nicht ergebnis zugewiesen werden!!
|
Re: function zum vergleichen zweier zahlen
es ist schon richtig das der rückgabewert der function vom Typ Boolean ist
[edit] dann muss die variable ergebnis auch vom typ boolean sein [edit] :-D |
Re: function zum vergleichen zweier zahlen
thx, aber was denn jez? :gruebel:
|
Re: function zum vergleichen zweier zahlen
Wenn der Rückgabe wert der Funktionvom Typ boolean ist, dann muss die Variable der du den Wert zuweisst auch vom typ boolean sein.
Auf jeden Fall müssen die beiden vom gleichen Typ sein d.h. du kannst natürlich auch einen String oder sonstwas nehmen. |
Re: function zum vergleichen zweier zahlen
ja, dass habe ich ja schon gemacht und es funzt immer noch nicht... kann mir jemand sagen warum?
Delphi-Quellcode:
function pruefen (a,b:String):boolean;
public { Public-Deklarationen } end; var Form1: TForm1; implementation function pruefen (a,b:string):boolean; begin if a = b then pruefen:=true else pruefen:=false; end; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Durch:Integer; PIN1,PIN2:string; ergebnis:boolean; begin PIN1:=(edit1.text); PIN2:='666'; durch:=+1; label1.caption:=Inttostr(durch); ergebnis:=(pruefen(pin1,pin2)); if ergebnis = true then panel1.Caption:='true' else panel1.Caption:='false'; end; end. |
Re: function zum vergleichen zweier zahlen
Hallo KermitFrosch,
so müsste es dann funzen.
Delphi-Quellcode:
Du musst die Funktion, welche du in der Interface-Sektion deklarierst, auch entsprechend in dem Implementation-Teil deklarieren.
function TForm1.pruefen (a,b:string):boolean;
begin if a = b then pruefen:=true else pruefen:=false; end; Tschüß Markus |
Re: function zum vergleichen zweier zahlen
HI
Also ehrlich gesagt weis ich da auch nicht weiter habe aber noch eine kleine Verbesserung im Quellcode: :wink: Anstatt
Delphi-Quellcode:
geht auch
function pruefen (a,b:string):boolean;
begin if a = b then pruefen:=true else pruefen:=false; end;
Delphi-Quellcode:
function pruefen (a,b:string):boolean;
begin pruefen := a=b; end; |
Re: function zum vergleichen zweier zahlen
:wall: Ohhh wie blöööd von mir :wall:
also thx... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:07 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