AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Simple Frage zu einem Temperaturumrechner
Thema durchsuchen
Ansicht
Themen-Optionen

Simple Frage zu einem Temperaturumrechner

Ein Thema von Icewind2k · begonnen am 2. Sep 2003 · letzter Beitrag vom 27. Nov 2003
Antwort Antwort
Icewind2k

Registriert seit: 29. Aug 2003
4 Beiträge
 
#1

Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 20:40
Ich habe diesen quelltext und das programm dazu funktioniert auch nur möchte ich jetzt das auch die richtigen werte angezeigt werden und nicht nur die gerundeten.

Delphi-Quellcode:
unit blabla;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, Spin;

const
  cNull = 0;
  cFahrenheit = 1;
  cCelsius = 2;
  cReaumur = 3;
  cKelvin = 4;
type
  TFormMain = class(TForm)
    LabelTitle: TLabel;
    LabelF: TLabel;
    LabelR: TLabel;
    LabelC: TLabel;
    SpinEditF: TSpinEdit;
    SpinEditR: TSpinEdit;
    SpinEditC: TSpinEdit;
    BitBtnCalc: TBitBtn;
    BitBtnClose: TBitBtn;
    BitBtnClear: TBitBtn;
    LabelK: TLabel;
    SpinEditK: TSpinEdit;
    procedure FormCreate(Sender: TObject);
    procedure BitBtnCloseClick(Sender: TObject);
    procedure BitBtnCalcClick(Sender: TObject);
    procedure SpinEditFChange(Sender: TObject);
    procedure SpinEditRChange(Sender: TObject);
    procedure SpinEditCChange(Sender: TObject);
    procedure BitBtnClearClick(Sender: TObject);
    procedure SpinEditKChange(Sender: TObject);
  private
    { Private-Deklarationen }
    Quelle: Byte;
  public
    { Public-Deklarationen }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.DFM}

procedure TFormMain.FormCreate(Sender: TObject);
begin
  Quelle := cNull;
end;

procedure TFormMain.BitBtnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TFormMain.BitBtnCalcClick(Sender: TObject);
begin
  case Quelle of
    cFahrenheit: begin
      SpinEditC.Value := Round((SpinEditF.Value-32) / 1.8);
      SpinEditR.Value := Round(4/9 * (SpinEditF.Value-32));
      SpinEditK.Value := Round(5/9 * (SpinEditF.Value-32) + 273);
    end;
    cReaumur: begin
      SpinEditC.Value := Round((SpinEditR.Value) / 0.8);
      SpinEditF.Value := Round((SpinEditR.Value*1.8) + 32);
      SpinEditK.Value := Round(5/4 * SpinEditR.Value + 273);
    end;
    cCelsius: begin
      SpinEditF.Value := Round((SpinEditC.Value * 1.8) + 32);
      SpinEditR.Value := Round(SpinEditC.Value * 0.8);
      SpinEditK.Value := Round(SpinEditC.Value + 273);
    end;
    cKelvin: begin
      SpinEditF.Value := Round(9/5 * (SpinEditK.Value - 273) + 32);
      SpinEditR.Value := Round(4/5 * (SpinEditK.Value - 273));
      SpinEditC.Value := Round(SpinEditK.Value - 273);
    end;
  end
end;

procedure TFormMain.SpinEditFChange(Sender: TObject);
begin
  Quelle := cFahrenheit;
end;

procedure TFormMain.SpinEditRChange(Sender: TObject);
begin
  Quelle := cReaumur;
end;

procedure TFormMain.SpinEditCChange(Sender: TObject);
begin
  Quelle := cCelsius;
end;

procedure TFormMain.BitBtnClearClick(Sender: TObject);
begin
  Quelle := cNull;
  SpinEditC.Value := 0;
  SpinEditF.Value := 0;
  SpinEditR.Value := 0;
  SpinEditK.Value := 0;
end;

procedure TFormMain.SpinEditKChange(Sender: TObject);
begin
  Quelle := cKelvin;
