AGB  ·  Datenschutz  ·  Impressum  







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

Ratezahl 2 Delphi (leicht)

Ein Thema von andiak · begonnen am 1. Nov 2007 · letzter Beitrag vom 2. Nov 2007
Antwort Antwort
Seite 6 von 7   « Erste     456 7      
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#51

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 12:15
Danke ich probiers mal aus mit dem abs... Das mit der Scrollbar mach ich als kleine unterstützung das man ungefähr sieht in welchem bereich die Zahl liegt... ich denke ich erhöhe den min und max bereich auf 1000

ist das so richtig ?
if (abs(zahl - StrToInt (Eeingabe.Text)) > 0) and (abs(zahl - StrToInt (Eeingabe.Text)) < 5) then Panel1.caption := 'Du bist ganz nah dran!else an welcher stelle muss dieser schnipel rein`?
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#52

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 12:18
Zitat von xX0815Xx:
PPS: Wieso weißt du der Scrollbar.Position die Zufallszahl zu? Da sieht man doch was es in etwa für ne Zahl ist...
er will ja das man raten muss wo die scrollbar ca. is, desshalb da ne zufallszahl
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#53

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 12:54
Ich habe dieses codeschnipsel eingefügtif (abs(zahl - StrToInt (Eeingabe.Text)) > 0) and (abs(zahl - StrToInt (Eeingabe.Text)) < 5) then Panel1.caption := 'Du bist ganz nah dran!else Er hat mir zwar angezeigt das ich nah drann bin und so aber ich könnte die richtige zahln icht mehr finden selbst wenn es wirklich die 28 war hat er mir beim tippen gesagt das sie falsch wäre... das bedeutet wohl ich habe ihn an der falschen stelle eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#54

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:01
Das muss hier rein:
Delphi-Quellcode:
if StrToInt(EEingabe.Text) > Zahl then..
if StrToInt(EEingabe.Text) < Zahl then...
Jonas
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#55

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:05
das versteh ich jetzt nicht :/ was muss hier rein?... ich hab grad volgenden code im internet gefunden kann ich den nicht verwenden

Delphi-Quellcode:
if StrToInt(EEingabe.Text) = Zahl+12 then
    begin
     Panel1.Caption := 'erfroren';
     Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl+10 then
       begin
        Panel1.Caption := 'kalt';
        Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl+8 then
       begin
        Panel1.Caption := 'kuehl';
        Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl+6 then
       begin
        Panel1.Caption := 'lau warm';
        Panel1.Color := clred ;
     if StrToInt(EEingabe.Text) = Zahl+4 then
       begin
        Panel1.Caption := 'warm';
        Panel1.Color := clred ;
     if StrToInt(EEingabe.Text) = Zahl+3 then
       begin
        Panel1.Caption := 'waermer';
        Panel1.Color := clred;
     if StrToInt(EEingabe.Text) = Zahl+1 then
       begin
        Panel1.Caption := 'heiß';
        Panel1.Color := clred ;
    end
  else
     if StrToInt(EEingabe.Text) = Zahl-12 then
       begin
        Panel1.Caption := 'erfroren';
        Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl-10 then
       begin
        Panel1.Caption := 'kalt';
        Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl-8 then
       begin
        Panel1.Caption := 'kuehl';
        Panel1.Color := clblue ;
     if StrToInt(EEingabe.Text) = Zahl-6 then
       begin
        Panel1.Caption := 'lau warm';
        Panel1.Color := clred ;
     if StrToInt(EEingabe.Text) = Zahl-4 then
       begin
        Panel1.Caption := 'warm';
        Panel1.Color := clred ;
     if StrToInt(EEingabe.Text) = Zahl-3 then
       begin
        Panel1.Caption := 'waermer';
        Panel1.Color := clred;
     if StrToInt(EEingabe.Text) = Zahl-1 then
       begin
        Panel1.Caption := 'heiß';
        Panel1.Color := clred ;
    end;
  if StrToInt(EEingabe.Text) = Zahl then
    begin
      Panel1.Caption := 'und verbrannt';
      Panel1.Color := clred
    end
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#56

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:08
Ich würde wie beschrieben mit Bereichen arbeiten.
Markus Kinzler
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#57

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:11
hm ok ich probiere es aber da habe ich noch nicht ganz durchgesehen das versteh ichn och nicht
wo muss ich den diesen hier einfügen damit er richtig funktionier
if (abs(zahl - StrToInt (Eeingabe.Text)) > 0) and (abs(zahl - StrToInt (Eeingabe.Text)) < 5) then Panel1.caption := 'Du bist ganz nah dran!else den nächsten post :
Das muss hier rein:
Delphi-Quellcode: markieren
if StrToInt(EEingabe.Text) > Zahl then..
if StrToInt(EEingabe.Text) < Zahl then...

hab ich nicht verstanden
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#58

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:16
Hör auf mkinzler Mit den Bereichen ist das besser und auch einfacher zu implementieren.

So ungefähr könnte die Abfrgae aussehen:
Delphi-Quellcode:
procedure TForm1.Vergleiche(Sender: TObject);
begin
count := count + 1;
Label4.Caption := IntToStr( count);
if count = 10 then
begin
  Label4.Caption := 'Maximale Rateanzahl erreicht, die Lösung ist: , Neue runde?';
  BRaten.Enabled := false ;
  Label7.Caption := IntToStr ( Zahl);
end;

