AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
Delphi2010 各種関数・手続き・メソッド(1) 2010/11/29

Delphi2010のヘルプ「Rad Studio」〜「RAD Studio IDE」〜「IDEリファレンス」〜「APIカテゴリ」の中から、私が使いそうなモノだけをピックアップして確認します。以下の説明文はヘルプより。なお、Delphi2010で利用される String=UnicodeStringは、UTF-16文字です。Charも Unicode文字となります。
 
アプリケーションレベルの情報
メンバ説明
Forms.Application アプリケーションレベルの情報を表します。
≫ExeNameプロパティ(アプリケーションの実行可能ファイルのファイル名(パス情報を含む)を提供します。)はよく利用します
System.CmdLineアプリケーションの呼び出し時に指定されたコマンドライン引数を示します。
SysUtils.Languages サポートされているロケールのリストを示します。
≫今後はロケールも意識しないといけないかも?
Forms.Screen 画面デバイスを表します。
≫これは頻繁に利用します
SysUtils.Win32Platform Windows オペレーティング システムのプラットフォーム識別子を示します。
VER_PLATFORM_WIN32sシステムは Win32sである
VER_PLATFORM_WIN32_WINDOWSシステムは Windows95である
VER_PLATFORM_WIN32_NTシステムは Windows NT である
≫Win32sは Windows3.1時代のもの。簡単なOSチェックをしたい場合には便利かも?もっと細かく知りたい場合はWindowsAPIにそういうのがあります。
 
コマンドライン サポート メンバ
メンバ説明
System.CmdLineアプリケーションの呼び出し時に指定されたコマンドライン引数を示します。
SysUtils.FindCmdLineSwitch文字列がアプリケーションのコマンドライン引数として渡されたかどうかを判定します。
System.ParamCountコマンドラインで渡されたパラメータの数を返します。
System.ParamStr指定されたパラメータをコマンドラインから取得して返します。
 
クリップボード サポート ルーチン
コンポーネントの機能を使わずにクリップボードを扱う場合に利用します。
ルーチン説明
Clipbrd.ClipboardClipbrd.TClipboard のインスタンスを返します。
Clipbrd.SetClipboard単一のグローバル クリップボード インスタンスを別のクリップボード オブジェクトに置き換えます。
 
 
◆数学関連のルーチン
 
数値計算ルーチン/算術ルーチン
ルーチン説明
System.Abs 絶対値を返します。
function Abs(X: Real): Real; overload;
 
function Abs(X: Int64): Int64; overload;
 
function Abs(X: Integer): Integer; overload;
Math.Ceil 変数を切り上げます。
function Ceil(const X: Extended): Integer;
Ceil(-2.8) = -2
Ceil(2.8) = 3
Ceil(-1.0) = -1
Math.DivMod 整数除算の結果を余りも含めて返します。
procedure DivMod(Dividend: Cardinal; Divisor: Word;
var Result: Word; var Remainder: Word);
System.Exp X の指数関数値を返します。
function Exp(const X: Extended): Extended;
Math.Floor 変数を切り下げます。
function Floor(const X: Extended): Integer;
Floor(-2.8) = -3
Floor(2.8) = 2
Floor(-1.0) = -1
Math.Frexp X の仮数と指数を分離します。
procedure Frexp(const X: Extended; var Mantissa: Extended; var Exponent: Integer);
System.Int実数の整数部分を返します。
Math.IntPower 底として指定された値の整数乗を計算します。
function IntPower(const Base: Extended; const Exponent: Integer): Extended;
Math.IsInfinite 変数または式が無限大の値を表すかどうかを示します。
function IsInfinite(const AValue: Double): Boolean;
Math.IsNan 変数または式が数値でないと評価されるかどうかを示します。
function IsNan(const AValue: Single): Boolean; overload;
 
function IsNan(const AValue: Double): Boolean; overload;
 
function IsNan(const AValue: Extended): Boolean; overload;
Math.IsZero 浮動小数点型の変数または式がゼロまたはゼロに非常に近いと評価されるかどうかを示します。
function IsZero(const A: Extended; Epsilon: Extended = 0): Boolean; overload;
 
function IsZero(const A: Double; Epsilon: Double = 0): Boolean; overload;
 
