![]() |
Probs mit Variablentypen
Ich stehe total aufm Schlauch...
Ich will dieses Prog schreiben, doch Delphi mag mich wohl irgendwie nicht mehr. Ich wollte erst den Variablen den typ float zuweisen, aber dann wurde mir gesagt: undefinierter Bezeichner. Jetzt habe ich double genommen und kann keine Typumwandlung mehr machen. Ich hatte auch schon extended aber das hat auch absoult nicht funktioniert.... :wall: Hoffe, dass mir jemand mit guter Anleitung helfen kann... Bin am verzweifeln...
Delphi-Quellcode:
Diese Fehler bekomme ich:
unit Kasse;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; EdKasseAnfang: TEdit; EdFlaschen05Anfang: TEdit; EdFlaschen1Anfang: TEdit; EdFlaschen15Anfang: TEdit; EdKasseEnde: TEdit; EdFlaschen05Ende: TEdit; EdFlaschen1Ende: TEdit; EdFlaschen15Ende: TEdit; EdDifferenz: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var FlaschenAnfang:double; FlaschenEnde:double; KasseAnfang:double; KasseEnde:double; Einnahmen:double; Differenz:double; FlaschenDifferenz:double; begin FlaschenAnfang:=(EdFlaschen05Anfang.text*0.5)+(EdFlaschen1Anfang.text)+(EdFlaschen15Anfang.text*1.5); FlaschenEnde:=(EdFlaschen05Ende.text*0.5)+(EdFlaschen1Ende.text)+(EdFlaschen15Ende.text*1.5); KasseAnfang:=EdKasseAnfang; KasseEnde:= EdKasseEnde; Einnahmen:=KasseEnde-KasseAnfang; FlaschenDifferenz:=FlaschenAnfang-FlaschenEnde; begin if (KasseEnde-FlaschenEnde) not KassenAnfang then begin EdDifferenz:=(KasseEnde-FlaschenEnde)-KassenAnfang; end else EdDifferent:=0; end; end; end.
Delphi-Quellcode:
[Fehler] Kasse.pas(54): Inkompatible Typen: 'String' und 'Extended'
[Fehler] Kasse.pas(54): Inkompatible Typen: 'String' und 'Extended' [Fehler] Kasse.pas(55): Inkompatible Typen: 'String' und 'Extended' [Fehler] Kasse.pas(55): Inkompatible Typen: 'String' und 'Extended' [Fehler] Kasse.pas(56): Inkompatible Typen: 'Double' und 'TEdit' [Fehler] Kasse.pas(57): Inkompatible Typen: 'Double' und 'TEdit' [Fehler] Kasse.pas(61): Operator oder Semikolon fehlt [Fehler] Kasse.pas(64): Inkompatible Typen: 'TEdit' und 'Extended' |
Re: Probs mit Variablentypen
Schau dir diese Zeile nochmals genauer an:
Delphi-Quellcode:
Du willst einen String, nämlich EdFlaschen05Anfang.text mit einer Zahl multiplizieren, ohne den String vorher umzuwandeln. Ein
(EdFlaschen05Anfang.text*0.5)
strtofloat, oder ähnliches würde abhilfe schaffen! read you, gordon //Edit1: Hatte "floattostr" geschrieben :oops: |
Re: Probs mit Variablentypen
Hallo,
die Fehlermeldung bedeutet vereinfacht gesagt, dass Du mit einem Textfeld rechnen willst, was aber, wie Du an den Fehlermeldungen sehen kannst, nicht geht. Du musst den Inhalt der Editfelder zuerst z.B. mit StrToFloat in eine Fließkommazahl umwandeln:
Delphi-Quellcode:
Welchen Datentyp Du dan benutzt, Double oder Extended, ist dann egal.
...
FlaschenAnfang:=StrToFloat(EdFlaschen05Anfang.text)*0.5+StrToFloat(EdFlaschen1Anfang.text)+StrToFloat(EdFlaschen15Anfang.text)*1.5; ... |
Re: Probs mit Variablentypen
Zitat:
Wenn ich das genau so eingebe wie du es geschrieben hast, bekomme ich diese Fehlermeldung: [Fehler] Kasse.pas(54): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann |
Re: Probs mit Variablentypen
Moin!
Zitat:
MfG Muetze1 |
Re: Probs mit Variablentypen
Danke Muetze1.
ich wäre fast noch daran verzweifelt..... :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 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