AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Fehlermeldung:Inkompatible Typen:'Integer'und'Extended' ????
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldung:Inkompatible Typen:'Integer'und'Extended' ????

Ein Thema von Hans33 · begonnen am 28. Dez 2008 · letzter Beitrag vom 1. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Hans33

Registriert seit: 13. Nov 2008
56 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehlermeldung:Inkompatible Typen:'Integer'und'Extended' ????

  Alt 28. Dez 2008, 16:28
Hallo

Ich vestehe nicht warum bei mir eine Fehlermeldung bei diesem Code kommt:
Delphi-Quellcode:
var x,y,c,m:Integer;
y:=m/(x+(270-(2*x)));
Fehlermeldung:
Zitat:
[Pascal Fehler] Unit1.pas(65): E2010 Inkompatible Typen: 'Integer' und 'Extended'
Danke für Hilfe
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:29
Beim Dividieren könnten Nachkommastellen entstehen. Deshalb als Ergebnis ein Float, Runden/Anschneiden oder ein DIV statt /
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:30
Integer-Division geht mit div statt /.

[edit] Schon wieder dieser Markus *grmpf* [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:33
Hallo Hans33,

du vernwendest bei Integer "/". Das geht nicht.
Entweder du verwendest div evtl. in Kombination mit mod oder du musst deinen Datentyp ändern (anstelle Integer dann z.B. Extended)

Edit: roter Kasten, viiiel zu langsam....
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Hans33

Registriert seit: 13. Nov 2008
56 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:36
Das Problem ist nur folgendes: Ich muss auch durch Null teilen
Delphi-Quellcode:
for x := 1 to 270 do
    begin
         y:=m/(x+(270-(2*x)));
         Paintbox1.Canvas.Pixels[x,y]:=clBlue;
    end;
Mit div statt / kommt: Dividieren durch Null nicht möglich
  Mit Zitat antworten Zitat
Hans33

Registriert seit: 13. Nov 2008
56 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:37
mit y:real; klappt es nicht zu zeichnen, denn dazu brauch ich nämlich Integerwerte
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#7

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:38
Zitat:
Mit div statt / kommt: Dividieren durch Null nicht möglich
...das ist grundsätzlich nicht möglich.
Diesen Fall mußt du vorher abfangen und entsprechend reagieren.

  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:40
Durch 0 kannst Du nicht teilen, egal ob ganze oder Fließkommazahl. Du kannst statt div zu verwenden aber auch anders vorgehen:
Delphi-Quellcode:
for x := 1 to 270 do
    begin
         y:=round(m/(x+(270-(2*x)))); // x und y sind integer
         Paintbox1.Canvas.Pixels[x,y]:=clBlue;
    end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Hans33

Registriert seit: 13. Nov 2008
56 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 28. Dez 2008, 16:43
hab jetzt halt
Delphi-Quellcode:
for x := 1 to 270 do
    begin
         y:=round((x+(270-(2*x)))/m);
         Paintbox1.Canvas.Pixels[x,y]:=clBlue;
    end;
  Mit Zitat antworten Zitat
Zipp

Registriert seit: 26. Jan 2008
12 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Fehlermeldung:Inkompatible Typen:'Integer'und'Extended'

  Alt 1. Jan 2009, 12:15
Zitat von Hans33:
Das Problem ist nur folgendes: Ich muss auch durch Null teilen
Delphi-Quellcode:
for x := 1 to 270 do
    begin
         y:=m/(x+(270-(2*x)));
         Paintbox1.Canvas.Pixels[x,y]:=clBlue;
    end;
Mit div statt / kommt: Dividieren durch Null nicht möglich
Wenn man

x+(270-(2*x))

umformt, dann erhält man

270-x

Da die Schleife bis 270 geht ist klar, dass beim letzten Durchlauf x=270 ist und damit der Nenner 0 wird.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:29 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