本人的作业,急用~~~代码!!!!

解决方案 »

  1.   

    时下体育彩票在全国范围内风行,朋友们买彩票都嫌挑选号码较为头痛,要求我在电脑上想点办法。我想这无非是产生随机数,于是用Delphi的随机函数Random编写了一段程序,具体实现方法见如下程序(SportUnit.pas)。 unit SportUnit;
    interface
    uses
    Windows, Messages, SysUtils, Classes, Graphics, 
    Controls, Forms, Dialogs,
    StdCtrls, Buttons, ExtCtrls;
    type
    TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;//以上用于放置七位号码
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Timer1: TTimer;
    Label8: TLabel;
    Timer2: TTimer;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;
    var
    Form1: TForm1;
    implementation
    {$R *.DFM}
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    timer1.Enabled:=True;
    timer2.Enabled:=True;
    end;
    procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
    timer1.Enabled:=false;
    timer2.Enabled:=false;
    end;
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    Randomize;
    Label1.Caption:=IntToStr(Random(10));
    Label2.Caption:=IntToStr(Random(10));
    Label3.Caption:=IntToStr(Random(10));
    Label4.Caption:=IntToStr(Random(10));
    Label5.Caption:=IntToStr(Random(10));
    Label6.Caption:=IntToStr(Random(10));
    //随机产生0-9整数
    Label7.Caption:=IntToStr(Random(5));
    //随机产生0-4整数,第七位为特别号
    Application.ProcessMessages;
    //处理Windows消息,属简单多线程
    end;
    procedure TForm1.BitBtn3Click(Sender: TObject);
    begin
    close;
    end;
    procedure TForm1.Timer2Timer(Sender: TObject);
    begin
    Label8.Caption:=FormatDateTime('yyyy"年"m"月"d
    "日"dddd',date)+'   '+TimeToStr(time);
    end;
    end.
      此程序段中的定时器Timer2只为显示时间秒而定义,按钮 BitBtn1和 BitBtn2可以只用一个(求逆反运算即可),所以该程序段还可优化精简。
      

  2.   

    //我的一個彩票中獎游戲,希望能幫到你
    unit Main;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ExtCtrls, Menus, ExtDlgs;type
      TForm1 = class(TForm)
        Image1: TImage;
        MainMenu1: TMainMenu;
        Again1: TMenuItem;
        SavePictureDialog1: TSavePictureDialog;
        Save1: TMenuItem;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
          Shift: TShiftState; X, Y: Integer);
        procedure Again1Click(Sender: TObject);
        procedure About1Click(Sender: TObject);
        procedure Save1Click(Sender: TObject);
      private
        procedure ReStart();
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      CanPaint : boolean = false;
      Xbmp : array[1..6] of TBitMap ;
      BigBuffer : TBitMap ;
    implementation{$R *.DFM}
    uses unit1;const
     xs = 163 ;
     ys = 19 ;procedure TForm1.FormCreate(Sender: TObject);
    var
     i : byte;
    begin BigBuffer := TBitmap.Create;
     BigBuffer.Width := 251;
     BigBuffer.Height := 135; for  i := 1 to 6 do
     begin
       Xbmp[i] := TBitmap.Create;
       Xbmp[i].Width := 41;
       Xbmp[i].Height := 30;
     end; BitBlt(BigBuffer.canvas.handle,0,0,251,135,image1.canvas.handle,0,0,SRCcopy); BitBlt(Xbmp[1].canvas.handle,0,0,41,30,image1.canvas.handle,xs,ys,SRCcopy);
     BitBlt(Xbmp[2].canvas.handle,0,0,41,30,image1.canvas.handle,xs+41,ys,SRCcopy);
     BitBlt(Xbmp[3].canvas.handle,0,0,41,30,image1.canvas.handle,xs,ys+30,SRCcopy);
     BitBlt(Xbmp[4].canvas.handle,0,0,41,30,image1.canvas.handle,xs+41,ys+30,SRCcopy);
     BitBlt(Xbmp[5].canvas.handle,0,0,41,30,image1.canvas.handle,xs,ys+60,SRCcopy);
     BitBlt(Xbmp[6].canvas.handle,0,0,41,30,image1.canvas.handle,xs+41,ys+60,SRCcopy); ReStart;
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var
     i : byte;
    begin
     for  i := 1 to 6 do
       Xbmp[i].Free; BigBuffer.Free;
    end;procedure TForm1.ReStart();
    var
     n ,x,y: byte;
     xp,yp : word;
    begin
     Randomize;
     for x := 0 to 1 do
     begin
       for y := 0 to 2 do
       begin
       xp := x * 41+xs;
       yp := y * 30+ys;
       n := Random(6)+1;
       BitBlt(BigBuffer.canvas.handle,xp,yp,41,30,xbmp[n].canvas.handle,0,0,SRCcopy); ;
       end;
     end;
     image1.Canvas.Brush.Color:=clGray;
     image1.Canvas.Rectangle(xs-2,ys,xs+82,ys+90);
    // image1.Canvas.RoundRect(xs-2,ys,xs+82,ys+90);
     image1.Canvas.Rectangle(58,97,150,132);end;
    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      CanPaint := true;
    end;procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      i,j : integer ;
    begin
     if CanPaint = true then
      for j := -5 to 5 do
       for i := -5 to 5 do
        image1.Canvas.Pixels[x+i,y+j]:= BigBuffer.Canvas.Pixels[x+i,y+j];end;procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      CanPaint := False;
    end;procedure TForm1.Again1Click(Sender: TObject);
    begin
      Restart;
    end;procedure TForm1.About1Click(Sender: TObject);
    begin
      with TAboutBox.Create(self) do
        try
          ShowModal;
        finally
          Free;
        end;
    end;procedure TForm1.Save1Click(Sender: TObject);
    var
      FName : string;
    begin
      If SavePictureDialog1.Execute=true then
      begin
        FName := SavePictureDialog1.FileName;
        image1.Picture.Bitmap.SaveToFile(FName);
      end;
    end;end.
      

  3.   

    Var
       X : Set Of 1 .. 36;
       Count : Integer;
       Y : Integer;
    Begin
         Count := 0;
         X := [];
         Randomize;
         While Count < 7 Do
         Begin
              Y := Random( 30 ) + 1;
              If Not ( Y In X ) Then
              Begin
                   Include( X, Y );
                   Inc( Y );
              End;
         End;
    End;上面是一个简单的例子,是从1~30中选取7个数字存放在X集合中!!!
      

  4.   

    上面写错了!!!应该是Inc( Count );不是Inc( Y );