AGB  ·  Datenschutz  ·  Impressum  







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

Taschenrechner mit ListBox!

Ein Thema von info.noob · begonnen am 15. Apr 2013 · letzter Beitrag vom 18. Apr 2013
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von info.noob
info.noob

Registriert seit: 15. Apr 2013
Ort: Brownien
23 Beiträge
 
Delphi 5 Standard
 
#21

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 09:00
Ich bin oft sehr direkt, manchmal sogar provokant (wie in diesem Fall), aber ich sagte ja schon: Nimm es nicht zu persönlich, weil du nicht allein damit gemeint warst, auch wenn du nun die "volle Ladung" abbekommen hast. Ein Hinweis wie "Lösung gibt's hier <Link>" oder sowas in der Form hätte völlig gereicht (und um das zu schreiben, braucht man ja keine Stunden).

MfG Dalai
ja, ich weiß was du meinst...aber ich hab in dem moment einfach nich daran gedacht! Tut mir wirklich leid!
Amanda Dermish-Knudsht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 09:05
Sooo schlimm isses ja nu auch wieder nich. Einfach beim nächsten Mal dran denken, und alles ist feini feini
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
Benutzerbild von info.noob
info.noob

Registriert seit: 15. Apr 2013
Ort: Brownien
23 Beiträge
 
Delphi 5 Standard
 
#23

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:33
Sorry, dass ich noch mal fragen muss, aber es ist wichtig!
Ich möchte jetzt nämlich, dass eine Fehlermeldung angezeigt wird, wenn in einem der edits nichts reingeschrieben wurde und man auf Ergebnis drückt. Ich habs schon mit dem versucht: if (zaehler.Text = '') or (zaehler2.Text = '') then begin ShowMessage('Du hast was vergessen!') end; Aber hat nicht geklappt. Das Programm ist nur wieder abgestürzt.

Hier ist mein Quellcode nochmal:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, jpeg;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    zaehler: TEdit;
    reset: TButton;
    zaehler2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Image1: TImage;
    ListBox: TListBox;
    berechnen: TButton;
    schliessen: TButton;
    ergebnis: TLabel;
    Timer: TTimer;
    fehler1: TLabel;
    Image2: TImage;
    DatumUhr1: TLabel;
    procedure berechnenClick(Sender: TObject);
    procedure schliessenClick(Sender: TObject);
    procedure resetClick(Sender: TObject);
    procedure TimerTimer(Sender: TObject);
    procedure Image1Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure zaehlerKeyPress(Sender: TObject; var Key: Char);
    procedure zaehler2KeyPress(Sender: TObject; var Key: Char);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
   a,b: real;
implementation

{$R *.DFM}



procedure TForm1.berechnenClick(Sender: TObject);
var a, b: real;
begin
    a:= StrtoFloat(zaehler.Text);
    b:= StrtoFloat(zaehler2.Text);

   if ListBox.selected[0] then ergebnis.Caption:= FloattoStrF(a + b,ffFixed,10,4);
   if ListBox.selected[1] then ergebnis.Caption:= FloattoStrF(a - b,ffFixed,10,4);
   if ListBox.selected[2] then ergebnis.Caption:= FloattoStrF(a * b,ffFixed,10,4);
   if (ListBox.selected[3]) and (b=0) then begin
      Showmessage('Durch 0 darf nicht geteilt werden!')end;
   if (ListBox.selected[3]) and (b <> 0)then
       ergebnis.Caption:= FloattoStrF(a / b,ffFixed,10,4);
  if (a>=9999999999999999) or (b>=9999999999999999) then begin ShowMessage('Die Zahl ist zu groß') end;
   end;
procedure TForm1.schliessenClick(Sender: TObject);
begin
Close();
end;

procedure TForm1.resetClick(Sender: TObject);
begin
zaehler.Clear;
zaehler2.Clear;
ergebnis.Caption:='Ergebnis'
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
   DatumUhr1.Caption:=DateTimeToStr(Now)+ ' Uhr';
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
Showmessage('Artwork © by Yana Toboso');
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
Showmessage('Artwork © by Yana Toboso and edited by us')
end;

procedure TForm1.zaehlerKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#08,',']) then begin
 key:= #0;
 Beep;
  end;
end;

procedure TForm1.zaehler2KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#08,',']) then begin
 key:= #0;
 Beep;
  end;
end;

end.
Amanda Dermish-Knudsht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:35
Und wo steht da jetzt der angesprochene Code?
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
Benutzerbild von info.noob
info.noob

Registriert seit: 15. Apr 2013
Ort: Brownien
23 Beiträge
 
