|
Registriert seit: 27. Jul 2004 Ort: Holle 22 Beiträge Delphi 8 Enterprise |
#1
Hallo
Wenn ich in meinem fertigem Programm (mein Taschenrechner) auf einen Button klicke, wie zum Beispiel M+ und es nichts im Speicher dann bekomme ich immer diese Fehlermeldung "m+ ist kein gültiger Intergerwert". Und wenn ich auf das gleichzeichen drücke, obwohl ich noch nicht eingegeben habe vorher, dann bekomme ich die fehlermeldung "gleich ist kein gültiger fließkommawert. Auch diese meldung möchte ich irgendwie beseitigen. Aber ich weiß nicht wie. Bitte helft MIR: Ich stelle hier mal meinen Quellcode da, damit ihr euch selber ein bild machen könnt.
Delphi-Quellcode:
MFG
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type Tll = class(TForm) edit_eingabe: TEdit; btm_1: TButton; btm_2: TButton; btm_plus: TButton; lbl_wert: TLabel; lbl_operation: TLabel; btm_gleich: TButton; btm_kerwert: TButton; btm_minus: TButton; btm_mal: TButton; btm_geteilt: TButton; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; btm_loeschen: TButton; Button10: TButton; btm_prozent: TButton; btmk_wurzel: TButton; Button11: TButton; btm_ce: TButton; btm_back: TButton; btm_mc: TButton; btm_ms: TButton; btm_mr: TButton; btm_mplus: TButton; btm_mminus: TButton; lbl_speicherm: TLabel; lbl_speicheranzeige: TLabel; procedure btm_1Click(Sender: TObject); procedure btm_2Click(Sender: TObject); procedure btm_plusClick(Sender: TObject); procedure btm_gleichClick(Sender: TObject); procedure btm_kerwertClick(Sender: TObject); procedure btm_minusClick(Sender: TObject); procedure btm_malClick(Sender: TObject); procedure btm_geteiltClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure btm_loeschenClick(Sender: TObject); procedure Button10Click(Sender: TObject); procedure btm_prozentClick(Sender: TObject); procedure btmk_wurzelClick(Sender: TObject); procedure Button11Click(Sender: TObject); procedure btm_ceClick(Sender: TObject); procedure btm_backClick(Sender: TObject); procedure btm_msClick(Sender: TObject); procedure btm_mcClick(Sender: TObject); procedure btm_mrClick(Sender: TObject); procedure btm_mplusClick(Sender: TObject); procedure btm_mminusClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var ll: Tll; implementation {$R *.DFM} procedure Tll.btm_1Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'1'; end; procedure Tll.btm_2Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'2'; end; procedure Tll.btm_plusClick(Sender: TObject); begin lbl_wert.Caption := edit_eingabe.text; edit_eingabe.text := '' ; lbl_operation.caption := '+' ; //edit_eingabe.SetFocus; end; procedure Tll.btm_gleichClick(Sender: TObject); var wert_aktuell, wert_gespeichert: double; ergebnis:double; begin ergebnis:=0; wert_aktuell := StrToFloat(edit_eingabe.text); wert_gespeichert := StrToFloat(lbl_wert.caption); if lbl_operation.caption= '+' then ergebnis := wert_aktuell + wert_gespeichert else If lbl_operation.caption = '-' then ergebnis := wert_gespeichert - wert_aktuell; if lbl_operation.caption= '*' then ergebnis := wert_aktuell * wert_gespeichert else If lbl_operation.caption = '/' then ergebnis := wert_gespeichert / wert_aktuell; edit_eingabe.text := FloatToStr(ergebnis); lbl_operation.caption := '' ; lbl_wert.Caption := '' ; end; procedure Tll.btm_kerwertClick(Sender: TObject); var aktueller_wert, ergebnis: double; begin if ((edit_eingabe.text='0') or (edit_eingabe.text='')) then exit; aktueller_wert := StrToFloat(edit_eingabe.text); ergebnis := 1/aktueller_wert; edit_eingabe.text := FloatToStr(ergebnis); end; procedure Tll.btm_minusClick(Sender: TObject); begin lbl_wert.Caption := edit_eingabe.text; edit_eingabe.text := '' ; lbl_operation.caption := '-' ; end; procedure Tll.btm_malClick(Sender: TObject); begin lbl_wert.Caption := edit_eingabe.text; edit_eingabe.text := '' ; lbl_operation.caption := '*' ; end; procedure Tll.btm_geteiltClick(Sender: TObject); begin lbl_wert.Caption := edit_eingabe.text; edit_eingabe.text := '' ; lbl_operation.caption := '/' ; end; procedure Tll.Button1Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'3'; end; procedure Tll.Button2Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'4'; end; procedure Tll.Button3Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'5'; end; procedure Tll.Button4Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'6'; end; procedure Tll.Button5Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'7'; end; procedure Tll.Button6Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'8'; end; procedure Tll.Button7Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'9'; end; procedure Tll.Button8Click(Sender: TObject); begin edit_eingabe.Text := edit_eingabe.text+'0'; end; procedure Tll.Button9Click(Sender: TObject); begin //If Pos(':', '3278387:4582') //then edit_eingabe.text := edit_eingabe.text+','; if Pos(',',edit_eingabe.text)=0 then edit_eingabe.text := edit_eingabe.text+','; end; procedure Tll.btm_loeschenClick(Sender: TObject); begin edit_eingabe.Text := '' ; lbl_operation.caption := '' ; lbl_wert.Caption := '' ; end; procedure Tll.Button10Click(Sender: TObject); var Zahl:string; begin Zahl:=edit_eingabe.Text; if Pos('-', Zahl) = 1 then begin Delete(Zahl, 1,1); edit_eingabe.Text:=Zahl; end else edit_eingabe.Text:='-'+edit_eingabe.Text; end; procedure Tll.btm_prozentClick(Sender: TObject); var a, er: Extended; begin a := strtofloat (lbl_wert.caption); er := strtofloat (edit_eingabe.text) * (a/100); edit_eingabe.text := floattostr (er); end; procedure Tll.btmk_wurzelClick(Sender: TObject); begin edit_eingabe.text := floattostr(sqrt(strtofloat(edit_eingabe.text))); end; procedure Tll.Button11Click(Sender: TObject); begin edit_eingabe.text := floattostr(sqr(strtofloat(edit_eingabe.text))); end; procedure Tll.btm_ceClick(Sender: TObject); begin edit_eingabe.text := ''; end; procedure Tll.btm_backClick(Sender: TObject); begin edit_eingabe.text := Copy(edit_eingabe.text,1, Length(edit_eingabe.text)-1); //Edit1.Text := Copy(Edit1.Text,1,Length(Edit1.Text)-1) end; procedure Tll.btm_msClick(Sender: TObject); begin lbl_speicherm.Caption := edit_eingabe.text; lbl_speicheranzeige.caption := 'M(Es bifindet sich was im Speicher)' ; end; procedure Tll.btm_mcClick(Sender: TObject); begin lbl_speicherm.caption := ''; lbl_Speicheranzeige.caption := ''; end; procedure Tll.btm_mrClick(Sender: TObject); begin edit_eingabe.text := lbl_speicherm.caption; end; procedure Tll.btm_mplusClick(Sender: TObject); begin lbl_speicherm.Caption := IntToStr(StrToInt(lbl_speicherm.Caption) + StrToInt(edit_eingabe.Text)); end; procedure Tll.btm_mminusClick(Sender: TObject); begin lbl_speicherm.Caption := IntToStr(StrToInt(lbl_speicherm.Caption) - StrToInt(edit_eingabe.Text)); end; end. Raffy [edit=sakura] CODE->DELPHI Tags.... Mfg, sakura[/edit] |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |