Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fakultät und Exeption (https://www.delphipraxis.net/85606-fakultaet-und-exeption.html)

h4nnes_ 2. Feb 2007 11:40

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!!!

mkinzler 2. Feb 2007 11:52

Re: Fakultät und Exeption
 
Zitat:

Lustig wirds wahrscheinlich wenn mehrere Parameter im Spiel sind.
Warum?

h4nnes_ 2. Feb 2007 11:55

Re: Fakultät und Exeption
 
ja mit "lustig" mein ich komplizierter xP

mkinzler 2. Feb 2007 12:00

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;

h4nnes_ 2. Feb 2007 12:23

Re: Fakultät und Exeption
 
OKAY habs verstanden danke, ich fahr jetzt heim heim und dann gehts up :P ich melde mich!

h4nnes_ 2. Feb 2007 14:32

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 :/

mkinzler 2. Feb 2007 14:36

Re: Fakultät und Exeption
 
Falsche Richtung:
Delphi-Quellcode:
RE1.Text:=nfak(StrToInt(E1.text));
Du Funktion nfak stimmt wohl auch nicht (falsche Algorithmus)
nfak(1) = 2
nfak(2) = 3
...
rauskommen sollte aber
1 2 6 ...

Matze 2. Feb 2007 14:57

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:
function fak(n: Integer): Int64
var
  fakVar: Int64;
begin
  fakVar := 1;

  for i := 1 to n do
    fakVar := fakVar * i;

  result := fakVar;
end;
Die andere Funktion musst di entsprechend erstellen.

h4nnes_ 2. Feb 2007 15:27

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?

Matze 2. Feb 2007 15:34

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.
Seite 2 von 3     12 3      

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