AGB  ·  Datenschutz  ·  Impressum  







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

Prob mit Schul- und Privat Delphen.

Ein Thema von Zombi · begonnen am 15. Mär 2003 · letzter Beitrag vom 18. Mär 2003
Antwort Antwort
Seite 2 von 3     12 3      
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.106 Beiträge
 
Delphi 11 Alexandria
 
#11
  Alt 16. Mär 2003, 02:03
Moin Zombi,

lass' mal bei Deiner Funktion das StrToFloat weg (und natürlich auch die zugehörige schliessende Klammer)

Mit StrToInt wird ja der Wert des Editfeldes in eine Ganzzahl verwandelt, und dann gleich weiter in eine Gleitkommazahl.
Das Ergebnis ist also schon eine Gleitkommazahl, so dass StrToFloat nicht gehen kann, da ja kein String für die Funktion zur Verfügung steht.

Es wäre übrigens sicherer StrToIntDef zu verwenden, denn dann kannst Du, für den Fall, dass im Editfeld keine Zahl steht einen Defaultwert annehmen. Ansonsten würde im Fehlerfalle eine Exception ausgelöst werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Zombi

Registriert seit: 12. Mär 2003
Ort: Lengerich
38 Beiträge
 
Delphi 7 Enterprise
 
#12
  Alt 16. Mär 2003, 12:57
Tach!

Also das mit der Fehlerhaften Eingabe regel ich anders ich hab mir ne Fehlermeldung gebastelt und hab ihm dann gesagt bei Fehlerhafter Eingabe soll er dann halt die Fehlermeldung zeigen. Das hab ich mit.
Delphi-Quellcode:
Try
blabla
On EconvertError Do
blabla
Doch das mit result klappt immer noch nich
Ich kann machen was ich will der sagt mir immer wieder Begin expected but End found.. warum zum Hacker will der nen begin ham is der blöd ? ich will das doch einfach nur ausrechnen der QT sieht dann so aus :
Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  result:=StrToInt(Edit1.Text)*9/5+32;
end;
THX
cya

MfG Zombi
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#13
  Alt 16. Mär 2003, 13:23
Schau dir unbedingt die Hilfe zu Funktionen, Try-Blöcken und Übergabeparametern an. Wenn alles so einfach wäre, könnte es ja jeder

Delphi-Quellcode:
try
 ...
except // oder auch finally
  on xxx do
end;
Die Sache mit dem StrtoInt hat einen großen Nachteil, es wären nur Integerwerte zur Berechnung möglich.
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Zombi

Registriert seit: 12. Mär 2003
Ort: Lengerich
38 Beiträge
 
Delphi 7 Enterprise
 
#14
  Alt 16. Mär 2003, 14:35
Tach.

Mit dem Try und Except Block hab ich ja nich wirklich schwierigkeiten ich wollte nur mal posten wie ich das mache

Ich habe nur Probz mit der Result Funktion, deswegen währe ich schon sehr dankbar wenn mir jemand eine funzende Funktion mit dem Fahrenheit quatsch posten würde. Ich würde sie mir dann angucken, draus lernen, nutzen

cya
THX

MfG
Zombi
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#15
  Alt 16. Mär 2003, 14:46
Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  result := Parameter * 9 / 5 + 32;
end;
So schwer war es doch nicht! Hättest mit ein bißchen nachdenken auch drauf kommen können und so viel mehr daraus gelernt!
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Zombi

Registriert seit: 12. Mär 2003
Ort: Lengerich
38 Beiträge
 
Delphi 7 Enterprise
 
#16
  Alt 16. Mär 2003, 15:34
Tach !

Sorry aber genau das hab ich auch ausprobiert und mein Rechner hat nix anderes zu tun als mir ständig Fehlermeldungen zu geben . entweder er meint
Begin expected but end found oder ein ganz unbekannte Fehlermeldung
[Warning] Celsius.pas(51): Return value of function 'CelsiusinFahrenheit' might be undefined
Is aber von wegen undefined ich habe den QT genau wie du ihn beschrieben hast *grr*

Voll der Abfall aber ich werde das jetzt ersteinmal so lange testen bis es funzt...
Das coolste noch is wenn ich einfach 2 Labels und 2 Buttons mache und nicht mein fertiges Programm wo ich einfach immer nur die Formel ändere, dann meint er wenn ich die Funktion bei dem einen Button eingestellt habe das ihm wenn ich Button 2 einstelle eine implementation fehlt.. naja ich hab ja mein fertiges PRogramm und ich teste das jetzt solange bis es funzt!

THX
cya

MfG
Zombi
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#17
  Alt 16. Mär 2003, 15:38
Zitat von Zombi:
Sorry aber genau das hab ich auch ausprobiert und mein Rechner hat nix anderes zu tun als mir ständig Fehlermeldungen zu geben . entweder er meint
Begin expected but end found
Warscheinlich ein ; vergessen
Zitat:
oder ein ganz unbekannte Fehlermeldung
[Warning] Celsius.pas(51): Return value of function 'CelsiusinFahrenheit' might be undefined
Is aber von wegen undefined ich habe den QT genau wie du ihn beschrieben hast *grr*
Nicht unbekannt, sondern intelliegenter Compiler.

Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  Result := 0;
  result := Parameter * 9 / 5 + 32;
end;
Er sagt ja, Ergebniss könnte undefiniert sein, oder ist es. Man muss in jeder Funktion Result erstmal auf ein Standardwert setzen.


Grüsse, Daniel
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#18
  Alt 16. Mär 2003, 16:26
Hallo Daniel

Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  result := Parameter * 9 / 5 + 32;
end;
ist so niemals undefiniert, habs eben getestet. Sicher kann man bei komplexen Funktionen sofort ein Result definieren, hier ist es nicht nötig da immer definiert.


Hier sieht es natürlich anders aus:
Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  if parameter > -274 then
    result := Parameter * 9 / 5 + 32;
end;
PS: Es gibt eine fertige CelsiustoFahrenheit
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Zombi

Registriert seit: 12. Mär 2003
Ort: Lengerich
38 Beiträge
 
Delphi 7 Enterprise
 
#19
  Alt 17. Mär 2003, 16:05
Hi!

Danke für eure Hilfe doch sehr viel weiter bin ich leider immer noch nich ich habe alles ausprobiert was ihr geschrieben habt und auch sehr viel selber probiert doch Delphi hat so dermaßen viele Fehlermeldungen das gibts nich. Damals als ich in der Schule Pascal gelernt hab war das alles easyer soweit wie ich das gelernt habe waren die Fehlermeldungen wie ich finde doch leichter zu verstehen. Vor allem gabs nur eine Möglichkeit nicht so wie in meinen allerersten Beitrag wo das aus der Schule und das was ich mache theoretisch das gleiche bewirkt aber doch anders is. Hmm entweder ich erfahre jetzt warum und wie ich bei meiner Lösung ein FormatFloat mache oder ich musses lassen das mit dem result klappt ja doch nich

trotzdem THX

cya

MfG Zombi
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20
  Alt 17. Mär 2003, 16:21
Delphi-Quellcode:
function CelsiusinFahrenheit (Parameter : Real) : Real;
Begin
  result := Parameter * 9 / 5 + 32;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := FormatFloat('#.##', Celsiusinfahrenheit(StrToFloat(Edit1.Text)));
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 09:06 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