Delphi 5 Standard
 
#25

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:46
Und wo steht da jetzt der angesprochene Code?
Den hab ich vorher hingeschrieben.. hab ihn gelöscht weil es nicht ging, kann es aber auch mit code reinschreibe
(Hab jetzt nur den Teil genommen, der verändert wurde.)


Delphi-Quellcode:
procedure TForm1.berechnenClick(Sender: TObject);
var a, b: real;
begin
    a:= StrtoFloat(zaehler.Text);
    b:= StrtoFloat(zaehler2.Text);
    FocusControl(reset);
   if ListBox.selected[0] then ergebnis.Caption:= FloattoStrF(a + b,ffFixed,10,4);
   if ListBox.selected[1] then ergebnis.Caption:= FloattoStrF(a - b,ffFixed,10,4);
   if ListBox.selected[2] then ergebnis.Caption:= FloattoStrF(a * b,ffFixed,10,4);
   if (ListBox.selected[3]) and (b=0) then begin
      Showmessage('Durch 0 darf nicht geteilt werden!')end;
   if (ListBox.selected[3]) and (b <> 0)then
       ergebnis.Caption:= FloattoStrF(a / b,ffFixed,10,4);
  if (a>=9999999999999999) or (b>=9999999999999999) then begin ShowMessage('Die Zahl ist zu groß') end;
      //Hier der Code, der nicht geht :
  if (zaehler.Text = '') or (zaehler2.Text = '') then begin ShowMessage('Da fehlt etwas!')end;
   end;
Amanda Dermish-Knudsht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:48
Meinst Du nicht, dass es sinniger wäre, zuerst auf gültige Eingaben zu prüfen, bevor man versucht, diese umzuwandeln und damit zu arbeiten?
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
Benutzerbild von info.noob
info.noob

Registriert seit: 15. Apr 2013
Ort: Brownien
23 Beiträge
 
Delphi 5 Standard
 
#27

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:51
Meinst Du nicht, dass es sinniger wäre, zuerst auf gültige Eingaben zu prüfen, bevor man versucht, diese umzuwandeln und damit zu arbeiten?
Wie meinst du das? Meinst du die Edit Felder prüfen? Wenn ja, dann weiß ich leider nicht wie das geht!
Amanda Dermish-Knudsht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 19:54
Wie, Du weißt nicht, wie das geht? Du tust das doch bereits, nur eben viel zu spät. Mal anders gefragt: was ist an dieser Logik falsch?
Delphi-Quellcode:
Wasser.GießInEimer;
if Eimer.ÖffnungUnten then
  ShowMessage('Du musst den Eimer umdrehen');
Macht das so nicht mehr Sinn?
Delphi-Quellcode:
if Eimer.ÖffnungUnten then
  ShowMessage('Du musst den Eimer umdrehen')
else
  Wasser.GießInEimer;
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
Benutzerbild von info.noob
info.noob

Registriert seit: 15. Apr 2013
Ort: Brownien
23 Beiträge
 
Delphi 5 Standard
 
#29

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 20:01
Wie, Du weißt nicht, wie das geht? Du tust das doch bereits, nur eben viel zu spät. Mal anders gefragt: was ist an dieser Logik falsch?
Delphi-Quellcode:
Wasser.GießInEimer;
if Eimer.ÖffnungUnten then
  ShowMessage('Du musst den Eimer umdrehen');
Macht das so nicht mehr Sinn?
Delphi-Quellcode:
if Eimer.ÖffnungUnten then
  ShowMessage('Du musst den Eimer umdrehen')
else
  Wasser.GießInEimer;
Du meinst also ich soll das vor die ganzen anderen sachen schreiben und die dann im Grunde als else?! Dann hätte ich noch eine frage, wie schreibt man das denn dann?
Amanda Dermish-Knudsht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Taschenrechner mit ListBox!

  Alt 18. Apr 2013, 20:05
Ist das Dein Ernst? Mit Eurem Info-Lehrer würde ich gern mal ein paar Takte reden.
Delphi-Quellcode:
if (zaehler.Text = '') or (zaehler2.Text = '') then
  begin
    ShowMessage('Da fehlt etwas!');
  end
else
  begin
    a:= StrtoFloat(zaehler.Text);
    b:= StrtoFloat(zaehler2.Text);
    //usw.
  end;
Wobei damit auch noch nicht sichergestellt ist, dass es klappt (was ist denn, wenn jemand Buchstaben eingibt?), aber zumindest Leerstrings sollten keine Fehler mehr verursachen.
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
Antwort Antwort
Seite 3 von 4     123 4      

 

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 04:03 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