function IsZero(const A: Single; Epsilon: Single = 0): Boolean; overload;
Math.Ldexp X * 2^P(2 の P 乗かける X)を計算します。
function Ldexp(const X: Extended; const P: Integer): Extended;
Math.LnXP1 (X+1)の自然対数を返します。
function LnXP1(const X: Extended): Extended;
Math.Log10 10 を底とする対数を計算します。
function Log10(const X: Extended): Extended;
Math.Log2 2 を底とする対数を計算します。
function Log2(const X: Extended): Extended;
Math.LogN 指定された値を底とする X の対数を計算します。
function LogN(const Base: Extended; const X: Extended): Extended;
Math.Max 2 つの数値のうち大きい方を返します。
function Max(const A: Integer; const B: Integer): Integer; overload;
 
function Max(const A: Int64; const B: Int64): Int64; overload;
 
function Max(const A: Single; const B: Single): Single; overload;
 
function Max(const A: Double; const B: Double): Double; overload;
 
function Max(const A: Extended; const B: Extended): Extended; overload;
Math.MaxIntValue 整数配列内で最大の値を符号付きで返します。
function MaxIntValue(const Data: array of Integer): Integer;
Math.MaxValue 配列内で最大の値を符号付きで返します。
function MaxValue(const Data: array of Double): Double;
Math.Mean 配列内のすべての値の平均を返します。
function Mean(const Data: array of Double): Extended;
Math.Min 2 つの数値のうち小さい方を返します。
function Min(const A: Integer; const B: Integer): Integer; overload;
 
function Min(const A: Int64; const B: Int64): Int64; overload;
 
function Min(const A: Single; const B: Single): Single; overload;
 
function Min(const A: Double; const B: Double): Double; overload;
 
function Min(const A: Extended; const B: Extended): Extended; overload;
Math.MinIntValue 整数配列内で最小の値を符号付きで返します。
function MinIntValue(const Data: array of Integer): Integer;
Math.MinValue 配列内で最小の値を符号付きで返します。
function MinValue(const Data: array of Double): Double;
System.Odd 引数が奇数の場合、True を返します。
function Odd(X: Integer): Boolean;
Math.Power 底として指定された値を任意の指数で累乗した値を計算します。
function Power(const Base: Extended; const Exponent: Extended): Extended; overload;
 
function Power(const Base: Double; const Exponent: Double): Double; overload;
 
function Power(const Base: Single; const Exponent: Single): Single; overload;
System.Round X を("Banker's Rounding" と呼ばれる方法で)最も近い整数に丸めた値を返します。
function Round(X: Real): Int64;
Math.RoundTo "Banker's Rounding" と呼ばれる丸め方法を用いて、浮動小数点値を指定の桁数(10 の累乗)に丸めます。
function RoundTo(const AValue: Extended; const ADigit: TRoundToEXRangeExtended): Extended;
Math.Sign 数値が正、負、ゼロのいずれであるかを示します。
function Sign(const AValue: Integer): TValueSign; overload;
 
function Sign(const AValue: Int64): TValueSign; overload;
 
function Sign(const AValue: Double): TValueSign; overload;
AValue がゼロの場合は 0。
AValue がゼロより大きい場合は 1。
AValue がゼロより小さい場合は -1。
Math.SimpleRoundTo 非対称的な算術型丸めを用いて、浮動小数点値を指定の桁数(10 の累乗)に丸めます。
function SimpleRoundTo(const AValue: Extended; const ADigit: TRoundToRange = $FFFFFFFE): Extended;
SimpleRoundTo(1234567, 3) 1234000
SimpleRoundTo(1.234, -2) 1.23
SimpleRoundTo(1.235, -2) 1.24
SimpleRoundTo(-1.235, -2) -1.23
System.Sqr 数の 2 乗を返します。
function Sqr(X: Real): Extended;
System.Sqrt X の平方根を返します。
function Sqrt(const X: Extended): Extended;
Math.Sum 配列内の要素の総和を返します。
function Sum(const Data: array of Double): Extended;
Math.SumInt 整数配列内の要素の総和を返します。
function SumInt(const Data: array of Integer): Integer;
Math.SumOfSquares データ配列内の値の 2 乗和を返します。
function SumOfSquares(const Data: array of Double): Extended;
(Data[0]^2 + Data[1]^2 + Data[2]^2...)
Math.SumsAndSquares 配列内の値の総和と 2 乗和を返します。
procedure SumsAndSquares(const Data: array of Double; var Sum: Extended; var SumOfSquares: Extended);
System.Trunc 実数を切り捨てて整数にします。
function Trunc(X: Real): Int64;
 
