![]() |
Problem mit Typenkompatibilität
Hallo zusammen,
ich bin Programmieranfänger und habe eben versucht ein Programm zu schreiben, welches eine bliebige Zahl in ihre Primfaktoren zerlegt. Allerdings verstehe ich die Fehlermeldung nicht bzw. kann sie nicht nachvollziehen. Ich habe die Fehlermeldung im Quelltext grün makiert. hier ist der quelltext (TurboDelphi):
Delphi-Quellcode:
Meiner Meinung nach haben beide Variablen den Typ integer. Ich verstehe daher die Fehlermeldung nicht. Wäre schön, wenn mir jemand helfen könnte.
unit UGUI;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) LFrage: TLabel; BZerlegung: TButton; EZahl: TEdit; PFaktoren: TPanel; function NeuePrimzahl:integer; procedure BZerlegungClick(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; a:real; p,z:integer; Primfaktoren: array of integer; implementation {$R *.dfm} procedure TForm1.BZerlegungClick(Sender: TObject); VAR nummer,m:integer; begin nummer:=1; a:=strtofloat(EZahl.Text); z:=round(a); p:=Form1.NeuePrimzahl; Repeat If ((z mod p) =0) then begin z:=z/p; [COLOR="Red"]// HIER KOMMT DIE FEHLERMELDUNG [Pascal Fehler] UGUI.pas(44): E2010 Inkompatible Typen: 'Integer' und 'Extended'[/COLOR] Primfaktoren[nummer]:=p; inc(nummer); end else p:=Form1.NeuePrimzahl; Until z=1 ; For m:=2 to length(Primfaktoren) do begin PFaktoren.Caption:=PFaktoren.Caption+'*'+inttostr(Primfaktoren[m]); end; end; procedure TForm1.FormCreate(Sender: TObject); begin p:=2; end; function TForm1.NeuePrimzahl:integer; Var prim:boolean; n,p2:integer; begin p2:=p; prim:=true; Repeat p2:=p2+1; prim:=true; For n:=2 to (p2-1) do begin If (p2 mod n) = 0 then prim:=false; end; Until prim=true ; result:=p2; end; end. :) |
AW: Problem mit Typenkompatibilität
So sollte es gehen:
Delphi-Quellcode:
z := z div p; // "/" kann auch Kommazahlen handeln... und z sowohl p sind keine...
|
AW: Problem mit Typenkompatibilität
|
AW: Problem mit Typenkompatibilität
danke! jetzt funktioniert es :)
und was dazugelernt habe ich auch wieder :) Der Unterschied zwischen "/" und div war mir bisher nicht bekannt :( |
AW: Problem mit Typenkompatibilität
Ich hoffe, Du hast mein Edit noch gelesen?
|
AW: Problem mit Typenkompatibilität
jetzt grade habe ich deinen Edit gelesen. Werde ich ändern!
Habe ich wieder was gelernt. Danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 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