#DelphiのFiremonkeyでFizzBuzzをやってみた
ことのほったんはTwitter上でフォロワーさんの @pik さんがdelphiで最小文字数でFizzBuzzを作ったというのを見てなんとなくどう動くのか実際に実行したらコマンドプロンプトが一瞬で消えたのでフォーム上で確認したくなり作ってみた
出来上がりイメージをフォームにて開始と終了の数値を入力できてボタンを押せば実行されて、フォーム画面上で結果を確認できるようなものを想定し作成しました
Delphiなので1つのソースファイルでWinでもMacでも動きます
ソースコード
p.pas
unit p;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, FMX.Layouts,
FMX.Memo, FMX.Edit;
type
Tf = class(TForm)
b: TButton;
L1: TLabel;
L2: TLabel;
e1: TEdit;
e2: TEdit;
m: TMemo;
procedure bClick(Sender: TObject);
private
public
end;
var
f: Tf;
implementation
{$R *.fmx}
procedure Tf.bClick(Sender: TObject);
var
i: Integer;
s: String;
begin
for i := e1.Text.ToInteger to e2.Text.ToInteger do
begin
s := '';
if (i mod 3 = 0) then
begin
s := 'Fizz';
end;
if (i mod 5 = 0) then
begin
s := s + 'Buzz';
end;
if (s = '') then
begin
s := i.ToString;
end;
m.Text := m.Text + s + #13#10;
end;
end;
end.