Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Taschenrechner mit ListBox! (https://www.delphipraxis.net/174297-taschenrechner-mit-listbox.html)

info.noob 15. Apr 2013 20:29

Taschenrechner mit ListBox!
 
Hallo allerseits,

ich habe folgendes Problem... In Informatik müssen wir mit Hilfe von Delphi(unsere Version ist Delphi 5)einen Taschenrechner mit einer ListBox (also addieren,etc. auswählen)programmieren. Das Grundlegende hab ich jetzt, aber jetzt muss ich Außnahmen definieren, z.B. dass man nicht durch 0 teilen darf. Ich hab schon einiges daz gefunden aber nicht mit einer ListBox. Ich hab jetzt auch schon Variable a und b definiert also müsste ein Hinweis kommen wenn dividieren ausgewählt ist und durch b=0 geteilt wird.

Ich brauch dringend Hilfe!

Danke im voraus!

hoika 15. Apr 2013 20:39

AW: Taschenrechner mit ListBox!
 
Hallo,

und ich brauch eine konkrete Fragestellung,
mit deinem bisherigen Quellcode.

Sir Rufo 15. Apr 2013 21:04

AW: Taschenrechner mit ListBox!
 
Was hat das Prüfen auf 0 mit der Listbox zu tun? Absolut gar nichts.

Aus der Listbox und den Editfeldern bekommst du Informationen (2 Werte und die Rechenart).
Ist die Rechenart "dividieren" dann darf der 2. Wert nicht 0 sein.

Also hole dir diese Informationen und suche nicht nach fertigen Umsetzungen, wo jemand schon einen Rechner mit einer Listbox programmiert hat.

Suchen kannst du nach "Wie bekomme ich das, was in der Listbox ausgewählt wurde?"
und "Wie bekomme ich die Werte aus einem Editfeld?" (Diese Frage zweimal stellen, oder nur einmal und die Antwort mit 2 multiplizieren)

info.noob 16. Apr 2013 09:09

AW: Taschenrechner mit ListBox!
 
Hier ist mein Quellcode bisher:

Code:
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;
    fehler2: TLabel;
    procedure berechnenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

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

{$R *.DFM}



procedure TForm1.berechnenClick(Sender: TObject);

begin
    a:= StrtoFloat(zaehler.Text);
    b:= StrtoFloat(zaehler2.Text);

   if ListBox.selected[0] then ergebnis.Caption:= FloattoStr(StrtoFloat(zaehler.text) + StrtoFloat(zaehler2.text));
   if ListBox.selected[1] then ergebnis.Caption:= FloattoStr(StrtoFloat(zaehler.text) - StrtoFloat(zaehler2.text));
   if ListBox.selected[2] then ergebnis.Caption:= FloattoStr(StrtoFloat(zaehler.text) * StrtoFloat(zaehler2.text));
   if ListBox.selected[3] then ergebnis.Caption:= FloattoStr(StrtoFloat(zaehler.text) / StrtoFloat(zaehler2.text));

end;


end.



Ich möchte nun, dass, wenn in zahler2 (also b) 0 steht, während dividieren in der listbox ausgewählt ist,die Meldung erscheint, dass man nicht durch 0 teilen kann erscheint. Wie das mit der Meldung geht, weiss ich schon, aber nicht wie man das mit der listbox verbindet.

DeddyH 16. Apr 2013 09:18

AW: Taschenrechner mit ListBox!
 
Vielleicht hast Du es überlesen: das Prüfen auf 0 hat nichts, aber auch gar nichts, man kann auch sagen überhaupt nichts mit einer Listbox zu tun. Die Listbox dient nur der Darstellung, alles andere solltest Du in Methoden auslagern, empfehlenswerterweise in solche mit Parametern. Ein Beispiel zur Verdeutlichung:
Delphi-Quellcode:
function TForm1.Division(Dividend, Divisor: double): double;
begin
  Result := 0;
  if math.IsZero(Divisor, 0.0001) then
    raise Exception.Create('Teilen durch 0 nicht erlaubt');
  Result := Dividend / Divisor;
end;

Der schöne Günther 16. Apr 2013 09:31

AW: Taschenrechner mit ListBox!
 
1) Warum merkst du dir erst in
Delphi-Quellcode:
a
und
Delphi-Quellcode:
b
als Fließkommazahl, was in den Edit-Feldern steht und benutzt es dann nicht?

