AGB  ·  Datenschutz  ·  Impressum  







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

Probs mit Variablentypen

Ein Thema von roxxy · begonnen am 2. Mär 2005 · letzter Beitrag vom 2. Mär 2005
Antwort Antwort
roxxy

Registriert seit: 1. Sep 2004
Ort: Idstein
61 Beiträge
 
Delphi 7 Professional
 
#1

Probs mit Variablentypen

  Alt 2. Mär 2005, 13:06
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....

Hoffe, dass mir jemand mit guter Anleitung helfen kann...
Bin am verzweifeln...


Delphi-Quellcode:
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.
Diese Fehler bekomme ich:
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'
roxxy
Viele wissen nichts, können aber alles erklären
SWAPIT
  Mit Zitat antworten Zitat
Benutzerbild von gordon freeman
gordon freeman

Registriert seit: 28. Jun 2003
Ort: Gelsenkirchen
337 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Probs mit Variablentypen

  Alt 2. Mär 2005, 13:16
Schau dir diese Zeile nochmals genauer an:

(EdFlaschen05Anfang.text*0.5) Du willst einen String, nämlich EdFlaschen05Anfang.text mit einer Zahl multiplizieren, ohne den String vorher umzuwandeln. Ein

strtofloat, oder ähnliches würde abhilfe schaffen!

read you, gordon

//Edit1: Hatte "floattostr" geschrieben
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Probs mit Variablentypen

  Alt 2. Mär 2005, 13:19
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:
...
FlaschenAnfang:=StrToFloat(EdFlaschen05Anfang.text)*0.5+StrToFloat(EdFlaschen1Anfang.text)+StrToFloat(EdFlaschen15Anfang.text)*1.5;
...
Welchen Datentyp Du dan benutzt, Double oder Extended, ist dann egal.
  Mit Zitat antworten Zitat
roxxy

Registriert seit: 1. Sep 2004
Ort: Idstein
61 Beiträge
 
Delphi 7 Professional
 
#4

Re: Probs mit Variablentypen

  Alt 2. Mär 2005, 13:24
Zitat von Gollum:
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:
...
FlaschenAnfang:=StrToFloat(EdFlaschen05Anfang.text)*0.5+StrToFloat(EdFlaschen1Anfang.text)+StrToFloat(EdFlaschen15Anfang.text)*1.5;
...
Welchen Datentyp Du dan benutzt, Double oder Extended, ist dann egal.

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
roxxy
Viele wissen nichts, können aber alles erklären
SWAPIT
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Probs mit Variablentypen

  Alt 2. Mär 2005, 13:27
Moin!

Zitat von roxxy:
Zitat von Gollum:
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:
...
FlaschenAnfang:=StrToFloat(EdFlaschen05Anfang.text)*0.5+StrToFloat(EdFlaschen1Anfang.text)+StrToFloat(EdFlaschen15Anfang.text)*1.5;
...
Welchen Datentyp Du dan benutzt, Double oder Extended, ist dann egal.

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
Wenn du es wirklich genau so eingegeben hast, dann frage ich mich wie der Compiler auf "FloatToStr()" kommt, da er nur "StrToFloat()" verwendet. Daher stimmt da was beim abschreiben nicht...

MfG
Muetze1
  Mit Zitat antworten Zitat
roxxy

Registriert seit: 1. Sep 2004
Ort: Idstein
61 Beiträge
 
Delphi 7 Professional
 
#6

Re: Probs mit Variablentypen

  Alt 2. Mär 2005, 13:31
Danke Muetze1.


ich wäre fast noch daran verzweifelt.....
roxxy
Viele wissen nichts, können aber alles erklären
SWAPIT
  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 12:52 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