AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Edit-Felder auf Inhalt prüfen

Ein Thema von Rookie91 · begonnen am 1. Aug 2015 · letzter Beitrag vom 5. Aug 2015
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
Rookie91

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

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 11:52
Nochmal der Quellcode:

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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#32

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 11:53
Dann kann ja kein anderer Wert drinstehen, es sei denn, er wird zwischendurch wieder überschrieben oder der ItemIndex der ComboBox passt zu keinem case-Label. Gibt denn der Compiler keine Meldungen/Warnungen aus?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Rookie91

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

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 12:02
Habe es gerade durch Zufall herausgefunden: Der Grund war wie DeddyH schreibt der itemindex der combobox. Der stand auf -1. Bin mir sicher, dass ich daran nichts geändert habe..naja mit itemindex 0 funktionierts wieder!

Vielen Dank euch!!
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#34

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 14:09
Aber der itemindex der Combobox hängt doch davon ab, was du anklickst, nicht vom Programm
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#35

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 14:23
Aber der itemindex der Combobox hängt doch davon ab, was du anklickst, nicht vom Programm
Aber diesen Fall hat er nicht abgefragt und somit bleibt d uninitialisiert, was dann ein eher zufälliges Ergebnis produziert.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#36

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 15:56
Klar, er prüft ja auch sonst nichts - bloss frage ich mich, warum er sich über unsinnige Ergebnisse wundert, wenn er dem Programm nicht eingibt, was es rechnen soll...

... der itemindex der combobox. Der stand auf -1. Bin mir sicher, dass ich daran nichts geändert habe..naja mit itemindex 0 funktionierts wieder!
(unterstrichen von mir)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#37

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 16:02
Ich meine mich zu erinnern, das der ItemIndex auf -1 steht, solange man nichts in der Combo *verändert*, d.h. steht dort schon eine Auswahl drin (per OI reingepackt), habe ich dort eben die -1 drin.

Daher verlasse ich mich erst gar nicht auf den ItemIndex und setze ihn with ComboBox1 do ItemIndex := Items.IndexOf(Text); (Komm mir keiner mit 'with' ist böse)

Aber, was lehrt uns das? Immer! Immer und ohne Ausnahme: In ein Case-Statement gehört ein ELSE!
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#38

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 16:11
Wobei in dem Fall ein case Statement ohnehin Unsinn ist:
Delphi-Quellcode:
const werte:array[0..10] of real = (xx, xx, ...);
...

d:=werte[combobox2.ItemIndex]


Zitat:
Daher verlasse ich mich erst gar nicht auf den ItemIndex und setze ihn with ComboBox1 do ItemIndex := Items.IndexOf(Text);
Eine Kombobox ist doch dazu da, dass man zur laufzeit einen Wert anklickt, nicht dazu, dass man vom Programm her den Wert setzt!

Geändert von idefix2 ( 2. Aug 2015 um 16:15 Uhr)
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#39

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 16:20
Ich meine mich zu erinnern, das der ItemIndex auf -1 steht, solange man nichts in der Combo *verändert*, d.h. steht dort schon eine Auswahl drin (per OI reingepackt), habe ich dort eben die -1 drin.
Nein, da steht schon der richtige Wert drin, der zum Text passt (ausser der Text kommt in der Itemliste nicht vor)

andersrum: es wird der Text angezeigt, der zu Itemindex passt, auch wenn im OI ein anderer text eingegeben wurde. Will man eine Vorauswahl haben, muss man im OI den Itemindex entprechend setzen - es hängt natürlich auch vom Style der Compbobox ab. Aber jedenfalls sieht der User, was er ausgewählt hat, wenn er auf den Execute-button (oder so) klickt.

Geändert von idefix2 ( 2. Aug 2015 um 16:27 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#40

AW: Edit-Felder auf Inhalt prüfen

  Alt 2. Aug 2015, 17:31
Hallo,

um noch mal auf das Abfangen leerer Edit-Felder zurückzukommen.

Dein if editxxx.Text='' muss vor dem ersten StrToFloat(editxxx.Text) kommen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:46 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