Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Problem mit Typumwandlung
Tabakbrummel - Fr 20.02.09 16:49
Titel: Problem mit Typumwandlung
Hallo
Mein Problem ist mit den Trunc da Kommt Inkompatible Typen:
Was mache ich hier Falsch?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button2Click(Sender: TObject); Const Anzünder: Array[0..1] of Real = (0.8, 1.5); var Zünder : String; Ohm, Dateiname : Real; begin Dateiname := Anzünder[ComboBox1.ItemIndex]; Ohm := 0.018 / StrToFloat(Edit2.Text) * StrToFloat(Edit1.Text); Panel1.Caption := FloatToStr(Ohm); Zünder := FloatToStr((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Panel1.Caption)) / 2); Panel2.Caption := Trunc(Zünder) + ' Zünder möglich'; end; |
Horschdware - Fr 20.02.09 16:52
Zitat Delphi Hilfe:
| Zitat: |
| Die Funktion Trunc konvertiert eine Gleitkommazahl in einen Integer-Wert. |
Zünder ist bei dir aber vom Typ String.
Tabakbrummel - Fr 20.02.09 17:12
Hallo
Jetzt habe ich es so gemacht, da kommt jetzt z.b. 6,6 ist kein gültige Integerwert
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button2Click(Sender: TObject); Const Anzünder: Array[0..1] of Real = (0.8, 1.5); var Zünder : String; Ohm, Dateiname : Real; begin Dateiname := Anzünder[ComboBox1.ItemIndex]; Ohm := 0.018 / StrToFloat(Edit2.Text) * StrToFloat(Edit1.Text); Panel1.Caption := FloatToStr(Ohm); Zünder := FloatToStr((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Panel1.Caption)) / 2); Panel2.Caption := IntToStr(Trunc(StrToInt(Zünder))) + ' Zünder möglich'; end; |
Tabakbrummel - Fr 20.02.09 17:19
Hallo
Ich habe es Hinbekommen.
Delphi-Quelltext
1:
| Panel2.Caption := IntToStr(Trunc(StrToFloat(Zünder))); |
jaenicke - Fr 20.02.09 17:26
Wandele doch den Wert vorher gar nicht erst in einen String um, wenn du ihn danach noch in dieser Weise weiter verarbeiten willst...
Nimm statt deinem Quelltext:
Delphi-Quelltext
1: 2: 3:
| Panel1.Caption := FloatToStr(Ohm); Zünder := FloatToStr((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Panel1.Caption)) / 2); Panel2.Caption := IntToStr(Trunc(StrToFloat(Zünder))); |
doch lieber den:
Delphi-Quelltext
1:
| Panel2.Caption := IntToStr(Trunc((StrToFloat(Edit3.Text) / Dateiname - Ohm) / 2)); |
Dann sparst du dir die ganze Rückrechnerei. Ggf. kannst du das natürlich auch alles in Variablen packen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!