数値計算ルーチン/三角関数ルーチン
ルーチン説明
Math.ArcCos 指定された数値の逆余弦を計算します。
function ArcCos(const X: Extended): Extended; overload;
 
function ArcCos(const X: Double): Double; overload;
 
function ArcCos(const X: Single): Single; overload;
Math.ArcCosh 指定された数値の逆双曲線余弦を計算します。
function ArcCosh(const X: Extended): Extended;
Math.ArcCot 指定された数値の逆余接を計算します。
function ArcCot(const X: Extended): Extended;
Math.ArcCotH 指定された数値の逆双曲線余接を計算します。
function ArcCotH(const X: Extended): Extended;
Math.ArcCsc 指定された数値の逆余割を計算します。
function ArcCsc(const X: Extended): Extended;
Math.ArcCscH 指定された数値の逆双曲線余割を計算します。
function ArcCscH(const X: Extended): Extended;
Math.ArcSec 指定された数値の逆正割を計算します。
function ArcSec(const X: Extended): Extended;
Math.ArcSecH 指定された数値の逆双曲線正割を計算します。
function ArcSecH(const X: Extended): Extended;
Math.ArcSin 指定された数値の逆正弦を計算します。
function ArcSin(const X: Extended): Extended; overload;
 
function ArcSin(const X: Double): Double; overload;
 
function ArcSin(const X: Single): Single; overload;
Math.ArcSinh 指定された数値の逆双曲線正弦を計算します。
function ArcSinh(const X: Extended): Extended;
System.ArcTan 指定された数値の逆正接を計算します。
function ArcTan(const X: Extended): Extended;
Math.ArcTan2 指定された数値の逆正接の角度と象限を計算します。
function ArcTan2(const Y: Extended; const X: Extended): Extended;
Math.ArcTanh 指定された数値の逆双曲線正接を計算します。
function ArcTanh(const X: Extended): Extended;
Math.Cosecant 角度の余割を計算します。
function Cosecant(const X: Extended): Extended;
余割は 1 / Sin(X) として計算されます。
Math.Cosh 角度の双曲線余弦を計算します。
function Cosh(const X: Extended): Extended
Math.Cot 角度の余接を計算します。
function Cot(const X: Extended): Extended;
余接は、1 / Tan(X) という式で計算されます。
Math.Cotan 角度の余接を計算します。
function Cotan(const X: Extended): Extended;
1 / Tan(X)  X=0でCotan を呼び出さないでください。
Math.CotH 角度の双曲線余接を計算します。
function CotH(const X: Extended): Extended;
Math.Csc 角度の余割を計算します。
function Csc(const X: Extended): Extended;
Math.CscH 角度の双曲線余割を計算します。
function CscH(const X: Extended): Extended;
Math.CycleToDeg 角度の値を周期から度に変換します。
function CycleToDeg(const Cycles: Extended): Extended;
度 = 周期 * 360
Math.CycleToGrad 角度の値を周期から勾配に変換します。
function CycleToGrad(const Cycles: Extended): Extended;
Math.CycleToRad 角度の値を周期からラジアンに変換します。
function CycleToRad(const Cycles: Extended): Extended;
ラジアン = 2π * 周期
Math.DegToCycle 度で表された値を周期に変換して返します。
function DegToCycle(const Degrees: Extended): Extended;
Math.DegToGrad 度で表された値を勾配に変換して返します。
function DegToGrad(const Degrees: Extended): Extended;
Math.DegToRad 度で表された値をラジアンに変換して返します。
function DegToRad(const Degrees: Extended): Extended;
ラジアン = 度 * π / 180
Math.GradToCycle 勾配で表された値を周期に変換します。
function GradToCycle(const Grads: Extended): Extended;
Math.GradToDeg 勾配で表された値を度に変換します。
function GradToDeg(const Grads: Extended): Extended;
Math.GradToRad 勾配で表された値をラジアンに変換します。
function GradToRad(const Grads: Extended): Extended;
ラジアン = 勾配 * π / 200
Math.Hypot 直角三角形の斜辺の長さを計算します。
function Hypot(const X: Extended; const Y: Extended): Extended;
Sqrt(X**2 + Y**2)
System.Pi 3.1415926535897932385 を返します。
function Pi: Extended;
Math.RadToCycle ラジアンで表された値を周期に変換します。
function RadToCycle(const Radians: Extended): Extended;
周期 = ラジアン / (2π)
Math.RadToDeg ラジアンで表された値を度に変換します。
function RadToDeg(const Radians: Extended): Extended;
度 = ラジアン * 180 / π
Math.RadToGrad ラジアンで表された値を勾配に変換します。
function RadToGrad(const Radians: Extended): Extended;
勾配 = ラジアン * 200 / π
Math.Sec 角度の正割を計算します。
function Sec(const X: Extended): Extended;
正割は 1 / Cos(X) という式で計算されます。
メモ: Sec は Secant 関数とまったく同じです。
Math.Secant 角度の正割を計算します。
function Secant(const X: Extended): Extended;
Math.SecH 角度の双曲線正割を計算します。
function SecH(const X: Extended): Extended;
System.Sin ラジアンで表された角度の正弦を返します。
function Sin(const X: Extended): Extended;
Math.SinCos 角度の正弦と余弦を返します。
procedure SinCos(const Theta: Extended; var Sin: Extended; var Cos: Extended);
SinCosは同じ角度でSinとCosを別々に呼び出すより2倍高速
Math.Sinh 角度の双曲線正弦を計算します。
function Sinh(const X: Extended): Extended;
Math.Tan X の正接を返します。
function Tan(const X: Extended): Extended;
Tan(X) = Sin(X) / Cos(X) です。
Math.Tanh X の双曲線正接を計算します。
function Tanh(const X: Extended): Extended;
 
