AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung

Ein Thema von Raffy · begonnen am 28. Jul 2004 · letzter Beitrag vom 28. Jul 2004
Antwort Antwort
Benutzerbild von Raffy
Raffy

Registriert seit: 27. Jul 2004
Ort: Holle
22 Beiträge
 
Delphi 8 Enterprise
 
#1

Fehlermeldung

  Alt 28. Jul 2004, 07:58
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:
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.
MFG
Raffy

[edit=sakura] CODE->DELPHI Tags.... Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: Fehlermeldung

  Alt 28. Jul 2004, 08:24
was hast du denn im m speicher stehen, wenn da '' steht, versuche es doch mal vorher mit '0' zu initialisieren.

gruß rené
  Mit Zitat antworten Zitat
Benutzerbild von Raffy
Raffy

Registriert seit: 27. Jul 2004
Ort: Holle
22 Beiträge
 
Delphi 8 Enterprise
 
#3

Re: Fehlermeldung

  Alt 28. Jul 2004, 08:35
hab ich auch gemacht.
es funktioniert auch aber nur wenn ich auch im
edit_eingabe eine 0 stehen habe.
Mein problem ist, wenn ich dann etwas eingebe,
dann bleibt die 0 da stehen und ich weiß nicht, wie
man das macht, das die null verschwindet wenn
man z.B. auf den 9knopf drückt.
  Mit Zitat antworten Zitat
Benutzerbild von Grumble
Grumble

Registriert seit: 19. Mär 2003
Ort: Dresden
203 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Fehlermeldung

  Alt 28. Jul 2004, 08:55
hi

Code:
procedure Tll.Button7Click(Sender: TObject);
begin
edit_eingabe.Text := edit_eingabe.text+'9';
end;
ich glaub das is dein code fuer den druck auf 9

du muesstest jetzt eigentlch bei jeder zahlentaste abfragen ob der edit_eingabe.text nur 0 ist und wenn ja den loeschen, also

Code:
procedure Tll.Button7Click(Sender: TObject);
begin
if edit_eingabe.text='0' then edit_eingabe.text:='';
edit_eingabe.Text := edit_eingabe.text+'9';
end;


gruss
grumble
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
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