Delphi-Quellcode:
if ListBox.selected[0] then ergebnis.Caption:= FloattoStr(a + b);
liest und schreibt sich doch wohl besser als
Delphi-Quellcode:
if ListBox.selected[0] then ergebnis.Caption:= FloattoStr(StrtoFloat(zaehler.text) + StrtoFloat(zaehler2.text));
Oder? ;-)




2) Eine noch einfachere Methode wäre doch einfach zu sagen "Wenn das dritte Item in der Listbox ausgewählt ist (Division) und b=0 ist, dann
Delphi-Quellcode:
begin
   ShowMessage('Teilen durch 0 nicht erlaubt');
   Exit;
end;

info.noob 16. Apr 2013 10:02

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1211625)
1)
2) Eine noch einfachere Methode wäre doch einfach zu sagen "Wenn das dritte Item in der Listbox ausgewählt ist (Division) und b=0 ist, dann
Delphi-Quellcode:
begin
   ShowMessage('Teilen durch 0 nicht erlaubt');
   Exit;
end;

Das hab ich schon versucht, aber wenn icht dann schreibe
Delphi-Quellcode:
if ListBox.selected[3] and b=0 then
zeigt es mir sofort als Fehler an! Das war auch mein ursprüngliches Problem.

Der schöne Günther 16. Apr 2013 10:06

AW: Taschenrechner mit ListBox!
 
Immer Klammern um die einzelnen logischen Terme die du mit und, oder, x-oder und allem möglichen verknüpfst machen:

Delphi-Quellcode:
if (ListBox.selected[3]) and (b=0) then [...]

info.noob 16. Apr 2013 16:09

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1211631)
Immer Klammern um die einzelnen logischen Terme die du mit und, oder, x-oder und allem möglichen verknüpfst machen:

Delphi-Quellcode:
if (ListBox.selected[3]) and (b=0) then [...]

