FastPlaz

FastPlaz

  • Docs
  • MVC
  • ORM
  • FTE
  • Help
  • Release

›Konsep & Fitur

Pengantar

  • Ctrl+Alt+Del
  • Arsitektur (MVC)
  • Instalasi

Konsep & Fitur

  • ORM
  • Template Engine
  • Variabel Global
  • Method
  • Helper
  • Common Function

Penggunaan

  • Create New Project
  • Controller
  • Model
  • Routing

Latihan

  • Default Package
  • Akses Database
  • API (echo)
  • REST API

Showcase

  • Showcase
  • Gallery

Utilitas

  • Database Explorer
  • JSON Validator
  • Regex Tester
  • Reveal in Explorer/Finder

Helper

Disebutkan dalam artikel mengenai Object Pascal, bahwa

Helpers are a way to extend a class without using inheritance, which is also useful for records that do not allow inheritance at all.

FastPlaz telah menyediakan beberapa helper yang akan memudahkan Anda dalam membuat program dengan Pascal. Dengan menggunakan helper akan membuat kode Anda akan mudah dibaca, bahkan menyerupai bahasa manusia sehari-hari.

UnitDeskripsi
string_helperHelper terhadap tipe data AnsiString/String
datetime_helperHelper terhadap tipe data TDateTime
integer_helperHelper terhadap tipe data Integer
array_helperHelper terhadap tipe data TStringArray
verbal_expressions_libVerbal Expression

Sebagian fungsi di dalam helper ini sudah terakomdir di dalam fpc 3.2.0.

string_helper

Jika terdapat variabel ini:

d : TDateTime;
s : String;
i : integer;

Banyak hal yang bisa dilakukan dari helper ini.

d := s.AsDateTime; //konversi dari date string ke datetime
i := s.AsInteger; //konversi dari string ke integer

// jika s mengandung kata 'cari'
if s.Has('cari') then begin ... end;

// jika s adalah url/emal
if s.IsEmail then ...
if s.IsURL then ...

s := s.UrlEncode;
s := s.Encode64;
s := s.Decode64;

s := 'saya makan nasi';
s := s.cut('saya','nasi').trim;
// s berisi 'makan'

s.SaveToFile('/path/filename');

Sebagian contoh juga terdapat di dokumen repositori.

Untuk daftar lebih lengkap bisa dilihat dari file unit string_helper.

datetime_helper

Jika terdapat variabel ini:

d : TDateTime;
s : String;

Banyak hal yang bisa dilakukan dari helper ini.

d := d.FromString( '17-08-1945 09:59:00');
s := d.Format( 'yyyy-mm-dd HH:nn:ss');
s := d.AsString;

if d.IsAM then begin ... end;
if d.IsPM then begin ... end;
if d.IsToday then begin ... end;

if Tomorrow.IsSaturday then begin ... end;
if d.HourOf = 9 then ....

d := d.IncMinute(1);

if d.YearsDiff( Now) > 40 then begin ... end;

s := d.HumanReadable;
// 'more than 73 years ago'

// konversi tanggal menjadi unixtime
i := d.AsUnixTime;

Sebagian contoh juga terdapat di dokumen repositori.

Untuk daftar lebih lengkap bisa dilihat dari file unit datetime_helper.

integer_helper

var
  i: integer;

// jika nilai i antara 300 dan 400
if i.InRange( 300, 400) then ...

// konversi dari unixtime ke tdatetime
d := i.AsDateTime;

Untuk daftar lebih lengkap bisa dilihat dari file unit integer_helper.

array_helper

// cek apakah string 'zero' ada di dalam array
const
  NUMBER_LIST: array[0..5] of string = ('zero', 'one', 'two', 'three', 'four', 'five');
var
  i: integer;
  whereAsArray: TStringArray;

.
.
if 'zero' in NUMBER_LIST then
begin
  //
end;

// menambahkan suatu string ke dalam array of string
whereAsArray.Add('isi string');

// mendapatkan panjang/jumlah item di dalam array
i := whereAsArray.Count;

Untuk daftar lebih lengkap bisa dilihat dari file unit array_helpers.

Verbal Expression

Verbal Expression ini adalah library FastPlaz yang membantu dalam mengkonstruksi regular expressions yang berat.

VE := TVerbalExpressions.Create;
VE.StartOfLine()
  .Has('http')
  .Maybe('s')
  .Has('://')
  .Maybe('www.')
  .AnythingBut(' ')
  .EndOfLine(false);

if VE.IsMatch('https://fastplaz.com') then
begin
  // your code
end;


// expression: ^(http)(s)?(:\/\/)(www\.)?([^ ]*)

Kode ini akan menghasilkan regex: ^(http)(s)?(:\/\/)(www\.)?([^ ]*).

Replace String

varString := 'Replace bird with a duck';
VE.Find('bird');
varString := VE.Replace(varString, 'duck');

or

varString := VE.Find('red').Replace('We have a red house', 'blue');

Methods list

NameDescriptionUsage
Addadd values to the expressionAdd('abc')
startOfLinemark expression with ^startOfLine(false)
endoOfLinemark the expression with $endOfLine()
hasadd a string to the expressionhas('foo')
findalias for hasfind('foo')
maybedefine a string that might appear once or notmaybe('.com')
anythingaccept any stringanything()
anythingButaccept any string but the specified charanythingBut(',')
somethingaccept any non-empty stringsomething()
somethingButanything non-empty except for these charssomethingBut('a')
LineBreakmatch \r \nlineBreak()
brshorthand for lineBreakbr()
tabmatch tabs \ttab()
wordmatch \w+word()
anyOfany of the listed charsanyOf('abc')
anyshorthand for anyOfany('abc')
rangeadds a range to the expressionrange(a,z,0,9)

Note

Inspiration from VerbalExpressions

← MethodCommon Function →
  • string_helper
  • datetime_helper
  • integer_helper
  • array_helper
  • Verbal Expression
    • Replace String
    • Methods list
FastPlaz
Docs
Getting StartedFastPlaz Theme EngineContribution
Community
User ShowcasePascal IndonesiaPascal Indonesia on Telegram
More
BlogGitHubStar
FastPlaz Web Framework
Copyright © 2023 FastPlaz - Built with Docusaurus