if StrToInt(EEingabe.Text) > Zahl then
begin
 PAntwort.Color := clred;
 if (abs(zahl - eingabe) > 0) and (abs(zahl - eingabe) < 5) then PAntwort.caption := 'Du bist ganz nah dran, aber die Zahl ist zu groß!else
 if (abs(zahl - eingabe) > 5) and (abs(zahl - eingabe) < 15) then es PAntwort.captin := 'Es wird wärmer, aber noch ist die Zahl zu groß...else
 ...
end;

if StrToInt (EEingabe.Text) < Zahl then
begin
 PAntwort.Color := clred;
 if (abs(zahl - eingabe) > 0) and (abs(zahl - eingabe) < 5) then PAntwort.caption := 'Du bist ganz nah dran, aber die Zahl ist noch etwas zu klein!else
 if (abs(zahl - eingabe) > 5) and (abs(zahl - eingabe) < 15) then es PAntwort.caption := 'Es wird wärmer, aber noch ist die Zahl zu klein...else
 ...
end;

if StrToInt (EEingabe.Text) = Zahl then
begin
 PAntwort.Caption := 'Richtig!';
 PAntwort.Color := cllime ;
 Label6.Caption := 'Ihr habt gewonnen!!! Probiert es gleich nochmal'
end;
PS: Wieso wurde der Code nicht richtig formatiert?
PPS: schon besser
Jonas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#59

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:33
Vielleicht solltest du den Leuten im DP sagen, dass du die Frage auch hier gestellt hast
http://www.delphi-forum.de/viewtopic.php?t=77869
Markus Kinzler
  Mit Zitat antworten Zitat
andiak

Registriert seit: 1. Nov 2007
89 Beiträge
 
#60

Re: Ratezahl 2 Delphi (leicht)

  Alt 2. Nov 2007, 13:38
hm oki mach ich das nächste mal ich habe erst dort dann hier gepostet und da hier zu erst geholfen wurde bin ich hier geblieben und dort net mehr nachgeschaut....
ich glube ich bin jetzt soweit fertig... ich kann ja nochmall den kommpletten code posten kann mir jemand vieleicht nen tipp geben wie man den jetzt noch schön formatieren kann? Also nur Einrückungen z.b. alle if´s, 1Tabstop oder so

Delphi-Quellcode:
unit UZahl;

interface

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

type
  TForm1 = class(TForm)
    EEingabe: TEdit;
    BNeu: TButton;
    BRaten: TButton;
    PAntwort: TPanel;
    ScrollBar: TScrollBar;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Button1: TButton;
    Label7: TLabel;
    Label6: TLabel;
    procedure NeueZahl(Sender: TObject);
    procedure Vergleiche(Sender: TObject);
    procedure BleibHier(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
    Zahl: Integer;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  count : integer;


implementation

{$R *.DFM}

procedure TForm1.NeueZahl(Sender: TObject);
begin
  Zahl := Random(100);
  ScrollBar.Position := Zahl
end;

procedure TForm1.BleibHier(Sender: TObject);
begin
  ScrollBar.Position := Zahl
end;

procedure TForm1.Vergleiche(Sender: TObject);
begin
count := count + 1;
Label4.Caption := IntToStr( count);
if count = 10 then
begin
  Label4.Caption := 'Maximale Rateanzahl erreicht, die Lösung ist: , Neue runde?';
  BRaten.Enabled := false ;
  Label7.Caption := IntToStr ( Zahl);
    end;

  if StrToInt(EEingabe.Text) > Zahl then
begin
     PAntwort.Caption := 'zu groß' ;
    PAntwort.Color := clred ;
    if (abs(zahl - StrtoInt (Eeingabe.Text)) > 0) and (abs(zahl - StrtoInt (Eeingabe.Text)) < 5) then PAntwort.caption := 'Du bist ganz nah dran, aber die Zahl ist zu groß!else
if (abs(zahl - StrtoInt (Eeingabe.Text)) > 5) and (abs(zahl - StrtoInt (Eeingabe.Text)) < 15) then PAntwort.caption := 'Es wird wärmer, aber noch ist die Zahl zu groß...'
end;
if StrToInt (EEingabe.Text) < Zahl then
begin
     PAntwort.Caption := 'Zu klein' ;
    PAntwort.Color := clred ;
    if (abs(zahl - StrtoInt (Eeingabe.Text)) > 0) and (abs(zahl - StrtoInt (Eeingabe.Text)) < 5) then PAntwort.caption := 'Du bist ganz nah dran, aber die Zahl ist noch etwas zu klein!else
if (abs(zahl - StrtoInt (Eeingabe.Text)) > 5) and (abs(zahl - StrtoInt (Eeingabe.Text)) < 15) then PAntwort.caption := 'Es wird wärmer, aber noch ist die Zahl zu klein...'
end;
if StrToInt (EEingabe.Text) = Zahl then
begin
    PAntwort.Caption := 'Richtig!';
    PAntwort.Color := cllime ;
    Label6.Caption := 'Ihr habt gewonnen!!! Probiert es gleich nochmal'
end;


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
count := 0;
Randomize;
Zahl := Random(100);
  ScrollBar.Position := Zahl

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
count := 0;
BRaten.Enabled := true ;
Label4.Caption := '' ;
Zahl := Random(100);
  ScrollBar.Position := Zahl ;
  Label7.Caption := ''      ;
  Label6.Caption := ''

end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 6 von 7   « Erste     456 7      


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 00:40 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