Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi function zum vergleichen zweier zahlen (https://www.delphipraxis.net/19494-function-zum-vergleichen-zweier-zahlen.html)

KermitFrosch 4. Apr 2004 15:17


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:
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;
p.s.: er macht da irgendwie probleme mit string und boolean...

c113plpbr 4. Apr 2004 15:21

Re: function zum vergleichen zweier zahlen
 
Wenn du statt 'pruefen' 'result' einsetzt, sollte es funktionieren.

ciao, Philipp

toms 4. Apr 2004 15:23

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;

toms 4. Apr 2004 15:24

Re: function zum vergleichen zweier zahlen
 
Zitat:

Wenn du statt 'pruefen' 'result' einsetzt, sollte es funktionieren.
Ist egal, ob er 'pruefen' od 'result' nimmt.
Üblicher ist aber 'Result'.

Mirilin 4. Apr 2004 15:25

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

Nicolai1234 4. Apr 2004 15:25

Re: function zum vergleichen zweier zahlen
 
Du kannst dir die ganze funktion auch sparen. Schreib doch einfach:
Delphi-Quellcode:
PIN1 := Edit1.text;
PIN2 := '666';
if PIN1 = PIN2 then panel1.caption := 'true'
else panel1.caption := 'false';
Was hat das durch(integer) damit zu tun?
Nicolai

KermitFrosch 4. Apr 2004 15:45

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:
ergebnis:=(pruefen(pin1,pin2));
macht er immernoch probleme... er schreibt: nicht genügend wirkliche parameter

Nicolai1234 4. Apr 2004 15:48

Re: function zum vergleichen zweier zahlen
 
du musst als rückgabewert der function ein String nehmen, sonst kann er nicht ergebnis zugewiesen werden!!

Michael Leyhe 4. Apr 2004 15:51

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

KermitFrosch 4. Apr 2004 15:53

Re: function zum vergleichen zweier zahlen
 
thx, aber was denn jez? :gruebel:

Michael Leyhe 4. Apr 2004 15:55

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.

KermitFrosch 4. Apr 2004 16:04

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.

Markus K. 4. Apr 2004 16:07

Re: function zum vergleichen zweier zahlen
 
Hallo KermitFrosch,
so müsste es dann funzen.
Delphi-Quellcode:
function TForm1.pruefen (a,b:string):boolean;
begin
  if a = b then
   pruefen:=true
  else
   pruefen:=false;
end;
Du musst die Funktion, welche du in der Interface-Sektion deklarierst, auch entsprechend in dem Implementation-Teil deklarieren.

Tschüß Markus

Michael Leyhe 4. Apr 2004 16:12

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:
function pruefen (a,b:string):boolean;
begin
  if a = b then
   pruefen:=true
  else
   pruefen:=false;
end;
geht auch
Delphi-Quellcode:
function pruefen (a,b:string):boolean;
begin
pruefen := a=b;
end;

KermitFrosch 4. Apr 2004 16:28

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