Skip to content

Instantly share code, notes, and snippets.

View freeonterminate's full-sized avatar

HOSOKAWA Jun freeonterminate

View GitHub Profile
@freeonterminate
freeonterminate / OldPascal.pas
Last active October 5, 2017 06:18
昔の書き方だよ。
program Foo;
function Bar(N: Integer): Integer;
begin
if (N > 0) then
Bar := Bar(N - 1);
end;
begin
Bar(5);
@freeonterminate
freeonterminate / MVPCounter.dpr
Last active June 19, 2017 04:01
Show MVP List from Embarcadero web page.
(*
* This is sample code (My memorandum)
* System.Net.HttpClient.THttpClient class
*
* Programmed by HOSOKAWA Jun / twitter @pik
*)
program MVPCounter;
{$APPTYPE CONSOLE}
@freeonterminate
freeonterminate / StaticOverride.pas
Last active April 19, 2017 09:07
Delphi's static method override
program StaticOverride;
type
TFoo = class
public
class procedure Bar; virtual;
end;
TBar = class(TFoo)
public
@freeonterminate
freeonterminate / Base64.pas
Last active March 21, 2017 03:28
Base64 Encoder / Decoder By Asm
(*
* 概要 Base64 エンコード
* 引数 iSrc エンコードしたいストリーム
* iDest エンコード結果格納先
* iSepCount セパレータを入れる場所(32 なら 32 個エンコードした所で入る)
* iSep セパレータ
*)
procedure EncodeBase64(
const iSrc, iDest: TStream;
iSepCount: Integer = 0;
@freeonterminate
freeonterminate / System.IOUtils.Files.pas
Last active February 21, 2017 08:39
Get File Size !
(*
* Get File Size
*
* Copyright (c) 2015, 2016 HOSOKAWA Jun.
*
* CONTACT
* Twitter @pik or freeonterminate@gmail.com
*
* LAST UPDATE
* 2016/03/30 Delete warning
@freeonterminate
freeonterminate / Semicoronless.pas
Created November 11, 2016 08:27
Semicolonless Delphi
{$WARNINGS OFF}
begin
(procedure(F: array of const)begin end)([
// 定番のやつ
(function(const Count: Integer): Integer
begin
for Result := 0 to Count - 1 do
Writeln('Good-bye, semicolon world !')
end
@freeonterminate
freeonterminate / FizzBuzzNoIf.pas
Last active October 17, 2016 07:57
条件文使わない FizzBuzz
program FizzBuzz;
uses
System.SysUtils;
var
i: Integer;
Values: array [0.. 3] of String = ('', 'Fizz', 'Buzz', 'FizzBuzz');
begin
for i := 1 to 100 do
begin
Values[0] := i.ToString;
@freeonterminate
freeonterminate / IsATOK.pas
Created February 25, 2016 05:06
Is ATOK ?
function IsATOK: Boolean;
var
Name: JString;
begin
Result := False;
Name :=
TJSettings_Secure.JavaClass.getString(
TAndroidHelper.Context.getContentResolver(),
TJSettings_Secure.JavaClass.DEFAULT_INPUT_METHOD);
function ToCharCode(const iText: String; const iUTF8: Boolean): String;
var
M: TMarshaller;
function ToHexString(const iByte: TPtrWrapper): String;
var
Chars: PByteArray;
i: Integer;
SB: TStringBuilder;
begin
@freeonterminate
freeonterminate / QuoeeeeUeuooowww.pas
Created January 9, 2014 13:45
くおえうえーーーるえうおおおwww
program QuoeeeeUeuooowww;
const
MEM_SIZE = 1024;
MEM_HIGH = MEM_SIZE - 1;
CMD_NEXT = 'く'; //'>';
CMD_PREV = 'う'; //'<';
CMD_INC = 'w'; //'+';
CMD_DEC = 'お'; //'-';
CMD_OUTPUT = 'ー'; //'.';