Vielen vielen Dank!:thumb:
Du bist echt meine Rettung!:-D
Unser Lehrer hat uns leider rein gar nichts erklärt! :(

info.noob 16. Apr 2013 17:02

AW: Taschenrechner mit ListBox!
 
Sorry aber irgendetwas stimmt immer noch nicht...
ich hab das jetzt eingegeben und beim dividieren tut es was es soll, aber jetzt teilt es auch beim addieren, etc.
Wieso ist das so?

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;
    fehler2: TLabel;
    Image2: TImage;
    procedure berechnenClick(Sender: TObject);

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

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

{$R *.DFM}



procedure TForm1.berechnenClick(Sender: TObject);

begin
    a:= StrtoFloat(zaehler.Text);
    b:= StrtoFloat(zaehler2.Text);

   if ListBox.selected[0] then ergebnis.Caption:= FloattoStr(a + b);
   if ListBox.selected[1] then ergebnis.Caption:= FloattoStr(a - b);
   if ListBox.selected[2] then ergebnis.Caption:= FloattoStr(a * b);

   if (ListBox.selected[3]) and (b=0) then
      Showmessage('Durch 0 darf nicht geteilt werden')
   else
   begin
   ergebnis.Caption:= FloattoStr(a / b);
end;

end;

end.

Dalai 16. Apr 2013 18:12

AW: Taschenrechner mit ListBox!
 
[Sorry für etwas OffTopic]

Mal ne Frage meinerseits an die Wissenden, weil es mich interessiert: der Vergleich einer Float-Variable mit einer Konstanten:
Delphi-Quellcode:
var a,b: real;
if [...] (b=0) then
Funktioniert das, wie man das erwartet? Ich weiß, dass der Vergleich zweier Fließkommawerte problematisch ist (Stichwort SameValue, CompareValue und IsZero). Ist das beim Vergleich eines Floats mit einer Konstanten genauso? Wird die Konstante exakt - hier die 0 als 0.0 (unendlich 0) - abgebildet, oder ist es so, wie ich vermute, dass bei irgendeiner Nachkommastelle eine Abweichung vorliegt, die den exakten Vergleich beeinflusst?

MfG Dalai

info.noob 16. Apr 2013 19:58

AW: Taschenrechner mit ListBox!
 
Ist schon gelöst!^^

Dalai 16. Apr 2013 20:28

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von info.noob (Beitrag 1211676)
Ist schon gelöst!^^

Och menno. Warum muss man immer nachfragen, woran es nun lag und wie es gelöst wurde? Was soll das? Hilft dir das, wenn du per Suchmaschine auf ein Thema kommst, in dem am Ende ein solcher/ähnlicher Satz steht?

Ich könnte das auch provokanter formulieren: Warum sollten Helfer noch Zeit in ihre Antworten stecken, wenn die Hilfesuchenden das bei Lösung des Themas nicht tun? Es gehört IMO einfach zum guten Ton und Umgang miteinander, das zu tun. Dazu kommt, dass nicht nur anderen Hilfesuchenden mit einer Lösung geholfen ist, sondern manchmal sogar auch anderen Helfern!

So, das musste mal raus. Nimm es nicht zu persönlich, aber da ich sowas gestern schon in einem anderen Thema gesehen habe, wurde es mir nun zuviel.

MfG Dalai

Sir Rufo 16. Apr 2013 20:33

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Dalai (Beitrag 1211678)
Zitat:

Zitat von info.noob (Beitrag 1211676)
Ist schon gelöst!^^

Och menno. Warum muss man immer nachfragen, woran es nun lag und wie es gelöst wurde? Was soll das? Hilft dir das, wenn du per Suchmaschine auf ein Thema kommst, in dem am Ende ein solcher/ähnlicher Satz steht?

Ich könnte das auch provokanter formulieren: Warum sollten Helfer noch Zeit in ihre Antworten stecken, wenn die Hilfesuchenden das bei Lösung des Themas nicht tun? Es gehört IMO einfach zum guten Ton und Umgang miteinander, das zu tun. Dazu kommt, dass nicht nur anderen Hilfesuchenden mit einer Lösung geholfen ist, sondern manchmal sogar auch anderen Helfern!

So, das musste mal raus. Nimm es nicht zu persönlich, aber da ich sowas gestern schon in einem anderen Thema gesehen habe, wurde es mir nun zuviel.

MfG Dalai

:thumb:

Als sozial bezeichnet man Handlungen, wenn auch andere davon profitieren können.
Asozial ist das Gegenteil davon.

Somit hat es jeder selber in der Hand wie Andere ihn wahrnehmen

Mathematiker 16. Apr 2013 20:35

AW: Taschenrechner mit ListBox!
 
Hallo,
seine Lösung findet Ihr unter http://www.entwickler-ecke.de/viewto...=675338#675338. :wink:

Beste Grüße
Mathematiker

Dalai 16. Apr 2013 21:16

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Mathematiker (Beitrag 1211681)
seine Lösung findet Ihr unter http://www.entwickler-ecke.de/viewto...=675338#675338. :wink:

Ah, danke, das mit dem
Delphi-Quellcode:
else
ist mir in seinem Code gar nicht aufgefallen (manchmal hat's der Baum nicht so mit dem Wald :lol:). Aber selbst hierzu ist zu sagen, dass es nett(iquette) gewesen wäre, auf diesen Crosspost hinzuweisen bzw. darauf, dass dort die Lösung zu finden ist. Nunja.

MfG Dalai

Der schöne Günther 16. Apr 2013 21:28

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Dalai (Beitrag 1211666)
oder ist es so, wie ich vermute, dass bei irgendeiner Nachkommastelle eine Abweichung vorliegt, die den exakten Vergleich beeinflusst?

Doch, mit Sicherheit. Nur in diesem konkreten Fall kein Problem, da sich Null exakt darstellen lässt. Mit einer willkürlichen Zahl wie 3,141589 auf exakte Gleichheit zu prüfen ist natürlich fahrlässig.

Dalai 16. Apr 2013 22:02

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1211688)
Zitat:

Zitat von Dalai (Beitrag 1211666)
oder ist es so, wie ich vermute, dass bei irgendeiner Nachkommastelle eine Abweichung vorliegt, die den exakten Vergleich beeinflusst?

Doch, mit Sicherheit. Nur in diesem konkreten Fall kein Problem, da sich Null exakt darstellen lässt. Mit einer willkürlichen Zahl wie 3,141589 auf exakte Gleichheit zu prüfen ist natürlich fahrlässig.

Verstehe. Dankeschön!

MfG Dalai

info.noob 17. Apr 2013 11:35

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Dalai (Beitrag 1211678)
Zitat:

Zitat von info.noob (Beitrag 1211676)
Ist schon gelöst!^^

Och menno. Warum muss man immer nachfragen, woran es nun lag und wie es gelöst wurde? Was soll das? Hilft dir das, wenn du per Suchmaschine auf ein Thema kommst, in dem am Ende ein solcher/ähnlicher Satz steht?

Ich könnte das auch provokanter formulieren: Warum sollten Helfer noch Zeit in ihre Antworten stecken, wenn die Hilfesuchenden das bei Lösung des Themas nicht tun? Es gehört IMO einfach zum guten Ton und Umgang miteinander, das zu tun. Dazu kommt, dass nicht nur anderen Hilfesuchenden mit einer Lösung geholfen ist, sondern manchmal sogar auch anderen Helfern!

So, das musste mal raus. Nimm es nicht zu persönlich, aber da ich sowas gestern schon in einem anderen Thema gesehen habe, wurde es mir nun zuviel.

MfG Dalai

Nur zu deiner Information.. Ich hab nochmal in einem Forum gefragt, eben welchen den du als Crosspost angegeben hast, da meine Dead-Line sehr kurz ist und ich eine schnelle Antwort gebraucht hatte. Ich geb zu, dass ich es hätte verlinken können,ich habs in dem Moment eben vergessen(sorry, dass ich auch mal Fehler mache) aber ,dass du gleich so harsch mit mir bist finde ich recht gemein. Ich kann ja auch nix für die kurze Zeit, die mir für sowas (für mich recht schwieriges, da ich Anfänger bin) zu Verfügung steht.
Zum nächsten Mal merke ich mir eben, dass ich die Lösung dann auch hinschreibe.
Bitteschön!

Dalai 17. Apr 2013 12:48

AW: Taschenrechner mit ListBox!
 
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

info.noob 18. Apr 2013 09:00

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von Dalai (Beitrag 1211767)
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!:(

DeddyH 18. Apr 2013 09:05

AW: Taschenrechner mit ListBox!
 
Sooo schlimm isses ja nu auch wieder nich. Einfach beim nächsten Mal dran denken, und alles ist feini feini :lol:

info.noob 18. Apr 2013 19:33

AW: Taschenrechner mit ListBox!
 
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:
Delphi-Quellcode:
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.

DeddyH 18. Apr 2013 19:35

AW: Taschenrechner mit ListBox!
 
Und wo steht da jetzt der angesprochene Code?

info.noob 18. Apr 2013 19:46

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212020)
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;

DeddyH 18. Apr 2013 19:48

AW: Taschenrechner mit ListBox!
 
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?

info.noob 18. Apr 2013 19:51

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212037)
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!

DeddyH 18. Apr 2013 19:54

AW: Taschenrechner mit ListBox!
 
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;

info.noob 18. Apr 2013 20:01

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212043)
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?

DeddyH 18. Apr 2013 20:05

AW: Taschenrechner mit ListBox!
 
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.

info.noob 18. Apr 2013 20:09

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212045)
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.

Ja, solltest du mal unbedingt!:-D Er hat uns wirklich rein gar nichts gesagt! Also tut mir wirklich leid für meine Dummheit! :) Das mit den Buchstaben hab ich mit dem KeyPress schon geregelt!^^ Übrigens vielen vielen dank! :)

DeddyH 18. Apr 2013 20:12

AW: Taschenrechner mit ListBox!
 
Habt Ihr denn im Vorfeld nicht mit Struktogrammen oder Programmablaufplänen geübt? Logisches Denken hat ja nichts mit der Programmiersprache zu tun, die ist im Grunde doch nur Formulierung des Ablaufs, den man im Vorfeld mit den genannten Werkzeugen skizziert hat.

Mathematiker 18. Apr 2013 20:18

AW: Taschenrechner mit ListBox!
 
Hallo,
Zitat:

Zitat von info.noob (Beitrag 1212047)
Ja, solltest du mal unbedingt!:-D Er hat uns wirklich rein gar nichts gesagt!

