Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Code optimieren (https://www.delphipraxis.net/75392-code-optimieren.html)

Gehstock 18. Aug 2006 19:34

Re: Code optimieren
 
Zitat:

resistor:integer;
Da bekomm ich aber an anderer stelle Probleme

Delphi-Quellcode:
Resistor := floattostr(((strtofloat(edit_UV.text)-          //widerstand
strtofloat(edit_UD.text))/strtofloat(edit_ID.text))*1000);           +++++++ Nämlich hier

if StrTofloat(Resistor)>=1000000 then begin                                 //mohm
pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1000000),2)) +' MOhm';
end;
if StrTofloat(Resistor)<1000000 then begin
if StrTofloat(Resistor)>=1000 then begin                                 //kohm
pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1000),2)) +' KOhm';
end;
end;
if StrTofloat(Resistor)<1000 then begin                                //ohm
pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1),2))+' Ohm';
end;


aber sonst könnte das klappen und gefällt mir ganz gut

_frank_ 18. Aug 2006 19:40

Re: Code optimieren
 
aso...du berechnest den Widerstand...
na dann nehm als Typ extended.
resistor:extended;
und
resistor:=(strtofloat(edit_UV.text)-strtofloat(edit_UD.text))/strtofloat(edit_ID.text)*1000;

ich hoffe, die klammern passen noch...

Gruß Frank

Gehstock 18. Aug 2006 19:44

Re: Code optimieren
 
och nö

Delphi-Quellcode:
begin
case resistor of  **********ordinal type required
 25000..33001:pnl_normresistor.Caption := '27 KOhm';
 16500..22001:pnl_normresistor.Caption := '22 KOhm';

_frank_ 18. Aug 2006 19:48

Re: Code optimieren
 
jo, case geht nicht mit float
evtl. reicht ein
Delphi-Quellcode:
case trunc(resistor) of
HTH Frank

Gehstock 18. Aug 2006 19:54

Re: Code optimieren
 
Ja Danke Reicht

Nächstes Problem :


Delphi-Quellcode:
if (Resistor)>=1000000 then begin                                 //mohm        *******Hab ich schon abgeändert
pnl_calculated_resistor.caption := FloatToStr(Runden(strtofloat(resistor)/1000000),2) +' MOhm';   //*****hier is bestimmt wieder ne klammer falsch
end;
if (Resistor)<1000000 then begin
if (Resistor)>=1000 then begin                                 //kohm
pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1000),2)) +' KOhm';
end;
end;
if (Resistor)<1000 then begin                                //ohm
pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1),2))+' Ohm';
end;
erzeugt ein
Zitat:

There is no overloaded version of 'StrToFloat' that can be called with these arguments
eh ich das mit den Formeln habe dauerts bestimmt jahre

_frank_ 18. Aug 2006 19:56

Re: Code optimieren
 
du machst es schon wieder... (oder immer noch?)

strtofloat(resistor)


mal davon abgesehen, dass du auch dort case verwenden kannst wie oben

Frank

Gehstock 18. Aug 2006 20:03

Re: Code optimieren
 
Delphi-Quellcode:
case trunc(resistor) of


1000000:pnl_calculated_resistor.caption := FloatToStr(Runden(strtofloat(resistor)/1000000),2) +' MOhm';
999999..1000:pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1000),2)) +' KOhm';
9999:pnl_calculated_resistor.caption := FloatToStr(Runden((strtofloat(resistor)/1),2))+' Ohm';
end;
So?
Nerv ich eigendlich?

_frank_ 18. Aug 2006 20:14

Re: Code optimieren
 
Junge...liest du auch mal was wir schreiben?

Delphi-Quellcode:
case trunc(resistor) of
  0..999:pnl_calculated_resistor.caption := FloatToStr(Runden(resistor,2))+' Ohm';
  1000..999999:pnl_calculated_resistor.caption := FloatToStr(Runden((resistor/1000),2)) +' KOhm';
  else :pnl_calculated_resistor.caption := FloatToStr(Runden(resistor/1000000),2) +' MOhm';
end;
(evtl. nach dem else kein ':')

das ständige umwandeln von/nach string...

omata 18. Aug 2006 20:15

Re: Code optimieren
 
wegen Nichtbeachtung gelöscht

Khabarakh 18. Aug 2006 20:16

Re: Code optimieren
 
Zitat:

Zitat von _frank_
evtl. reicht ein
Delphi-Quellcode:
case trunc(resistor) of

Schonmal das Ende der Liste angeschaut? Denn dort wird es mit case NICHT funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.
Seite 2 von 3     12 3      

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