AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Brauche dringend Hilfe

Ein Thema von LDProgrammierer · begonnen am 24. Aug 2010 · letzter Beitrag vom 27. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2   
LDProgrammierer

Registriert seit: 16. Aug 2010
10 Beiträge
 
Delphi 7 Enterprise
 
#1

Brauche dringend Hilfe

  Alt 24. Aug 2010, 14:00
Hallo Leute, ich möchte ein Programm schreiben bei dem der Computer zwei zufällige Zahlen generieren soll, und man dan z.B über ein Edit-Feld die Summe der beiden Zahlen eingeben muss, wobei dann entsprechend eine Antowrt RICHTIG, oder FALSCH angezeigt wird.

Delphi-Quellcode:
unit AUFGABEN;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XPMan;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label5: TLabel;
    XPManifest1: TXPManifest;
    Label3: TLabel;
    procedure Label1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  a, b, c : Integer;
implementation

{$R *.dfm}

procedure TForm1.Label1Click(Sender: TObject);
begin
randomize;
a := random(100);
b := random(100);
Label2.Caption := IntToStr(a);
Label5.Caption := IntToStr(b);
Label1.Caption := ' Hol dir eine neue Aufgabe oder wähle die Rechenart';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
edit1.Text:=IntToStr(c);
if (c = (a+b)) then Label3.Caption := 'RICHTIG !!!else Label3.Caption := 'FALSCH !!!';
except
Label3.Caption := 'Gib nur Zahlen ein !!!';
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
try
edit1.Text:= IntToStr(c);
if (c = (a-b)) then Label3.Caption := 'RICHTIG !!!else Label3.Caption:= 'FALSCH !!!';
except
Label3.Caption:= 'Gib nur Zahlen ein';
end;
end;
end.
also wenn man auf Label1 klickt werden die Zahlen generiert, so weit klappt es , wenn ich jedoch das Ergebnis eingbe und auf z.b + klicke , dann wird die Eingabe zu null und FALSCH wir angezeigt. Beim ersten Bild habe ich das Programm gestartet beim zweiten habe ich die Zahlen generieren lassen, und in 3 habe ich die Summe eingegeben, im vierten Bild habe ich bereits auf + geklickt, und das geschah dann so. Bitte ich brauche dringend Hilfe, was mache ich falsch, ich denke schon seit über einer Stunde nach was ich tun kann aber nichts klappt mfg.
Miniaturansicht angehängter Grafiken
1.jpg   2.jpg   3.jpg   4.jpg  

Geändert von LDProgrammierer (24. Aug 2010 um 14:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 14:04
Hi, mach mal aus edit1.Text:=IntToStr(c); ein c := StrToInt(edit1.text); mfg

Edit: Oder nutze StrToIntDef, dann kannst du einen Default-Wert angeben, wenn es sich bei "edit1.Text" um keine Zahl handelt...
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/

Geändert von patti (24. Aug 2010 um 14:07 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.518 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 14:07
Und könntest Du Deinem Thema dann noch bitte einen aussagekräftigen Titel verpassen? Hilfe brauchen - in der einen oder andern Form- viele von uns.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.698 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 14:10
@Patty: Eine Fehlerbehandlung in Delphi-Referenz durchsuchenStrToInt wird über Delphi-Referenz durchsuchenTryStrToInt durchgeführt.
Delphi-Referenz durchsuchenStrToIntDef diehnt dazu, daß man einen Standardwert bekommt, wenn es ein Problem gibt. Hier soll aber auf Richtigkeit geprüft werden, da ist StrToIntDef also nicht wirklich angebracht.

XxxDef = Default (Standardwert)
und bei TryXxx kann man einfach an Try-Except denken
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 14:15
@himitsu: Der Einwand ist natürlich berechtigt, aber in diesem Fall finde ich, ist StrToIntDef gar nicht so verkehrt. Er könnte zum Beispiel als Standard-Wert "-1" setzen. Die Addition von zwei positiven Zahlen ist immer positiv, im Falle einer fehlerhaften Eingabe würde der Vergleich dann mit -1 statfinden, was "FALSCH" ergeben würde und das ist denke ich in diesem Fall auch so gewollt... Gut, für die Subtraktion müsste man das vielleicht anders machen, aber mein Hinweis mit StrToIntDef war ja eh nur zur Ergänzung gedacht... Jetzt kennt er gleich zwei Möglichkeiten
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Alt 24. Aug 2010, 14:16     Erstellt von patti
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Doppelpost
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#6

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 15:04
Du gibts der Variable c keinen Wert. Bei der Addition fehlt
c := strtoint(edit1.text); in der ersten Zeile. Bei der Subtraktion ist der gleiche Fehler.

Geändert von martin_ (24. Aug 2010 um 15:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
39.698 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 15:08
Bei der Addition fehlt...
Ich glaub du hast was falsch verstanden.
"c", also das Ergebnis soll der Benutzer eingeben
und dieses soll dann geprüft werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Brauche dringend Hilfe

  Alt 24. Aug 2010, 15:56
@himitsu
also in der Ursprungsform fällt c vom Himmel, nur a und b werden mit random(100) vorbelegt, da hat Martin recht.
Und patti hat ja auch gleich darauf hingewiesen.
Und die Konstruktion (a-b) halte ich auch nicht für so glücklich, da schon eher ABS(a-b)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
LDProgrammierer

Registriert seit: 16. Aug 2010
10 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Brauche dringend Hilfe

  Alt 25. Aug 2010, 11:04
Danke ich habe pattis Vorschlag
Zitat:
Hi, mach mal aus edit1.Text:=IntToStr(c); ein c := StrToInt(edit1.text); mfg
versucht und es hat tatsächlich geklappt, trotzdem danke an alle die geholfen haben mfg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Brauche dringend Hilfe

  Alt 25. Aug 2010, 11:59
Und das nächste mal bitte mit aussagekräftigem Titel! Darauf wurdest du übrigens schon hingewiesen und innerhalb von 24 Stunden kannst du ihn noch selber ändern, indem du den ersten Beitrag editierst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 23:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf