Sha256: a4861d12fa3ba994ab8307a3355bd8e5747004523b9433a9f4a48b1bce4b19d1

Contents?: true

Size: 1.41 KB

Versions: 118

Compression:

Stored size: 1.41 KB

Contents

unit uBeerSong;

interface

type
  Beer = class
  private
    class function Verse(number: integer): string; static;
  public
    class function Recite(start, takeDown: integer): string; static;
  end;

implementation
uses System.SysUtils;

class function Beer.Verse(number: integer): string;
begin
  case number of
    0:
    result := 'No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n';

    1:
    result := '1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around, no more bottles of beer on the wall.\n';

    2:
    result := '2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n';

    else
      result := format(
                 '%d bottles of beer on the wall, %d bottles of beer.\nTake one down and pass it around, %d bottles of beer on the wall.\n',
                 [number, number, number - 1]);
  end; //case
end;

class function Beer.Recite(start, takeDown: integer): string;
var i: integer;
    stop: integer;
    verseNum: integer;
begin
   stop := (start - takeDown) + 1;
   result := '';
   for i := start downto stop do
   begin
     verseNum := i;
     if verseNum < 0 then
       verseNum := verseNum + 100;
     if i = stop then
       result := result + Verse(verseNum)
     else
       result := result + Verse(verseNum) + '\n';
   end;
end;

end.

Version data entries

118 entries across 118 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.179 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.178 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.177 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.176 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.175 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.174 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.173 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.172 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.171 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.170 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.169 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.167 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.166 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.165 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.164 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.163 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.162 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.161 tracks/delphi/exercises/beer-song/uBeerSongExample.pas
trackler-2.2.1.160 tracks/delphi/exercises/beer-song/uBeerSongExample.pas