![]() |
Taschenrechner mit Proceduren. Probleme beim Diviieren
Hier mein Text es hängt nur an der Division:
type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; Edit2: TEdit; Label2: TLabel; Button2: TButton; Button3: TButton; Button4: TButton; Label3: TLabel; Edit3: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private procedure eingabe(x,y: integer); procedure addiere(x,y: integer; z:integer); procedure ausgabe(var z: integer); procedure subtrahiere(x,y: integer; var z:integer); procedure multipliziere(x,y: integer; var z:integer); procedure eingabe2(x,y: real; var z: real); procedure dividiere(x,y: real; var z: real); procedure ausgabe2(var z: real); { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.eingabe(x,y: integer); begin x:= StrToInt(edit1.text); y:= StrToInt(edit2.text); end; procedure TForm1.addiere(x,y: integer; z:integer); begin z:=x+y; end; procedure TForm1.ausgabe(var z: integer); begin edit3.text:= InttoStr(z); end; procedure TForm1.Button1Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); addiere(a,b,c); ausgabe(c); end; procedure TForm1.subtrahiere(x,y: integer; var z: integer); begin z:=x-y; end; procedure TForm1.Button2Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); subtrahiere(a,b,c); ausgabe(c); end; procedure TForm1.multipliziere(x,y: integer; var z:integer); begin z:=x*y; end; procedure TForm1.Button3Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); multipliziere(a,b,c); ausgabe(c); end; procedure TForm1.eingabe2(x,y: real; var z: real); begin begin y := StrToFloat (Edit2.text); x := StrToFloat (Edit1.text); end; procedure TForm1.dividieren(x,y: real; var z: real); begin z:=x/y; end; procedure TForm1.ausgabe2(var z: real); begin edit3.text:= floattostr(z); end; procedure TForm1.Button4Click(Sender: TObject); var a,b,c: real; begin eingabe2(a,b); dividiere(a,b,c); ausgabe2(c); end; end. Fehlermeldung: [Fehler] Unit1.pas(113): Anweisung erwartet, aber 'PROCEDURE' gefunden Danke im Voraus |
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Zitat:
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Hallo danke für die schnelle Antwort habe das begin weg gemacht jetzt taucht nut noch diese fehlermeldung auf
[Fehler] Unit1.pas(125): Nicht genügend wirkliche Parameter |
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
wenn ich das richtig sehe, hast du im buttonClick geschrieben "dividiere" und im gelieferten Programmtext ist von "dividieren" ... Rufst du eine zweite Funktion auf, die dividieren sollte? Vielleicht liegts daran...
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Habe es soweit in den Griff bekommen und das Programm startet jetzt. Leider kommt dann, wenn ich dividieren möchte folgende Fehlermeldung: Gleitkommaüberlauf!
Das Programm sieht folgender Maßen aus:
Delphi-Quellcode:
type
TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; Edit2: TEdit; Label2: TLabel; Button2: TButton; Button3: TButton; Button4: TButton; Label3: TLabel; Edit3: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private procedure eingabe(x,y: integer); procedure addiere(x,y: integer; z:integer); procedure ausgabe(var z: integer); procedure subtrahiere(x,y: integer; var z:integer); procedure multipliziere(x,y: integer; var z:integer); procedure eingabe2(x,y: real); procedure dividiere(x,y: real; var z: real); procedure ausgabe2(var z: real); { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.eingabe(x,y: integer); begin x:= StrToInt(edit1.text); y:= StrToInt(edit2.text); end; procedure TForm1.addiere(x,y: integer; z:integer); begin z:=x+y; end; procedure TForm1.ausgabe(var z: integer); begin edit3.text:= InttoStr(z); end; procedure TForm1.Button1Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); addiere(a,b,c); ausgabe(c); end; procedure TForm1.subtrahiere(x,y: integer; var z: integer); begin z:=x-y; end; procedure TForm1.Button2Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); subtrahiere(a,b,c); ausgabe(c); end; procedure TForm1.multipliziere(x,y: integer; var z:integer); begin z:=x*y; end; procedure TForm1.Button3Click(Sender: TObject); var a,b,c: integer; begin eingabe(a,b); multipliziere(a,b,c); ausgabe(c); end; procedure TForm1.eingabe2(x,y: real); begin x := StrToFloat (Edit1.text); y := StrToFloat (Edit2.text); end; procedure TForm1.dividiere(x,y: real; var z: real); begin z:=x/y; end; procedure TForm1.ausgabe2(var z: real); begin edit3.text:= floattostr(z); end; procedure TForm1.Button4Click(Sender: TObject); var a,b,c: real; begin eingabe2(a,b); dividiere(a,b,c); ausgabe2(c); end; end. |
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Dann schau dir doch mal genau an, welche Parameter dein eingabe2 verlangt
und was du da nur angibst.
Code:
procedure TForm1.eingabe2(x,y: real; [b]var z: real[/b]);
Code:
eingabe2(a,b);
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Warum eingabe2 verlangt doch bei mir nur 2 Parameter?
Delphi-Quellcode:
procedure TForm1.eingabe2(x,y: real);
Delphi-Quellcode:
eingabe2(a,b);
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Und welche Werte gibst du da ein? Und welche Werte kommen in der Prozedur an?
Des Weiteren hilft manchmal schon eine saubere Formatierung des Quellcode, um Fehler zu finden oder zu vermeiden. |
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
o
Zitat:
|
Re: Taschenrechner mit Proceduren. Probleme beim Diviieren
Jetzt, aber vorhin nicht
Zitat:
Aufgrund einiger Netzwerkprobleme wurde es hier nicht sofort versendet. Zitat:
Zitat:
@Noedel: Das ist halt mehr eine Übung zum Lernen einiger OOP-Regeln > verteile Aufgaben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 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