Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Eine eigene Funktion Schreiben und Im Taschenrechner einbinden (https://www.delphipraxis.net/190355-eine-eigene-funktion-schreiben-und-im-taschenrechner-einbinden.html)

Prakti16 27. Sep 2016 10:44


Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Hallo Leute ich habe ein kleine Problem ich bin neu im Programmieren und wollte euch fragen ob ihr mir dabei helfen könntet.
Ich muss eine eigene Funktion schreiben das habe ich getan bloß es klappt noch immer nicht so weit ich weiß muss ich mit der Funktion FloatToStr Ersetzen.
Ich meine damit das ich ein Problem habe eine Funktion zu schreiben.
Immer als ich F7 oder F8 gedrückt habe kam keine Fehlermeldung oder so.
Er ist beim Starten immer bei Close; stehen geblieben und ich weiß nicht mehr weiter

Hier Quelltext:

Delphi-Quellcode:
Unit Taschenrechner;

Interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math, Buttons;

type
  TForm1 = class(TForm)
    Gleich: TButton;
    Addieren: TButton;
    Subtrahieren: TButton;
    Multiplizieren: TButton;
    Dividieren: TButton;
    Edit1: TEdit;
    Zahl1: TButton;
    Zahl2: TButton;
    Zahl3: TButton;
    Zahl4: TButton;
    Zahl5: TButton;
    Zahl6: TButton;
    Zahl7: TButton;
    Zahl8: TButton;
    Zahl9: TButton;
    Label1: TLabel;
    Zahl0: TButton;
    Aus: TButton;
    Rechenweg: TLabel;
    C: TButton;
    procedure Zahl1Click(Sender: TObject);
    procedure AusClick(Sender: TObject);
    procedure AddierenClick(Sender: TObject);
    procedure SubtrahierenClick(Sender: TObject);
    procedure MultiplizierenClick(Sender: TObject);
    procedure DividierenClick(Sender: TObject);
    procedure GleichClick(Sender: TObject);
    procedure CClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  function getFormatted(value: String; decPlaces: Integer): Real;
  var toFormat: Real;
  begin
    decPlaces:=decPlaces * -1;
    if value = '' then
      toFormat:= 0
    else
      toFormat:= StrToFloat(value);
    result:=toFormat* power(10,decPlaces); //
    end;
  end;

var
  Form1: TForm1;
  LetzteZahl: Integer;
  Zwischensumme: real;
  Rechnung: String;
implementation

{$R *.dfm}

procedure TForm1.Zahl1Click(Sender: TObject);
begin
  Edit1.Text := Edit1.Text + (Sender as TButton).Caption;
  Rechenweg.Caption := Rechenweg.Caption + (Sender as TButton).Caption;
end;

procedure TForm1.AusClick(Sender: TObject);
begin
  Close;
end;

procedure TForm1.AddierenClick(Sender: TObject);
begin
  Rechenweg.Caption := Rechenweg.Caption + (Sender as TButton).Caption;
  LetzteZahl := StrToInt(Edit1.Text);
  Edit1.Text := '';
  Rechnung := '+';
  GleichClick(nil);
  Zwischensumme := LetzteZahl;
end;

procedure TForm1.SubtrahierenClick(Sender: TObject);
begin
  Rechenweg.Caption := Rechenweg.Caption + (Sender as TButton).Caption;
  LetzteZahl := StrToInt(Edit1.Text);
  Edit1.Text := '';
  Rechnung := '-';
end;

procedure TForm1.MultiplizierenClick(Sender: TObject);
begin
  Rechenweg.Caption := Rechenweg.Caption + (Sender as TButton).Caption;
  LetzteZahl := StrToInt(Edit1.Text);
  Edit1.Text := '';
  Rechnung := '*';
end;

procedure TForm1.DividierenClick(Sender: TObject);
begin
  Rechenweg.Caption := Rechenweg.Caption + (Sender as TButton).Caption;
  LetzteZahl := StrToInt(Edit1.Text);
  Edit1.Text := '';
  Rechnung := '/';
end;

procedure TForm1.GleichClick(Sender: TObject);
begin
  if Zwischensumme <> 0 then
  begin
    if Rechnung = '+' then
    begin
      Zwischensumme := LetzteZahl + StrToFloat(Edit1.Text);
      Label1.Caption := toFormat(Zwischensumme);
    end;
    if Rechnung = '-' then
    begin
      Zwischensumme := LetzteZahl -  StrToFloat(Edit1.Text);
      Label1.Caption := toFormat(Zwischensumme);
    end;
    if Rechnung = '*' then
    begin
      Zwischensumme := LetzteZahl * StrToFloat(Edit1.Text);
      Label1.Caption := toFormat(Zwischensumme);
    end;
    if Rechnung = '/' then
    begin
     Zwischensumme := LetzteZahl / StrToFloat(Edit1.Text);
     Label1.Caption := toFormat(Zwischensumme);
    end;
    Edit1.Text := toFormat(Zwischensumme);
  end;
end;

procedure TForm1.CClick(Sender: TObject);
begin
  Rechenweg.Caption := '';
  Edit1.Text := '';
  Label1.Caption := '';
  Zwischensumme := 0;
  LetzteZahl := 0;
end;

end.
Ein großes danke an euch im vor raus.

MFG Prakti16.

Headbucket 27. Sep 2016 10:58

AW: Taschenrechner Probleme mit Delphi 7
 
Hallo Prakti16,

willkommen hier im Forum! Du hast mit deinem ersten Thread leider direkt mehrere Fehler gemacht... .

1. Verwende doch bitte einen etwas passenderen Threadtitel
2. Benenne möglichst GENAU das Problem. Was möchtest du genau machen? Wo liegt das Problem? Welche Fehler kommen?
3. Verwende zum Posten von Quellcode die Delphi-Tags
Code:
[DELPHI][/DELPHI]
4. Hausaufgaben sind natürlich auch nicht besonders gern gesehen und
Zitat:

Zitat von Prakti16 (Beitrag 1348903)
Ein Dickes Danke an euch und Beilt euch bitte

5. kommt sowieso ganz schlecht an :wink:
6. Verwende Satzzeichen

Also versuch dein Problem bitte nochmal genau zu schildern und zeige uns nur den RELEVANTEN Quellcode in den Delphi-Tags.

Grüße
Headbucket

dGeek 27. Sep 2016 10:58

AW: Taschenrechner Probleme mit Delphi 7
 
Zitat:

Ein Dickes Danke an euch und Beilt euch bitte
So wirst du hier nicht glücklich.

Neutral General 27. Sep 2016 11:00

AW: Taschenrechner Probleme mit Delphi 7
 
Abgesehen davon, dass mir das sehr nach Hausaufgaben oder Klassenarbeit aussieht (Wir sind nicht dafür da, deine Hausaufgaben für dich zu machen!):

Damit man den Code überhaupt halbwegs lesen kann solltest du den Code in [delphi]-Tags einschließen und nicht eine komplette Unit posten sondern nur den Teil an dem es hängt.
Und da ist schon das andere Problem: Deine (nicht wirklich vorhandene) Fehlerbeschreibung hilft nicht wirklich beim Helfen.

Du kannst nicht einfach deinen kompletten Code hier posten und sagen: "Macht mal das das funktioniert, und zwar bitte schnell!" :roll:

Prakti16 27. Sep 2016 11:13

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Ich mache gerade Anwendungsentwicklung als Praktikum und sie sagten zuerst soll ich selber suchen.
Dann im Internet nach fragen, weil sie gerade ein Released für OrgaMax machen sie sind zu beschäftigt deswegen habe ich euch gefragt.

Neutral General 27. Sep 2016 11:18

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Eine Funktion ist so aufgebaut:
Delphi-Quellcode:
function FuncName(parameter1: Typ; parameter2: Typ { ggf. noch mehr Parameter }): ErgebnisTyp;
begin
  // Berechnung
  Result := Ergebnis;
end;

// Aufruf
Ergebnis = FuncName(wert1, wert2 { ggf. noch mehr Parameter });

Prakti16 27. Sep 2016 11:19

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
ok danke

dGeek 27. Sep 2016 11:29

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Zitat:

Ich mache gerade Anwendungsentwicklung als Praktikum und sie sagten zuerst soll ich selber suchen.
Wonach hast du denn gesucht, dass du keine Lösung oder Hilfe gefunden hast?

Prakti16 27. Sep 2016 11:37

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Ich habe nach (wie schreibt man eine Funktion in Delphi für FloatToStr) gesucht und habe diese Seite raus bekommen Delphi Basics : floattostr command.
oder sowas bekommen Zahlen als formatierten String ausgeben | Delphi-Treff

dGeek 27. Sep 2016 12:00

AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
 
Nur wo genau liegt denn dein Problem? Wo hapert es?


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:47 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf