AGB  ·  Datenschutz  ·  Impressum  







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

Edit-Felder auf Inhalt prüfen

Ein Thema von Rookie91 · begonnen am 1. Aug 2015 · letzter Beitrag vom 5. Aug 2015
Antwort Antwort
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 18:49
Um vielleicht mal einen Ansatz mit etwas Quellcode zu liefern...

So fängt es bei dir an:

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  V, Dichte, n, Re, Laenge, Ergebnis, d: Double;
  Ausgabe: string;
begin
  //schlägt fehl, wenn in Edit1 Mist drin steht -> exception
  V:= StrToFloat(edit1.text)/1000;
Und so sollte es anfangen

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  V, Dichte, n, Re, Laenge, Ergebnis, d: Double;
  Ausgabe: string;
begin
  //hier wird versucht, V aus Edit1 einzulesen
  //wenn das funktioniert, geht es mit true weiter
  if TryStrToFloat(edit1.text, V) then
  begin
    V := V/1000;
    {weitere Werte einlesen, rechnen, Rechnung prüfen}
  end
  else begin
    showmessage('Werte für Volumenstrom und Länge eingeben!');
    edit1.SetFocus;
    edit1.SelectAll;
  end;
end;
Sebastian
  Mit Zitat antworten Zitat
Rookie91

Registriert seit: 29. Jul 2015
16 Beiträge
 
#2

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 20:02
Bevor ich mich daran nochmal versuche, möchte ich aber, dass die Rechnung wieder einwandfrei läuft und ich das ganze dann nochmal abspeichern kann. Was ist denn jetzt daran falsch?:


Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var d,V,Dichte,n,Re: real;
begin
V:= StrToFloat(edit1.Text)/1000;
Dichte:= StrToFloat(edit11.Text);
n:= StrToFloat(edit10.Text)/1000000;
case combobox2.ItemIndex of
0: d:= 0.01;
1: d:= 0.012;
2: d:= 0.015;
3: d:= 0.02;
4: d:= 0.025;
5: d:= 0.032;
6: d:= 0.04;
7: d:= 0.05;
8: d:= 0.06;
9: d:= 0.065;
10: d:= 0.08;
11: d:= 0.1;
end;
Re:= 4*V*Dichte/d/n/3.1416;

if Re >= 2320 then begin ShowMessage('Es liegt keine laminare Strömung mehr vor! Reduziere den Volumenstrom und/oder erhöhe den Rohrdurchmesser!'); end;

edit3.text:= FloatToStr(40.744/d/d/d/d*n*V*StrToFloat(edit2.text));

if Re >=2320 then begin edit3.text:= 'Berechnung fehlgeschlagen'; end;

end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 20:14
Es wurden Dir achon viele Tipps gegeben, welche Du einfach so in den Wind schreibst (Formatierung Try<Typ>To<Typ> usw.)
Markus Kinzler
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 20:19
Welche Programmierumgebung verwendest du denn? Bist du schonmal über den Debugger Schritt für Schritt durchgegangen?
Was genau läuft nicht so, wie es soll?
Sebastian
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.654 Beiträge
 
Delphi 12 Athens
 
#5

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 20:21
Bist du schonmal über den Debugger Schritt für Schritt durchgegangen?
Was genau läuft nicht so, wie es soll?
Das hatte ich auch schon gesagt, aber offensichtlich überliest er solche Hinweise.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 20:27
Na vielleicht erhalten wir ja diesmal eine Antwort, anhand deren man weiterhelfen kann.
Sebastian
  Mit Zitat antworten Zitat
Rookie91

Registriert seit: 29. Jul 2015
16 Beiträge
 
#7

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 21:09
Debugger durchgehen?

Also wenn ich das Programm laufen lasse und berechnen will (also die Rechnung, in der Edit1 und Edit2 benutzt werden und in Edit3 das Ergebnis gezeigt wird) zeigt er mir das hier: "Re:= 4*V*Dichte/d/n/3.1416;" rot an. Dazu die Meldung "floating point overflow". Wenn ich F8 drücke (ist das mit debuggen gemeint?) zeigt er mir noch folgendes rot an: "if Re >=2320 then begin edit3.text:= 'Berechnung fehlgeschlagen'; end;".

Hab den gleichen Quellcode in eine ältere Version des Programms kopiert, da läufts einwandfrei.

Danke, dass ihr mich noch nicht aufgegeben habt
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Edit-Felder auf Inhalt prüfen

  Alt 1. Aug 2015, 21:30
Nochmals die Frage, welche Programmierumgebung.. Lazarus? Delphi?

Du solltest, wenn du auf die Leiste links des Quelltextes klickst, einen Haltepunkt setzen können. Der Debugger sollte dann an dieser Stelle anhalten und du solltest sehen können, welche Werte die Variablen zu diesem zeitpunkt haben. Das erklärt dann möglicherweise schon den Fehler..
Sebastian
  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 20:05 Uhr.
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