AGB  ·  Datenschutz  ·  Impressum  







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

kann nicht teilen

Ein Thema von PiT123 · begonnen am 1. Feb 2004 · letzter Beitrag vom 1. Feb 2004
Antwort Antwort
PiT123

Registriert seit: 17. Jan 2004
25 Beiträge
 
#1

kann nicht teilen

  Alt 1. Feb 2004, 17:35
Hallo,

ich will einfach einen real Wert dividieren und im Edit-Fenster anzeigen
aber ich bekomme immer einen fehler !

es muss doch möglich sein +,- und * funtzen doch auch...

Delphi-Quellcode:
var
a,b,c,f,d,g,h :real;
begin
a:= StrToFloat(Edit1.text);
b:= StrToFloat(Edit2.text);
d:= StrToFloat(Edit3.text);
c:=a*b;
f:=b*d;
g:=f-c;
h:=100*g/f; // warum kann er hier nicht G durch F rechnen
Edit4.Text:=FloatToStr(c)+'';
Edit5.Text:=FloatToStr(f)+'';
Edit6.Text:=FloatToStr(g)+'';
Edit7.Text:=FloatToStr(h)+' %';
end;
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:42
Hallo! Ich kann dein Problem leider nicht nachvollziehen. Ich hab mir mal eben 7 Edits auf mein Form gezogen und dein Code funktioniert einwandfrei, d.h. es kommt bei mir kein Fehler.
Welchen Fehler bekommst du denn? Hast du evt. in irgendein Feld 0 eingegeben? Hat evtl "f" den Wert 0? Dann bekommst du nämlich eine Division durch Null und das gibt natürlich einen Fehler.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:43
Hi!

Was kommt denn für ein Fehler?

Probier mal

g mod f Ich glaube, das ging.
[Edit]Leider nicht bei Reals, aber Stanlay hat recht, dein Code funzt bei mir auch [/Edit]

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#4

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:43
Falls in Deinem Beispiel f = 0 ist, gibt es auf jeden Fall einen Fehler...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#5

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:48
Was natürlich auch noch eine Möglichkeit wäre, ist, dass eins der Felder ganz leer ist, und du einen Konvertierungsfehler kriegst ('' / StrToFloat)

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
PiT123

Registriert seit: 17. Jan 2004
25 Beiträge
 
#6

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:55
Fehler:

im Projekt1.exe ist eine Exception der Klasse EInvalidOP aufgetreten.Meldung:'Ungültige Gleitkommaoperation .....

habe auch mal F:=1 gesetzt ohne erfolg ..

Delphi-Quellcode:

var
a,b,c,f,d,g,h :Extended; //oder real
begin
f:=1;
a:= StrToFloat(Edit1.text);
b:= StrToFloat(Edit2.text);
d:= StrToFloat(Edit3.text);
c:=a*b;
f:=b*d;
g:=f-c;
h:=g*100 / f;
Edit4.Text:=FloatToStr(c)+'';
Edit5.Text:=FloatToStr(f)+'';
Edit6.Text:=FloatToStr(g)+'';
Edit7.Text:=FloatToStr(h)+' %';
end;
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: kann nicht teilen

  Alt 1. Feb 2004, 17:59
Hi,
mach mal daraus ein Extended. Dann versuch mal das g*100 einzuklammern.

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#8

Re: kann nicht teilen

  Alt 1. Feb 2004, 18:01
Hi. Wenn du f schon 1 setzt, dann direkt vor der Verwendung von f. So wie du das jetzt geändert hast, ist ja f immer noch von "b" und "d" abhängig. Wenn entweder b oder d = 0 sind, dann ergibt f auch 0 => Fehler

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#9

Re: kann nicht teilen

  Alt 1. Feb 2004, 18:19
Ergänze den Code einfach z. B. mit folgender Abfrage:

Delphi-Quellcode:
if f = 0 then
    f := 1
  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 06:08 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