お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"全角文字を全部取得"



  Shift-JIS コード #$81#$40〜#$FC#$FF の全角文字をすべて 
TStrings データに取得します
  
procedure GetAllZenkaku(Strings: TStrings);
var
  I: Word;
  Buffer: PChar;

  procedure PutData;
  var
    J, K: Word;
    S: String;
  begin
    Strings.Add('     0123456789ABCDEF');
    for J := $4 to $F do
    begin
      S := IntToHex(I, 2) + IntToHex(J * $10, 2) + ':';
      for K := 0 to $F do
      begin
        Buffer^ := Char(I);
        (Buffer + 1)^ := Char(J * $10 + K);
        S := S + Buffer;
      end;
      Strings.Add(S);
    end;
    Strings.Add('');
  end;

begin
  Strings.BeginUpdate;
  try
    Strings.Clear;
    Buffer := StrAlloc(3);
    try
      Buffer[2] := #0;
      for I := $81 to $9F do
        PutData;
      for I := $E0 to $FC do
        PutData;
    finally
      StrDispose(Buffer);
    end;
  finally
    Strings.EndUpdate;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GetAllZenkaku(Memo1.Lines);
end;

  のように使います。

**** 本田勝彦 http://member.nifty.ne.jp/~katsuhiko/ ****
 


- FDELPHI  MES(16):玉石混淆みんなで作るSample蔵【見本蓄積】 01/02/02 -

Original document by 本田勝彦        氏 ID:(VYR01647)


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

Copyright 1996-2002 Delphi Users' Forum