お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"VBのStrConv関数"





VBのStrConv関数と同様に、文字列を別の文字列にマッピングします。
パラメータのMapFlagに指定する値は"LCMapString"に渡す内容と同一で
以下の値があります。
  LCMAP_FULLWIDTH:半角 → 全角
  LCMAP_HALFWIDTH:全角 → 半角
  LCMAP_HIRAGANA :全角カタカナ → ひらがな
  LCMAP_KATAKANA :ひらがな → 全角カタカナ
  LCMAP_LOWERCASE:大文字 → 小文字
  LCMAP_UPPERCASE:小文字 → 大文字

function  StrConv(Value: String; MapFlag: Integer): String;
var
  DestStr: PChar;
  DestSize: Integer;
begin
  Result := Value;
  DestSize := LCMapString(LOCALE_SYSTEM_DEFAULT, MapFlag,
                  PChar(Value), Length(Value), Nil, 0);
  if  DestSize = 0  then  Exit;
  DestStr := AllocMem(DestSize + 1);
  Try
    DestSize := LCMapString(LOCALE_SYSTEM_DEFAULT, MapFlag,
                    PChar(Value), Length(Value), DestStr, DestSize);
    if  DestSize = 0  then  Exit;
    Result := StrPas(DestStr);
  Finally
    FreeMem(DestStr);
  end;
end;

                                     JBC01362  アトリエ まっちゃん

Original document by Atelier Macchan 氏 ID:(JBC01362)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum