お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"JIS文字列から SJIS文字列への変換"

この発言に対し以下のコメントが寄せられています
#00959 けんし さん RE:JIS文字列から SJIS文字列への変換

 こんにちは、ぜえた です。 JIS文字列から SJIS文字列に変換します。 文字列処理のサンプルとしても御覧になれます。 nifty:FDELPHI/MES/06/28180 nifty:FDELPHI/MES/06/28014 nifty:FDELPHI/MES/16/949 nifty:FDELPHI/MES/16/953 も参照してください。 JisCharToSJisChar関数は nifty:FDELPHI/MES/15/286 の瑠瓏さんの JisToSJis関数を少し変更したものです。 function JisCharToSJisChar(N:WORD):WORD; assembler; asm add ax,07ea1h shr al,1 jb @1 cmp ah,0deh sbb ah,5eh @1: xor al,0e0h end; function JisToSJis(S: string): string; type PWord = ^Word; var p, q, d: PChar; begin SetString(Result, nil, Length(S)); p := PChar(S); q := PChar(Result); d := q; while True do begin case p^ of #0: Break; #$1B: begin if (p[1] <> #0) and (p[1] = '$') and (p[2] <> #0) and (p[2] = 'B') then begin Inc(p, 3); while True do begin case p^ of #0: Break; #$1B: begin if (p[1] <> #0) and (p[1] = '(') and (p[2] <> #0) and (p[2] = 'B') then begin Inc(p, 3); Break; end else begin d^ := p^; Inc(p); Inc(d); end; end; else PWord(d)^ := JisCharToSJisChar(PWord(p)^); Inc(p, 2); Inc(d, 2); end; end; Continue; end; end; end; d^ := p^; Inc(d); Inc(p); end; SetLength(Result, d - q); end; ぜえた (QZC05100) Original document by ぜえた 氏 ID:(QZC05100)



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

Copyright 1996-2002 Delphi Users' Forum