Endlich!!!!
Ich warte schon seit Tagen darauf. Der Lehrer ist schuld! Es ist immer der Lehrer! Die sind nämlich doof und faul.
Solcher Blödsinn nervt! :evil:

Mathematiker (einer von den doofen Lehrern)

DeddyH 18. Apr 2013 20:22

AW: Taschenrechner mit ListBox!
 
Bitte jetzt keine diesbezügliche Diskussion. Die Lehrer erklären nix und wissen selbst nicht, was sie tun, und die Schüler sind zu blöd, den Stoff zu begreifen. Was davon stimmt, liegt im Auge des Betrachters, ich denke, irgendwo in der Mitte dürfte objektiv gesehen die Wahrheit liegen. Wenn man allerdings alle paar Wochen auf diese unsägliche mSum-Unit trifft, wundert einen gar nichts mehr.

info.noob 18. Apr 2013 20:24

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212048)
Habt Ihr denn im Vorfeld nicht mit Struktogrammen oder Programmablaufplänen geübt? Logisches Denken hat ja nichts mit der Programmiersprache zu tun, die ist im Grunde doch nur Formulierung des Ablaufs, den man im Vorfeld mit den genannten Werkzeugen skizziert hat.

Nein, leider nicht! Er hat uns gesagt, dass wir einen taschenrechner machen sollen, und uns ein blatt gegeben, auf welchem steht was wir benutzen sollen(z.b benutze focuscontrol, verwende die funktin floattostr...) aber mehr nicht...
Zitat:

Zitat von Mathematiker (Beitrag 1212052)
Hallo,
Zitat:

Zitat von info.noob (Beitrag 1212047)
Ja, solltest du mal unbedingt!:-D Er hat uns wirklich rein gar nichts gesagt!

Endlich!!!!
Ich warte schon seit Tagen darauf. Der Lehrer ist schuld! Es ist immer der Lehrer! Die sind nämlich doof und faul.
Solcher Blödsinn nervt! :evil:

Mathematiker (einer von den doofen Lehrern)

Das hab ich nie gesagt! Er ist eigentlich sogar ein sehr guter Lehrer, aber in dem Falle ist er einfach davon ausgegangen, dass wir es sofort verstehen, bzw. die Delphi-Hilfe reicht(und die funktioniert bei mir nicht mal, da ich windows 8 hab) Also bitte treff nicht voreilige Schlüsse. Es ist eben die Wahrheit! Sons twürde ich ja kaum in diesem Forum nach Hilfe fragen!

DeddyH 18. Apr 2013 20:27

AW: Taschenrechner mit ListBox!
 
Das mit der Hilfe lässt sich ändern: http://www.microsoft.com/de-de/downl....aspx?id=35449

info.noob 18. Apr 2013 20:29

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212055)
Das mit der Hilfe lässt sich ändern: http://www.microsoft.com/de-de/downl....aspx?id=35449

Danke für den Link!:thumb:

Ich werd mal ausprobieren, ob es geht!

...Ja! Funktioniert einwandfrei!^^

DeddyH 18. Apr 2013 20:31

AW: Taschenrechner mit ListBox!
 
Bei mir geht' s, ich habe unter Win 8 64Bit Delphi 5 und Delphi 7 am Laufen samt Hilfe.

info.noob 18. Apr 2013 20:35

AW: Taschenrechner mit ListBox!
 
Zitat:

Zitat von DeddyH (Beitrag 1212058)
Bei mir geht' s, ich habe unter Win 8 64Bit Delphi 5 und Delphi 7 am Laufen samt Hilfe.

Jap, bei mir auch!^^
Vielen Dank für deine Hilfe! :thumb::-D

DeddyH 18. Apr 2013 20:36

AW: Taschenrechner mit ListBox!
 
Kein Thema :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 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