ランダム データ サポート メンバ
メンバ説明
Math.RandG ガウス分布の乱数を生成します。
function RandG(Mean: Extended; StdDev: Extended): Extended;
System.RandSeed 組み込み乱数ジェネレータのシードが格納されています。
RandSeed: Integer;
System.Random 指定された範囲内の乱数を生成します。
function Random(const ARange: Integer): Integer; overload;
 
function Random: Extended; overload;
AnsiStrings.RandomFrom 与えられた文字列配列の 1 つの要素をランダムに返します。
function RandomFrom(const AValues: array of AnsiString): AnsiString; overload;
Math.RandomFrom 配列からランダムに選択した要素を返します。
function RandomFrom(const AValues: array of Integer): Integer; overload;
 
function RandomFrom(const AValues: array of Int64): Int64; overload;
 
function RandomFrom(const AValues: array of Double): Double; overload;
StrUtils.RandomFrom 配列からランダムに選択した要素を返します。
function RandomFrom(const AValues: array of string): string; overload;
Math.RandomRange 指定された範囲から乱数整数を返します。
function RandomRange(const AFrom: Integer; const ATo: Integer): Integer;
System.Randomize 乱数ジェネレータを乱数値で初期化します。
procedure Randomize;
 
複素数サポート ルーチン
まぁ私自身は使う機会は無いと思いますが一応。
ルーチン説明
VarCmplx.VarAsComplex 任意のバリアントをキャストして、複素数を表すカスタム バリアントにします。
function VarAsComplex(const AValue: Variant): Variant;
VarCmplx.VarComplex 複素数を表すカスタム バリアントのバリアント型コードを返します。
function VarComplex: Word;
VarCmplx.VarComplexAbs 複素数の絶対値を返します。
function VarComplexAbs(const AValue: Variant): Double;
VarCmplx.VarComplexAbsSqr 複素数の絶対値の 2 乗を返します。
function VarComplexAbsSqr(const AValue: Variant): Double;
VarCmplx.VarComplexAngle 複素数の角度を返します。
function VarComplexAngle(const AValue: Variant): Double;
VarCmplx.VarComplexArcCos 複素数の逆余弦を返します。
function VarComplexArcCos(const AValue: Variant): Variant;
VarCmplx.VarComplexArcCosH 複素数の逆双曲線余弦を返します。
function VarComplexArcCosH(const AValue: Variant): Variant;
VarCmplx.VarComplexArcCot 複素数の逆余接を返します。
function VarComplexArcCot(const AValue: Variant): Variant;
VarCmplx.VarComplexArcCotH 複素数の逆双曲線余接を返します。
function VarComplexArcCotH(const AValue: Variant): Variant;
VarCmplx.VarComplexArcCsc 複素数の逆余割を返します。
function VarComplexArcCsc(const AValue: Variant): Variant;
VarCmplx.VarComplexArcCscH 複素数の逆双曲線余割を返します。
function VarComplexArcCscH(const AValue: Variant): Variant;
VarCmplx.VarComplexArcSec 複素数の逆正割を返します。
function VarComplexArcSec(const AValue: Variant): Variant;
VarCmplx.VarComplexArcSecH 複素数の逆双曲線正割を返します。
function VarComplexArcSecH(const AValue: Variant): Variant;
VarCmplx.VarComplexArcSin 複素数の逆正弦を返します。
function VarComplexArcSin(const AValue: Variant): Variant;
VarCmplx.VarComplexArcSinH 複素数の逆双曲線正弦を返します。
function VarComplexArcSinH(const AValue: Variant): Variant;
VarCmplx.VarComplexArcTan 複素数の逆正接を返します。
function VarComplexArcTan(const AValue: Variant): Variant;
VarCmplx.VarComplexArcTanH 複素数の逆双曲線正接を返します。
function VarComplexArcTanH(const AValue: Variant): Variant;
VarCmplx.VarComplexConjugate 複素数の共役を返します。
function VarComplexConjugate(const AValue: Variant): Variant;
VarCmplx.VarComplexCos 複素数の余弦を返します。
function VarComplexCos(const AValue: Variant): Variant;
VarCmplx.VarComplexCosH 複素数の双曲線余弦を返します。
function VarComplexCosH(const AValue: Variant): Variant;
VarCmplx.VarComplexCot 複素数の余接を返します。
function VarComplexCot(const AValue: Variant): Variant;
VarCmplx.VarComplexCotH 複素数の双曲線余接を返します。
function VarComplexCotH(const AValue: Variant): Variant;
VarCmplx.VarComplexCreate 複素数を表すカスタム バリアントを返します。
function VarComplexCreate: Variant; overload;
 
