Temperator: Temperatur und Kelvin

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • So so sieht jetzt der code aus aber ich hab irgendwie noch ein paar fehler bei dem berechnen von kelvin geht einfach nicht:
    unit Hauptfenster;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    Tabelle;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}


    procedure TForm1.Button1Click(Sender: TObject);
    var Zahl1, Zahl2 : Extended;
    var kelvin, celsius, fahrenheit : integer;
    begin
    Zahl1 := StrToFloat(Edit1.Text);
    Zahl2 := StrToFloat(Edit2.Text);

    if zahl2 < zahl1 then
    ShowMessage('Anfangstemperatur ist zu groß')
    else

    begin

    celsius := StrToInt(Edit1.Text);
    celsius := 10; // das hier muss aus deinem Formularfeld kommen, also celsius := StrToInt(eingabe.Text);
    kelvin := celsius + 273;
    fahrenheit := celsius * 1.8 + 32;

    end;

    end;

    end.
  • Nein ich glaub du hasst da was falsch verstanden oder es kam falsch rüber ich bin nur halt in eile weil ich es morgen abgeben muss und ich hab schon so viele sachen durchgelesen und blick halt immer noch nicht durch
    deswegen also es wäre sehr nett wenn ihr mir bei meinem problem weiter helfen könntet
  • Neuling wrote:

    Nein ich glaub du hasst da was falsch verstanden oder es kam falsch rüber ich bin nur halt in eile weil ich es morgen abgeben muss und ich hab schon so viele sachen durchgelesen und blick halt immer noch nicht durch
    deswegen also es wäre sehr nett wenn ihr mir bei meinem problem weiter helfen könntet

    die frage ist wie man einer person helfen soll, die selber nicht durchblick was sie nun letzlich genau realisieren will.
  • nein die aufgabe ist ja klar ganz am anfang steht sie ja und wie weit ich bin ist ja auch klar mein problem ist das ich nicht genau weis wie ich die funktion schreiben soll und wie dann die ergebnisse in einer tabelle angezeigt werden können
  • bei mir kommt RAD-studios nicht definiert wenn ich f1 drücke aber eine tabelle habe ich schon mit stringrid erstellt in ein seperates unit jetzt möchte ich das wenn ich im hauptfenster oder unit 1 was rechne das dieses ergebniss
    in dieser tabelle im unit 2 ausgegeben wird!!!
  • und noch was wo ist hier mein fehler???
    unit Hauptfenster;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    Tabelle;

    // das ergebnis in Tabelle ausgeben!!!
    // Instanz von Formular2.(Edit1feld.Text):= ;
    type
    TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    var
    Form1: TForm1;

    implementation


    {$R *.dfm}


    procedure TForm1.Button1Click(Sender: TObject);
    var Zahl1, Zahl2 : Extended;
    //repeat-until schleife
    // var i, ergebniss, max : Integer;
    // richtig : Boolean;
    var kelvin, celsius, fahrenheit : integer;
    begin

    //umformen der eingaben Anfangstemp. und endtemp. in String
    Zahl1 := StrToFloat(Edit1.Text);
    Zahl2 := StrToFloat(Edit2.Text);
    celsius := StrToInt(Edit1.Text);

    if zahl2 < zahl1 then
    //Fehlermeldung bei zu großer Anfangstemp.
    ShowMessage('Anfangstemperatur ist zu groß')
    else

    zahl1 := zahl1+10 ;
    //showMessage('zahl1');

    //berechnung
    celsius := celsius;
    kelvin := celsius + 273;
    fahrenheit := celsius * 1.8 + 32;

    //repeat-until schleife
    // i := +10;
    // ergebniss := Zahl1;
    // repeat
    // i := i + Zahl1;
    // ergebniss := zahl1+i;
    // until ergebniss >= Zahl2;

    end;



    end.

    ich blick da grad nicht was ich falsch gemacht habe
  • Neuling wrote:

    mal ne ganz blöde frage wo schreibeich das Form2.StringGrid1.Cells[0,0] := 'Hallo'; da rein????

    Ei an der Stelle wo du die Ausgabe tätigen möchtest.

    Neuling wrote:

    ich blick da grad nicht was ich falsch gemacht habe

    [Fehler] Unit1.pas(??): Inkompatible Typen: 'Integer' und 'Extended'

    Steht doch beim Fehler da, du musst kompatible Typen benutzen, am besten die Integer typen als Extended definieren.

    Mfg Rushh0ur
  • ich hab bei fahrenheit einen fehler undwenn ich es ausklammere geht es trotzdem nichts bzw. ich gebe die daten ein und es kommt nichts kannst du nicht mal dir des anschauen und mir die loesung mal zeigen ich kenn mich da nicht so gut
    aus und die sachen wo du mir schreibst helfen mir auch nicht wirklich weiter tut mir leid aber trotzdem danke!!!