end;

end.
hoffe mir kann jemand helfen.
Hier auch noch das programm

[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]
Angehängte Dateien
Dateityp: exe blabla2.exe (401,5 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Dagon

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

Re: Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 21:04
wenn du keine gerundeten werte haben willst, so musst du überal das round entfernen.
  Mit Zitat antworten Zitat
Icewind2k

Registriert seit: 29. Aug 2003
4 Beiträge
 
#3

Re: Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 21:15
Vielen dank
  Mit Zitat antworten Zitat
Dagon

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

Re: Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 21:17
nichts zu danken
  Mit Zitat antworten Zitat
Icewind2k

Registriert seit: 29. Aug 2003
4 Beiträge
 
#5

Re: Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 21:23
irgendwie spuckt er jetzt gar kein programm mehr aus
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#6

Re: Simple Frage zu einem Temperaturumrechner

  Alt 2. Sep 2003, 21:55
Was willst du damit sagen?

Aber ich vermute mal was in die Richtung
Code:
[Fehler] Unit1.pas(31): Inkompatible Typen: 'Integer' und 'Double'
Ein TSpinEdit.Value ist nämlich integer und sowas

Round((SpinEditF.Value-32) / 1.8); liefert double zurück. Entweder du zeigst jetzt integer-Werte im SpinEdit an. Machst dann so:
Round((SpinEditF.Value-32) div 1.8); oder du verwendest eine andere Komponente um deine Werte zu visualisieren

grüße, daniel
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Simple Frage zu einem Temperaturumrechner

  Alt 3. Sep 2003, 01:28
Also du dividierst durch 1.8 oder multiplizierst mit 0.8, es wird also in jedem Falle in irgend einer weise gerundet. Ich vermute das er nicht richtig rundet oder aber das du auf zehntel/Hunderstel genau anzeigen möchtest, richtig ?

Statt X := Round(Y / 1.8), müsstest du also X := Round(Y * 100 / 1.8) benutzen um in Hunderter Schritten anzuzeigen. Die Anzeige selber dann durch 100 dividieren und als Fließkommazahl anzeigen, eg. FormatFloat().

Gruß hagen

[edit=Luckie]Smilies deaktiviert. Das Kerlchen mit der Sonnebrille hat etwas gestört. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Icewind2k

Registriert seit: 29. Aug 2003
4 Beiträge
 
#8

Re: Simple Frage zu einem Temperaturumrechner

  Alt 3. Sep 2003, 14:21
cool danke
für die beiden antworten
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#9

Re: Simple Frage zu einem Temperaturumrechner

  Alt 3. Sep 2003, 14:30
Hiho...
ganz nettes Tool, doch ich würde an deiner Stelle noch beim Umrechnen Button eine Funktion einbauen, dass man beispielsweise nicht mehr als 5 Stellen bei Celsius eingeben kann!
Das macht zwar keiner, aber wenn man eine lange Zahl eingibt, und umrechnet, dann gibt er was aus, was REIN RECHNERICH nicht stimmt! und wenn man dann nochmal auf umrechnen klickt, springt der Celsiuswert wieder auf 0.
Also das könntest du, falls du das willst, noch abfangen!

Ansonsten schönes Tool


cu Trouble_Maker
  Mit Zitat antworten Zitat
Ben

Registriert seit: 16. Apr 2003
Ort: Neumünster
73 Beiträge
 
Delphi 5 Standard
 
#10

Re: Simple Frage zu einem Temperaturumrechner

  Alt 27. Nov 2003, 17:02
Lol sorry wenn ich lache.. aber der, der das gepostet hat, ist in meinem Info-Kurs und der Code stammt direkt von mir!

BitBtnClear.. SpinEditK.. *bekannt* naja, das Programm gibt's nächste Stunde komplett funktionsfähig auf CD - inkl. Quelltext!

Gruß, Ben
Ben Hübner
  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 00:18 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