function VarComplexCreate(const AReal: Double): Variant; overload;
 
function VarComplexCreate(const AReal: Double; const AImaginary: Double): Variant; overload;
 
function VarComplexCreate(const AText: string): Variant; overload;
VarCmplx.VarComplexCsc 複素数の余割を返します。
function VarComplexCsc(const AValue: Variant): Variant;
VarCmplx.VarComplexCscH 複素数の双曲線余割を返します。
function VarComplexCscH(const AValue: Variant): Variant;
VarCmplx.VarComplexExp 複素数の指数関数値を返します。
function VarComplexExp(const AValue: Variant): Variant;
VarCmplx.VarComplexFromPolar 一組の極座標を複素数に変換します。
function VarComplexFromPolar(const ARadius: Double; const ATheta: Double): Variant;
VarCmplx.VarComplexInverse 複素数の逆数を返します。
function VarComplexInverse(const AValue: Variant): Variant;
VarCmplx.VarComplexLn 複素数の自然対数を返します。
function VarComplexLn(const AValue: Variant): Variant;
VarCmplx.VarComplexLog10 複素数の常用対数(10 を底とする対数)を返します。
function VarComplexLog10(const AValue: Variant): Variant;
VarCmplx.VarComplexLog2 複素数の 2 を底とする対数を返します。
function VarComplexLog2(const AValue: Variant): Variant;
VarCmplx.VarComplexLogN 複素数の N を底とする対数を返します。
function VarComplexLogN(const AValue: Variant; const X: Double): Variant;
VarCmplx.VarComplexPower 複素数を指定の値で累乗した値を返します。
function VarComplexPower(const AValue: Variant; const APower: Variant): Variant;
VarCmplx.VarComplexSec 複素数の正割を返します。
function VarComplexSec(const AValue: Variant): Variant;
VarCmplx.VarComplexSecH 複素数の双曲線正割を返します。
function VarComplexSecH(const AValue: Variant): Variant;
VarCmplx.VarComplexSimplify 複素数を表すバリアントを、可能であれば、実数値を表すバリアントに変換します。
function VarComplexSimplify(const AValue: Variant): Variant;
VarCmplx.VarComplexSin 複素数の正弦を返します。
function VarComplexSin(const AValue: Variant): Variant;
VarCmplx.VarComplexSinH 複素数の双曲線正弦を返します。
function VarComplexSinH(const AValue: Variant): Variant;
VarCmplx.VarComplexSqr 複素数の 2 乗を返します。
function VarComplexSqr(const AValue: Variant): Variant;
VarCmplx.VarComplexSqrt 複素数の平方根を返します。
function VarComplexSqrt(const AValue: Variant): Variant;
VarCmplx.VarComplexTan 複素数の正接を返します。
function VarComplexTan(const AValue: Variant): Variant;
VarCmplx.VarComplexTanH 複素数の双曲線正接を返します。
function VarComplexTanH(const AValue: Variant): Variant;
VarCmplx.VarComplexTimesImaginary 複素数に虚数を掛けた値を返します。
function VarComplexTimesImaginary(const AValue: Variant; const AFactor: Double): Variant;
VarCmplx.VarComplexTimesNegI 複素数に -i(i は虚数単位)を掛けた値を返します。
function VarComplexTimesNegI(const AValue: Variant): Variant;
VarCmplx.VarComplexTimesPosI 複素数に i(虚数単位)を掛けた値を返します。
function VarComplexTimesPosI(const AValue: Variant): Variant;
VarCmplx.VarComplexTimesReal 複素数に実数を掛けた値を返します。
function VarComplexTimesReal(const AValue: Variant; const AFactor: Double): Variant;
VarCmplx.VarComplexToPolar 複素数を表すカスタム バリアントに対応する極座標を計算します。
procedure VarComplexToPolar(const AValue: Variant; var ARadius: Double; var ATheta: Double; AFixTheta: Boolean = True);
VarCmplx.VarIsComplex バリアントのデータが内部的に複素数として格納されているかどうかを示します。
function VarIsComplex(const AValue: Variant): Boolean;
 
