![]() |
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:
Ein großes danke an euch im vor raus.
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. MFG Prakti16. |
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:
4. Hausaufgaben sind natürlich auch nicht besonders gern gesehen und
[DELPHI][/DELPHI]
Zitat:
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 |
AW: Taschenrechner Probleme mit Delphi 7
Zitat:
|
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: |
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. |
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 }); |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
ok danke
|
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Zitat:
|
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 |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Nur wo genau liegt denn dein Problem? Wo hapert es?
|
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Wenn ich das Programm starte und dann zum Beispiel 2+2 eingebe klappt es aber wenn ich dann 2+2+ Fehlermeldung ohne das ich über Haupt eine weiter zahl eingeben kann.
Und zum anderen kann ich nicht 1*2/+3 als Beispiel gesehen rechnen er nimmt das nicht an da steht dann auch Fehlermeldung |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Moin...:P
Zitat:
1. In Edit steht "2+2" 2. In Edit steht "2" + IchDrückeDenButton* + "2" ... Wie heißt denn die Fehlermeldung? |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
ich habe es mit 10 Buttons gemacht, wo jeder Button eine eigen zahl hat 0 - 9.
Die zahlen werden ins Edit Feld hineingesetzt. Im Projekt TaschenrechnerProjekt.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung '''ist kein gültiger Integerwert'. Prozess wurde angehalten.Mit Einzelne Anweisung oder Start fortsetzen |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Du versuchst irgendwo mit StrToInt() was zu konvertieren Aber was auch immer es ist, es existiert nicht.
|
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Ok ich guck mal.
noch immer die gleiche Fehlermeldung obwohl ich es geändert habe. |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Zwischenfrage:
Welche Delphi Version hast du? :wink: PS: Unabhängig von deinem Fehler hast du auch noch ein paar Logikfehler bezüglich der "Zwischensumme" drin. |
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
ich benutze Delphi 7
|
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Dann setze an den bekannten (StrToInt) Stellen Breakpoints und schaue die die Variablen an. Dann siehst du wo es herkommt. Ich tippe auf ein leeres Edit...8-)
|
AW: Eine eigene Funktion Schreiben und Im Taschenrechner einbinden
Ok danke euch
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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