Autor Beitrag
Tabakbrummel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124

win 7
Turbo Delphi, VS 20010 Express
BeitragVerfasst: So 22.02.09 09:51 
Hallo

Mein Problem ist ich möchte das negative Zahlen ausgeschlossen werden. Also wenn zum Beispiel -58 angezeigt wird soll dann 0 stehen.
Aber bei mein Code auf den Button clicke wird im Panel nichts Angezeigt.
Was mache ich hier Falsch?

Hier ist mal mein Code.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button4Click(Sender: TObject);
var
  Dateiname : Real;
begin
  Dateiname := Anzünder[ComboBox2.ItemIndex];
  if Panel2.Caption >IntToStr(0then
    begin
      Panel2.Caption := IntToStr(Trunc((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Edit4.Text)) / 2)) + ' Stück möglich';
    end;
end;

_________________
MfG
Tabakbrummel
Ulixes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 63

Win Vista Home Premium
Delphi 2009 Professional, XHTML, CSS, PHP
BeitragVerfasst: So 22.02.09 10:49 
Hallo,

wenn ich dein Problem richtig verstehe, brauchst du den Betrag einer Zahl, sodass du dies
dann addieren kannst und bei Null bist. Schau dafür mal unter der Funktion "Abs()".
Wenn du ein Problem mit der Erkennung von positiven bzw. negativen Zahlen hast, dann
schau dir die Funktion "sign" an, welche in der MathUnit integriert ist.

Ich hoffe, dass dir das hilft!

Schöne Grüße

//EDIT: Kann am Morgen wohl noch nicht klar denken. :oops:


Zuletzt bearbeitet von Ulixes am So 22.02.09 10:57, insgesamt 1-mal bearbeitet
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: So 22.02.09 10:51 
Du prüfst nur darauf, ob die Zahl in Panel2.Caption größer 0 ist:
user profile iconTabakbrummel hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
if Panel2.Caption >IntToStr(0then					

Du hast dann aber nicht den Fall eingebaut, dass es eine Minuszahl ist (was du ja haben willst).
Wenn bei einer Minuszahl automatisch 0 angezeigt werden soll (oder du überhaupt etwas machen möchtest, wenn es eine Minuszahl ist), dann musst du wohl noch ne extra IF-Abfrage einbauen, oder dieses an die alte mit else anhängen.

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
Tabakbrummel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124

win 7
Turbo Delphi, VS 20010 Express
BeitragVerfasst: So 22.02.09 11:25 
Hallo Webo

Erstmal danke für deine Antwort.
Ich habe es jetzt so gemacht.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
  if Panel2.Caption < IntToStr(0)  then
  Panel2.Caption := IntToStr(Trunc((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Edit4.Text)) / 2)) + ' Stück möglich';
  if Panel2.Caption > IntToStr(0then
  Panel2.Caption := IntToStr(Trunc((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Edit4.Text)) / 2)) + ' Stück möglich'
  else
  Panel2.Caption := '0' + ' Stück möglich';

_________________
MfG
Tabakbrummel
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 22.02.09 11:42 
Das dürfte dann das gleiche sein.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if Panel2.Caption <> IntToStr(0)  then
  Panel2.Caption := IntToStr(Trunc((StrToFloat(Edit3.Text) / Dateiname - StrToFloat(Edit4.Text)) / 2)) + ' Stück möglich'
  else
  Panel2.Caption := '0 Stück möglich';

:wink:
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 22.02.09 12:40 
user profile iconWebo hat folgendes geschrieben Zum zitierten Posting springen:
Du prüfst nur darauf, ob die Zahl in Panel2.Caption größer 0 ist:
Nope. Er prüft, ob der String in Caption größer als '0' ist. Richtig wäre
ausblenden Delphi-Quelltext
1:
StrToInt(Panel2.Caption) > 0					

_________________
>λ=
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: So 22.02.09 12:55 
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Nope. Er prüft, ob der String in Caption größer als '0' ist.

Das ist mir heute morgen gar nicht aufgefallen ... Du hast aber natürlich Recht :)

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1753

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 22.02.09 14:12 
Und noch einfacher (und sauberer) wäre es, das an der Stelle zu machen, wo der Zahlenwert ins Panel geschrieben wird, anstatt aus der Anzeige im Panel einen String wieder auszulesen und weiterzuverarbeiten...