ビジネスおよび財務計算ルーチン
これも私自身は使う機会は無いと思いますが一応。
ルーチン説明
Math.DoubleDecliningBalance 倍額定率法を用いて資産の減価償却額を計算します。
function DoubleDecliningBalance(const Cost: Extended; const Salvage: Extended; Life: Integer; Period: Integer): Extended;
Math.FutureValue 投資の将来価値を計算します。
function FutureValue(const Rate: Extended; NPeriods: Integer; const Payment: Extended; const PresentValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.InterestPayment ローン支払額の利息部分を計算します。
function InterestPayment(const Rate: Extended; Period: Integer; NPeriods: Integer; const PresentValue: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.InterestRate PresentValue を FutureValue に増やすために必要な利率を返します。
function InterestRate(NPeriods: Integer; const Payment: Extended; const PresentValue: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.InternalRateOfReturn 投資の内部利益率を計算します。
function InternalRateOfReturn(const Guess: Extended; const CashFlows: array of Double): Extended;
Math.MeanAndStdDev 配列要素の平均と標準偏差を計算します。
procedure MeanAndStdDev(const Data: array of Double; var Mean: Extended; var StdDev: Extended);
Math.MomentSkewKurtosis 平均、分散、非対称度、尖度を計算します。
procedure MomentSkewKurtosis(const Data: array of Double; var M1: Extended; var M2: Extended; var M3: Extended; var M4: Extended;
var Skew: Extended; var Kurtosis: Extended);
Math.NetPresentValue 推定キャッシュ フロー値の並びから現在価値を計算します。
function NetPresentValue(const Rate: Extended; const CashFlows: array of Double; PaymentTime: TPaymentTime): Extended;
Math.Norm ユークリッドの 'L-2' ノルムを返します。
function Norm(const Data: array of Double): Extended;
Math.NumberOfPeriods 投資の支払期数を返します。
function NumberOfPeriods(const Rate: Extended; Payment: Extended; const PresentValue: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.Payment 分割支払額を計算します。
function Payment(Rate: Extended; NPeriods: Integer; const PresentValue: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.PeriodPayment 全支払額から元金額を返します。
function PeriodPayment(const Rate: Extended; Period: Integer; NPeriods: Integer; const PresentValue: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.Poly 1 つの変数の値 X における一様多項式を評価します。
function Poly(const X: Extended; const Coefficients: array of Double): Extended;
Math.PopnStdDev 母集団の標準偏差を計算します。
function PopnStdDev(const Data: array of Double): Extended;
Math.PopnVariance 母集団の分散を計算します。
function PopnVariance(const Data: array of Double): Extended;
Math.PresentValue 投資の現在価値を計算します。
function PresentValue(const Rate: Extended; NPeriods: Integer; const Payment: Extended; const FutureValue: Extended; PaymentTime: TPaymentTime): Extended;
Math.SLNDepreciation 資産の定額償却額を返します。
function SLNDepreciation(const Cost: Extended; const Salvage: Extended; Life: Integer): Extended;
Math.StdDev 配列に含まれている要素の標本標準偏差を返します。
function StdDev(const Data: array of Double): Extended;
Math.SYDDepreciation 資産の減価償却額を計算します。
function SYDDepreciation(const Cost: Extended; const Salvage: Extended; Life: Integer; Period: Integer): Extended;
Math.TotalVariance 値の並びから統計的分散を返します。
function TotalVariance(const Data: array of Double): Extended;
Math.Variance データの並びから統計的な標本分散を計算します。
function Variance(const Data: array of Double): Extended;
 
FPU 制御用メンバ
FPU=Floating Point Unit=浮動小数点ユニット
16bitCPUの8086CPUそのものには、整数の四則計算程度の機能しかなく、実数計算等を行うにはそれ用のソフトウェアプログラムが利用されました。ソフトなので多少遅いため、速くするためハードで=実数計算専用のCPUが開発=8087とネーミングされました。当初のNEC PC-9801/E/F/Mでは別売オプションとなっています。80286-CPUが開発されるとそれ用の80287が、80386-CPUが開発されるとそれ用の80387が出ました。80486(i486)が出る時には、80486DXには 80487が内部に組み込まれました。安価版の80486SXには組み込まれませんでした。そしてPentium-CPUになって内部にx87の機能が標準で組み込まれる事になります。以降も同様です。その組込機能をFPUと呼ぶようです。
メンバ説明
Math.ClearExceptionsFPU ステータス ワード内の例外ビットをクリアします。
System.Default8087CWデフォルトの 8087 制御ワードを指定します。
System.Get8087CW8087 制御ワードの値を返します。
Math.GetExceptionMaskFPU 制御ワードの例外マスクを返します。
Math.GetPrecisionModeFPU 精度モードを返します。
Math.GetRoundModeFPU 丸めモードを返します。
System.Set8087CW浮動小数点演算ユニット内の制御ワードと、システム ユニットで宣言されている System.NoErrMsg 変数を両方とも設定します。
Math.SetExceptionMaskFPU 制御ワードの例外マスクを設定します。
Math.SetPrecisionModeFPU 精度モードを設定します。
Math.SetRoundModeFPU 丸めモードを設定します。
 
◆文字関連のルーチン
 
文字操作ルーチン
ルーチン説明
SysUtils.CharInSet 指定された文字がセット内に含まれているかどうかを調べます。(※Charは Unicode文字)
function CharInSet(C: AnsiChar; const CharSet: TSysCharSet): Boolean; overload;
 
function CharInSet(C: Char; const CharSet: TSysCharSet): Boolean; overload;
System.Chr 指定された ASCII 値に対応する文字を返します。
function Chr(X: Byte): Char;
System.FillChar 連続するバイト領域を指定の値で埋めます。
(※文字数ではなくバイト数なので注意:埋める文字はシングルバイト文字なのでUnicodeの場合は思ったように動作しないかも)
procedure FillChar(var X; Count: Integer; Value: Integer);
Character.IsControl UTF-16 文字が Unicode 仕様で制御文字として定義されているかどうかを判定します。
function IsControl(C: Char): Boolean; overload;
 
function IsControl(const S: string; Index: Integer): Boolean; overload;
Character.IsDigit UTF-16 文字が Unicode 仕様で数字(10 進数字)として定義されているかどうかを判定します。
function IsDigit(C: Char): Boolean; overload;
 
function IsDigit(const S: string; Index: Integer): Boolean; overload;
Character.IsHighSurrogate UTF-16 文字が Unicode 仕様で上位サロゲートとして定義されているかどうかを判定します。
function IsHighSurrogate(C: Char): Boolean; overload;
 
function IsHighSurrogate(const S: string; Index: Integer): Boolean; overload;
Character.IsLetter UTF-16 文字が Unicode 仕様でアルファベット文字として定義されているかどうかを判定します。
function IsLetter(C: Char): Boolean; overload;
 
function IsLetter(const S: string; Index: Integer): Boolean; overload;
Character.IsLetterOrDigit UTF-16 文字が Unicode 仕様でアルファベット文字または 10 進数字として定義されているかどうかを判定します。
function IsLetterOrDigit(C: Char): Boolean; overload;
 
function IsLetterOrDigit(const S: string; Index: Integer): Boolean; overload;
Character.IsLowSurrogate UTF-16 文字が Unicode 仕様で下位サロゲートとして定義されているかどうかを判定します。
function IsLowSurrogate(C: Char): Boolean; overload;
 
function IsLowSurrogate(const S: string; Index: Integer): Boolean; overload;
Character.IsLower UTF-16 文字が Unicode 仕様で小文字として定義されているかどうかを判定します。
function IsLower(C: Char): Boolean; overload;
 
function IsLower(const S: string; Index: Integer): Boolean; overload;
Character.IsNumber UTF-16 文字が Unicode 仕様で数字(10進数字のほか、文字数字なども含む)として定義されているかどうかを判定します。
function IsNumber(C: Char): Boolean; overload;
 
function IsNumber(const S: string; Index: Integer): Boolean; overload;
Character.IsPunctuation UTF-16 文字が Unicode 仕様で句読点として定義されているかどうかを判定します。
function IsPunctuation(C: Char): Boolean; overload;
 
function IsPunctuation(const S: string; Index: Integer): Boolean; overload;
Character.IsSeparator UTF-16 文字が Unicode 仕様で区切り文字として定義されているかどうかを判定します。
function IsSeparator(C: Char): Boolean; overload;
 
function IsSeparator(const S: string; Index: Integer): Boolean; overload;
Character.IsSurrogate UTF-16 文字が Unicode 仕様でサロゲートとして定義されているかどうかを判定します。
function IsSurrogate(Surrogate: Char): Boolean; overload;
 
function IsSurrogate(const S: string; Index: Integer): Boolean; overload;
Character.IsSurrogatePair 文字が Unicode 仕様における有効なサロゲート ペアかどうかを判定します。
function IsSurrogatePair(const HighSurrogate: Char; const LowSurrogate: Char): Boolean; overload;
 
function IsSurrogatePair(const S: string; Index: Integer): Boolean; overload;
Character.IsSymbol UTF-16 文字が Unicode 仕様で記号として定義されているかどうかを判定します。
function IsSymbol(C: Char): Boolean; overload;
 
function IsSymbol(const S: string; Index: Integer): Boolean; overload;
Character.IsUpper UTF-16 文字が Unicode 仕様で大文字として定義されているかどうかを判定します。
function IsUpper(C: Char): Boolean; overload;
 
function IsUpper(const S: string; Index: Integer): Boolean; overload;
Character.IsWhiteSpace UTF-16 文字が Unicode 仕様でホワイトスペースとして定義されているかどうかを判定します。
function IsWhiteSpace(C: Char): Boolean; overload;
 
function IsWhiteSpace(const S: string; Index: Integer): Boolean; overload;
System.MoveChars コピー元領域からコピー先領域へバイト データをコピーします。(Char のサイズが 2 バイトである(Unicode が有効である場合)ことを想定しています。)
procedure MoveChars(const Source; var Dest; Length: Integer);
Character.ToLower Unicode 仕様に従って、UTF-16 文字を対応する小文字に変換します。
function ToLower(C: Char): Char; overload;
 
function ToLower(const S: string): string; overload;
Character.ToUpper Unicode 仕様に従って、UTF-16 文字を対応する大文字に変換します。
function ToUpper(C: Char): Char; overload;
 
function ToUpper(const S: string): string; overload;
System.UpCase 文字を大文字に変換します。
function UpCase(Ch: AnsiChar): AnsiChar; overload;
 
function UpCase(Ch: Char): Char; overload;
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/11/28
 2010/11/29
▼2010/11/30
 
シェアウェア
Script!World
データベース
 
お問い合わせ
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.