home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 April A / Pcwk4a98.iso / PROGRAM / DELPHI16 / Porada30 / TIP.PAS < prev   
Pascal/Delphi Source File  |  1998-01-10  |  2KB  |  98 lines

  1. unit tip;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ExtCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button2: TButton;
  12.     Button1: TButton;
  13.     Bevel1: TBevel;
  14.     Memo1: TMemo;
  15.     procedure FormCreate(Sender: TObject);
  16.     procedure FormDestroy(Sender: TObject);
  17.     procedure Button2Click(Sender: TObject);
  18.     procedure Button1Click(Sender: TObject);
  19.   private
  20.     rzeczownik : TStringList;
  21.     przymiotnik : TStringList;
  22.     czasownik : TStringList;
  23.     okreslnik : TStringList;
  24.     function Fraza : String;
  25.     function Losuj(sl : TStringList) : String;
  26.   public
  27.     function NowaPorada : String;
  28.   end;
  29.  
  30. var
  31.   Form1: TForm1;
  32.  
  33. implementation
  34.  
  35. {$R *.DFM}
  36.  
  37. function TForm1.Losuj(sl : TStringList) : String;
  38. begin
  39.   Result := sl.Strings[Random(sl.Count)];
  40. end;
  41.  
  42. function TForm1.Fraza : String;
  43. begin
  44.   Result := Losuj(rzeczownik) + ' '+ Losuj(przymiotnik)
  45.             + ' ' + Losuj(okreslnik) + ' ' + Losuj(czasownik);
  46. end;
  47.  
  48. function TForm1.NowaPorada : String;
  49. begin
  50.   case Random(4) of
  51.     0: Result := 'úatwiej '+Fraza +', ni┐ '+Fraza+'.';
  52.     1: Result := 'Szybciej da siΩ '+Fraza+', ni┐ '+Fraza+'.';
  53.     2: Result := 'Aby '+Fraza+', trzeba '+Fraza+'.';
  54.     3: Result := '»eby '+Fraza+', musisz '+Fraza+'.';
  55.   end;
  56. end;
  57.  
  58. procedure TForm1.FormCreate(Sender: TObject);
  59. begin
  60.   Randomize;
  61.   rzeczownik := TStringList.Create;
  62.   rzeczownik.LoadFromFile('rzecz.txt');
  63.   przymiotnik := TStringList.Create;
  64.   przymiotnik.LoadFromFile('przym.txt');
  65.   czasownik := TStringList.Create;
  66.   czasownik.LoadFromFile('czas.txt');
  67.   okreslnik := TStringList.Create;
  68.   okreslnik.LoadFromFile('okresl.txt');
  69.   Button2.Click;
  70. end;
  71.  
  72. procedure TForm1.FormDestroy(Sender: TObject);
  73. begin
  74.   rzeczownik.Free;
  75.   przymiotnik.Free;
  76.   czasownik.Free;
  77.   okreslnik.Free;
  78. end;
  79.  
  80. procedure TForm1.Button2Click(Sender: TObject);
  81. begin
  82.   with Memo1 do
  83.   begin
  84.     Clear;
  85.     Lines.Add('');
  86.     Lines.Add('Czy wiesz, ┐e...');
  87.     Lines.Add('');
  88.     Lines.Add(NowaPorada);
  89.   end;
  90. end;
  91.  
  92. procedure TForm1.Button1Click(Sender: TObject);
  93. begin
  94.   Close;
  95. end;
  96.  
  97. end.
  98.