Skip to content

Instantly share code, notes, and snippets.

View freeonterminate's full-sized avatar

HOSOKAWA Jun freeonterminate

View GitHub Profile
@freeonterminate
freeonterminate / IntentSample.pas
Created March 7, 2014 01:23
Intent を使うサンプル
uses
Androidapi.JNI.JavaTypes,
Androidapi.JNI.GraphicsContentViewText,
FMX.Log,
FMX.Helpers.Android;
procedure StartIntent;
var
Intent: JIntent;
begin
@freeonterminate
freeonterminate / PosixTest.pas
Created February 21, 2014 08:47
DCCARM で POSIX が定義されているか実験
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
type
TForm1 = class(TForm)
@freeonterminate
freeonterminate / FizzBuzzNoIf2.pas
Created February 18, 2014 05:03
if 文を使わない FizzBuzz version 2
program FizzBuzz;
uses
System.SysUtils;
var
i: Integer;
S: array [0.. 2] of String = ('', 'Fizz', 'Buzz');
begin
for i := 1 to 100 do
Writeln(S[Ord(i mod 3 = 0)] + S[Ord(i mod 5 = 0) shl 1], i.ToString.Substring(0, (i mod 3) * (i mod 5) * $ff));
end.
@freeonterminate
freeonterminate / FMX.Log.pas
Last active August 29, 2015 13:55
FMX.Types.Log が色々ダメ(Log.d の実態が Log.i だったり、Windows だと出力されなかったり、TAG が全く意味が無かったり)なので作った。
{
最新版は github に引っ越しました
FMX.Log newest version moved to github.
https://github.com/freeonterminate/delphi/tree/master/FMXLog
}
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 = 'ー'; //'.';
@freeonterminate
freeonterminate / GetColor.pas
Last active December 31, 2015 14:19
ARGB でも ABGR でも正しい色を返す
// ARGB を ABGR に変換
// IsRev が True の時 ABGR(PixelFormat が pfA8B8G8R8)
function GetColor(const iColor: TAlphaColor): TAlphaColor;
{$IFDEF CPUX86}
asm
cmp byte ptr IsRev, 0
jz @@exit
rol eax, 8
bswap eax
@@exit:
@freeonterminate
freeonterminate / Interface.pas
Last active December 31, 2015 01:09
Interface のサンプル
program Project1;
uses
System.SysUtils;
type
// Sample Interface
IFoo = interface
['{174C7089-888D-4B3A-A348-DBAEC0AA70A5}']
function GetBar: String;
@freeonterminate
freeonterminate / uNSAppSample.pas
Created November 19, 2013 16:02
Delphi で OS X / Objective-C のランタイムライブラリを呼んでいるサンプル
unit uNSAppSample;
interface
implementation
{$IFDEF MACOS}
uses
// Delphi の RTL
System.SysUtils, System.Generics.Collections,
@freeonterminate
freeonterminate / uFMXMenu.pas
Last active December 27, 2015 23:49
TMenuBar を使った Menu の問題を修正します。詳しくはソース先頭のコメントをご覧ください。似た問題として QC#119282 と QC#101866 があります。
{
■概要
TMenuBar を使った Main Menu の次の問題を修正します。
1.マルチディスプレイで Form の X 座標がマイナス座標の時、
メニューが座標 0, y に表示されてしまう問題
2. OnMouseDown でメニューが選択されてしまう問題(通常は OnMouseUp で選択)