[Delphi] Was kann ich besser machen ?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Docean, 9. September 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 9. September 2007
    Was kann ich besser machen ?

    Ich bin in der 11. Klasse und soll für den Informatikunterricht ein kleines Prog schreiben.
    Ich habe das nun mal hochgeladen und wollte fragen was ich besser machen kann.

    EXE-DATEI
    Projekt als rar-Datei



    Quelltext:
    Spoiler
    unit Zahlenspiel;

    interface

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

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Button2: TButton;
    Edit1: TEdit;
    Label2: TLabel;
    Button3: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Timer1: TTimer;
    Label5: TLabel;
    Edit4: TEdit;
    Button4: TButton;
    Edit5: TEdit;
    Label6: TLabel;
    Edit6: TEdit;
    Label7: TLabel;
    edit7: TEdit;
    Label3: TLabel;
    Button5: TButton;
    Edit8: TEdit;
    Label8: TLabel;
    Button6: TButton;
    Button7: TButton;
    CheckBox: TCheckBox;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);

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

    var
    Form1: TForm1;
    zahl, ratezahl, Zeit, Counter, Bereich, Versuche, BZeit, runden:integer;
    Kversuche:integer;
    zahl2: string;
    Key: Char;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    label1.Visible:=true;
    runden:=runden+1;
    edit7.text:=inttostr (runden);
    Button2.Caption:='Raten....';
    randomize;
    BZeit:=strtoint (edit3.text);
    Versuche:=0;
    Bereich:=strtoint (edit4.text);
    zahl:=random (Bereich)+1;
    label1.Caption:='Bitte Zahl eingeben:';
    label4.Caption:='Zeit:';
    label5.caption:='Zahlenbereich von 0 bis';
    label6.Caption:='Bisherige Versuche:';
    Zeit := StrToInt(Edit3.Text);
    if not Checkbox.Checked then Timer1.Enabled:=true;
    Button1.caption:='RESTART';

    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin;
    Versuche:=Versuche+1;
    KVersuche:=KVersuche+1;
    edit8.text:=inttostr (KVersuche);
    edit6.text:=inttostr (counter);
    edit5.text;
    edit5.Text:=inttostr (Versuche);
    edit1.text;
    ratezahl:=strtoint (edit1.text);
    if zahl<ratezahl then label2.caption:='Zu Groß';
    if zahl>ratezahl then label2.caption:='Zu Klein';
    if zahl=ratezahl then label2.caption:='RICHTIG';
    if zahl=ratezahl then label1.caption:='';
    if zahl=ratezahl then label1.Visible:=false;
    if zahl=ratezahl then button2.Visible:=false;
    if zahl=ratezahl then edit1.Visible:=false;
    if zahl=ratezahl then Button2.caption:='Erst Start drücken';
    if zahl=ratezahl then Button4.Visible:=true;
    if zahl=ratezahl then Timer1.Enabled:=false;
    if zahl=ratezahl then label7.Caption:='Benötigte Zeit:';
    if zahl=ratezahl then label6.Caption:='Benötigte Versuche:';
    if zahl=ratezahl then Button1.Caption:='START';
    if zahl=ratezahl then Button1.Visible:=false;
    if edit1.text=inttostr (345) then edit2.Text:=inttostr (zahl);
    if edit1.text=inttostr (345) then Button3.Visible:=true;
    if edit1.text=inttostr (345) then edit2.Visible:=true;
    end;

    procedure TForm1.Button3Click(Sender: TObject);
    begin
    Button3.Visible:=false;
    edit2.Visible:=false;
    end;





    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    counter:= counter+1;
    edit6.text:=inttostr (counter);
    if(counter=zeit) then
    begin
    ShowMessage('Zeit abgelaufen');
    Timer1.Enabled:=False;
    counter:=0;
    zeit :=0;
    end

    end;


    procedure TForm1.Button4Click(Sender: TObject);
    begin
    label2.Caption:='';
    Button1.Visible:=True;
    Button4.visible:=false;
    Button2.Visible:=True;
    edit1.visible:=true;
    counter:=0;
    edit6.text:=inttostr (counter);
    Versuche:=0;
    edit5.Text:=inttostr (Versuche);
    end;

    procedure TForm1.Button5Click(Sender: TObject);
    begin
    runden:=0;
    edit7.text:=inttostr (runden);
    end;

    procedure TForm1.Button6Click(Sender: TObject);
    begin
    KVersuche:=0;
    edit8.text:=inttostr (KVersuche);
    end;

    procedure TForm1.Button7Click(Sender: TObject);
    begin
    close
    end;


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



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






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



    end.







    P.S.: 100% kein Virus !
     
  2. 9. September 2007
    AW: Was kann ich besser machen ?

    Ich hab erstma n paar sekunden ebraucht bis ich gerafft habe was das überhaupt macht xD

    und daher rat ich dir dazu, n info zu machen... egal wie, entweder per leiste oder aber irgendwo kleiner button / kleines bild / kleine schrift und bei klick öffnet sich das info fenster

    ansonsten....
    wir bekommen eig. immer feste aufgaben, wenn ihr nciht, weiß ich auch nicht was du machen sollst..^^
    Bau n "Malfeld" ein, wo man zb per maus gedrück halten im feld mahlen kann und drückt man sie nichtmehr hörts auf, kommt man aus dem feld raus malt er nich etc...

    kA

    mfg
     
  3. 9. September 2007
    AW: Was kann ich besser machen ?

    Du könntest die ganze Oberfläche kleiner gestalten, bzw. einige Elemente schlauer anordnen. Außerdem sollte dein Programm wenn du schon "Runden total" usw. anzeigst, die Felder beim beenden speichern und beim start wieder laden.
     
  4. 10. September 2007
    AW: Was kann ich besser machen ?

    Hatdenn wirklich keiner eine Idee?
    Würde ich echt begrüßen , wenn jemand mir helfen würde.
     
  5. 10. September 2007
    AW: Was kann ich besser machen ?

    Die Felder die keine Benutzereingabe erfordern würde ich schonmal sperren.
    Oder grafisch so gestalten das sie nicht mehr auffallen.

    Die Anordnung ist ein wesentlicher Punkt.

    ( Den Quellcode hab ich mir noch garnicht angesehen)
     
  6. 10. September 2007
    AW: Was kann ich besser machen ?

    Ich bin zwar auch nicht so der Programmier-Pro, aber ich würde die viell. raten erst einmal die ganze Oberfläche neu und ÜBERSICHTLICHER gestalten.
    Das z.B. Start unten rechts ist und dann Spiel ansich in der Mitte abläuft.
    Viell. kannste ja noch so ein Button mit Anleitung rein bauen, weil man ja eig. nicht weiss was man machen muss bevor man nicht gespielt hat.
     
  7. 11. September 2007
    AW: Was kann ich besser machen ?

    oberfläche überarbeiten einarbeiten, dass erscheint welche zahlen schon eingegeben worden ist,
    zeit stoppen, wenn zum beispiel ausversehehn buchstaben eingegeben wurden und der versuch nicht mitgezählt wird.

    jo halt so ein paar kleinigkeiten.
    naja
     
  8. 11. September 2007
    AW: Was kann ich besser machen ?

    Danke an alle die mir Tipps gegeben haben.

    P.S.: Hab ich doch gesehen firefuzy. Nicht spammer .
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.