16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"RE^2:全角対応 StrToIntDef"
この発言は #01224 十兵衛 さんのRE:全角対応 StrToIntDef に対するコメントです
この発言に対し以下のコメントが寄せられています
#01228 武丸タケシ さん RE^3:全角対応 StrToIntDef
十兵衛 さん、こんにちは。十兵衛です。
function ZenToIntDef(const AStr:string;ADef:Int64):Int64;
const
CNumStr:array [0..1] of WideString = (
'1234567890',
'1234567890');
var
IDX,FPos:Integer;
FStr1,FStr2:WideString;
begin
//変換対象文字列内の空白をすべて除去する
FStr1 := StringReplace(StringReplace(AStr,' ','',[rfReplaceAll]),
' ','',[rfReplaceAll]);
for IDX := 1 to Length(FStr1) do begin
FPos := Pos(FStr1[IDX],CNumStr[0]);
if FPos > 0 then FStr2 := FStr2 + CNumStr[1][FPos]
else begin
FPos := Pos(FStr1[IDX],CNumStr[1]);
if FPos > 0 then FStr2 := FStr2 + CNumStr[1][FPos]
else begin
Result := ADef;
Exit;
end;
end;
end;
Result := StrToInt64Def(FStr2,ADef);
end;
関数定義でデフォルト部分がInt64対応になっていなかったので修正しました。
01/01/04(木) 04:27 十兵衛(BZT01311)
- FDELPHI MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 01/01/05 -
Original document by 十兵衛 氏 ID:(BZT01311)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|