Re: Fakultät und Exeption
Ja also danke mal für die replys. Die Funktion verstehe ich eigentlich relativ. Lustig wirds wahrscheinlich wenn mehrere Parameter im Spiel sind. Das Tutorial von den Exceptions werd ich mir anschauen, thx!!!
|
Re: Fakultät und Exeption
Zitat:
|
Re: Fakultät und Exeption
ja mit "lustig" mein ich komplizierter xP
|
Re: Fakultät und Exeption
Warum wird es dann komplizierter?
Delphi-Quellcode:
function f( x,a,b:integer): Extended;
begin Result := a * x +b; end; |
Re: Fakultät und Exeption
OKAY habs verstanden danke, ich fahr jetzt heim heim und dann gehts up :P ich melde mich!
|
Re: Fakultät und Exeption
Hi Leute... Leider komme ich gar nicht damit zusammen, ausgeben pack ich nicht und an den Funktionen happats glaub ich auch.. Ich bitte um ein paar Tipps, Quellcode unten.
Delphi-Quellcode:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) E1: TEdit; Panel1: TPanel; RB1: TRadioButton; RB2: TRadioButton; RB3: TRadioButton; B1: TButton; B2: TButton; RE1: TRichEdit; procedure B2Click(Sender: TObject); procedure B1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function nfak (x:integer):Extended; var i:byte; begin for i:=1 to x do begin nfak:=x+1; end; end; function einsfak (y:integer):Extended; var h:byte; begin for h:=1 to y do begin einsfak:=(y+1)/y; end; end; procedure TForm1.B2Click(Sender: TObject); begin application.Terminate; end; procedure TForm1.B1Click(Sender: TObject); begin if RB1.Checked then begin RE1.Text:=nfak(IntToStr(E1.text)); end; end; end. und bitte nicht auslachen... mfg :/ |
Re: Fakultät und Exeption
Falsche Richtung:
Delphi-Quellcode:
Du Funktion nfak stimmt wohl auch nicht (falsche Algorithmus)
RE1.Text:=nfak(StrToInt(E1.text));
nfak(1) = 2 nfak(2) = 3 ... rauskommen sollte aber 1 2 6 ... |
Re: Fakultät und Exeption
Deine Schleife bewirkt nichts, du musst die Laufvariable natürlich miteinbeziehen. Ich zeig's mal am Beispiel der Fakultät, darfst du selbst aber gerne verbessern, vielleicht stimmt auch nicht, aber du siehst grob, wie du die Laufvariable verwenden musst.
Delphi-Quellcode:
Die andere Funktion musst di entsprechend erstellen.
function fak(n: Integer): Int64
var fakVar: Int64; begin fakVar := 1; for i := 1 to n do fakVar := fakVar * i; result := fakVar; end; |
Re: Fakultät und Exeption
Also mit der Funktion komme ich nun klar...
Jedoch da ich noch nie so ein und ausgegeben habe da ein fettes Problem. !! Wie bzw. Wo schreibe ich die Eingabe ins EditFeld E1? !! !! Wo bzw. Wie gebe ich dann das Ergebnis aus? In welcher Procedure? !!
Delphi-Quellcode:
function nfak (n:integer):integer;
var fak:longint; var i:byte; begin fak:=1; for i:=1 to n do begin fak:=fak*i; end; nfak:=fak; end; procedure TForm1.B1Click(Sender: TObject); begin if RB1.Checked then begin ????????? ????????? end; end; Ich hab alles mögliche probiert, immer regt sich Mr. Compiler auf... Danke im Voraus Mlg EDIT: Vor allem wie gebe ich ein RichEdit (in meinem Fall RE1) aus? Mit Lines [x] oder mit .text? |
Re: Fakultät und Exeption
Sodele, nun ist die Zeit gekommen, dich auf ein Einsteiger-Tutorial zu verweisen. Wenn du nicht weißt, wie man eine Funktion aufruft oder eine Zahl ausgibt, dann musst du dir unbedingt die Grundlagen aneignen. ;)
Was du in deiner Prozedur machen musst ist nämlich genau das (Funktion aufrufen und den Rückgabewert ausgeben). Exceptions werden auch schön erklärt im Delphi-Crashkurs dort. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz