![]() |
Fakultät und Exeption
Hallo allerseits!
Ich möchte mich mal vorstellen, bin Johannes T. aus Graz (AUT). Hoffe ich kann viel bei eurer Community beitragen. Mein derzeitiges Problem liegt bei einer Delphi Hausübung. Ich bin Maturant (Abitur) in einem Gymnasium mit Informatik Zweig, tu mir nicht gerade leicht mit den von der Professorin gestellten Aufgaben. Vielleicht weißt ihr dazu mehr... ich versteh nur Bahnhof, jedoch muss das bis Montag abgegeben werden. Zitat:
Kennt sich einer damit aus, bitte mich ICQ zu ädden oder mir hier sagen wie das gehen soll :idea: Vielen herzlichen Dank, MFG, :P |
Re: Servus!
Wo happerts? Was hast du schon?
|
Re: Servus!
Hi,
herzlich willkommen. Bitte ändere den Titel so, dass er dein Problem ein wenig beschreibt. Du musst ein Formular erstellen, ein TEdit darauf setzen, in das ganze Zahlen eingegeben werden sollen (bei Programmstart soll im Edit 0 stehen) und über ein Menü (MainMenu/Buttons) sollst du eine Funktion aufrufen, die dir entsprechend die 2 Formeln berechnet. Die Ausgabe im RichEdit ist auch nicht schwer. Wie man eine Zahl einliest und eine Funktion erstellt hast du sicher gelernt. Mit einer Schleife pro Funktion ist das schnell gelöst. Du kannst auch beide Berechnungen in eine Funktion packen und über einen Parameter die zusätzliche Division 1/x durchführen. Gibt man ins Edit einen Buchstaben oder ähnliches ein, darf dein Programm nicht abstürzen, also überprüfe, ob es sich um eine Zahl handelt. Aber auch das hattet ihr sicher im Unterricht. Wie man den Inhalt eines RichEdits druckt, steht in der DP. Gruß |
Re: Servus!
Hallo Hannes,
erstmal herzlich willkommen in der DP. :hi: Jetzt hab ich aber gleich ein paar Punkte zum meckern ;-) 1.) 'Servus!' mag eine nette Begrüßung sein, aber als Titel hier in der DP hat das nichts zu suchen. Bitte drücke bei Gelegenheit rechts oben auf 'Edit' an Deinem Beitrag und gebe dem Ding einen gescheiten Namen, der auch etwas über das Problem aussagt. 2.) Programmieren allgemein ist das nicht. Gut, das kannst Du noch nicht wissen, aber das sollte eher in eine der Delphi-Sparten. Darum werde ich mich kümmern. 3.) Das Problem ist zu Pauschal. Um ehrlich zu sein ist das nichts, was die meisten von uns hier nicht in einer halben Stunde zusammengeklickt hätten, aber damit ist Dir nicht geholfen. Zeige uns doch mal, was Du schon hast, bzw. erkläre uns genau, wo Du Verständnisprobleme hast. Wenn Du z.B. nicht weisst was ein SDI ist, dann hilft Dir hier unser Hint schon weiter - bzw. liefert er Dir zumindest den voll ausgeschriebenen Namen von dem Ding bei dem Dir Mr. Google oder auch die Forensuche hier schon weiterhelfen kann. Wenn Du Probleme mit den Algorithmen zur Fakultät oder zur Summierung hast, dann ist das hier zwar die richtige Sparte, aber ohne konkrete Problemstellung wird Dir hier keiner helfen. 4.) Wir sind kein Hausaufgaben-Mach-Forum. Wenn Du willst, dass jemand das einfach so für Dich macht, dann darfst Du gerne die Leute hier entsprechend anfragen - aber dann rechne auch damit, dass die Stundensätze die hier genannt werden nicht gerade im Zehn bis dreissig-Euro-Bereich liegen sondern ein gutes Stück darüber. Sobald Du Eigeninitiative zeigst, zeigst was Du schon hast und wo Du nicht weiterkommst, ist das alles kein Problem und die kleinen Hürden die sich Dir in den Weg stellen sind sicher schnell ausgeräumt. Vorschlag an der Stelle: Bau doch zuerstmal das Formular auf. Was da drauf soll steht ja in der Aufgabe. Und dann Versuch doch den ersten Teil der Aufgabe (Fakultät) schonmal hinzubekommen. Edit Nachtrag: Himmel ist der Matze heut früh schon wieder schnell... schneller als es der rote Kasten erlaubt .oO |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Hier gehts nach der Aufgabe zu schliessen erstmal um TForm, TButton, TRichEdit etc.. also ab nach Komponenten und der Umgang mit denen... |
Re: Servus!
Hallo h4nnes_,
zunächst einmal herzlich willkommen im Delphi-PRAXiS Forum. Wir helfen gerne und in der Regel auch schnell. Dazu haben wir uns einige Regeln gegeben, die du ja auch beim Anmelden akzeptiert hast. Diese Regeln, die wir ![]() |
Re: Fakultät und Exeption
Liebe User!
Danke einmal für schnelle replys. Die Regeln des Forums werde ich mir sofort (wenn ich heim komme) durchlesen ;)... Zunächst einmal zum Problem.. Mit der Anleitung von Matze werde ich einmal soviel probieren wie ich kann... hab ja auch schon biserl was gelernt... allerdings wirds dann mit Exception happern da ich nicht mal weiß was das ist :-/... Am besten ist, ich mach einmal Kontrollstruktur (RadioB.), Edit Feld, Button... Das nächste Problem wäre dann die globale Funktion. Was ist die globale Funktion? Erstelle ich sie selber? Ich arbeitete bis jetzt immer mit Prozeduren (konnte mit denen rechnen). Meine Professorin ist krank, das Abitur steht vor der Tür und wir müssen uns selbst helfen. Also am besten ich starte mal wenn ich heim komme und halte euch am Laufenden! Vielen herzlichen Dank, Johannes :coder2: |
Re: Fakultät und Exeption
Zitat:
statt
Delphi-Quellcode:
dann
proocedure <prozedurname>(<parameterliste>);
Delphi-Quellcode:
Bsp
function <funktionsname>(<parameterliste>):<rückgabewert;
Delphi-Quellcode:
function f( x:integer): Entended;
... y := f(x); //Aufruf |
Re: Fakultät und Exeption
Hi h4nnes,
Zitat:
Dazu ![]() DAs wirst du schnell lernen, das Thema ist nicht so kompliziert. greetz Lun |
Re: Fakultät und Exeption
Zitat:
|
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
![]() 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. |
Re: Fakultät und Exeption
Matze du bestätigst nur meine Einstellung zu der ganzen Situation und ich danke dir dafür...
unsere Info Prof (KEINE AUSREDE!) is das letzte! Danke trotzdem für die Bemühungen. Time2Close |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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