【Delphi互換!?】FreePascal/Lazarus その2【GPL】 (979レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
645: 640 2016/05/10(火)22:51 ID:ZbVjwRdt(1/3)調 AAS
一応こんな感じで今のところうまくいっています

1.uses節にWindowsを追加

2.varはこんな感じ
var
 SJStr, U8Str: String;
 WStr: WideString;
 Wlen: Integer;

3.ShiftJIStoUTF8内
 WLen:=MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,PChar(SJStr),
      Length(SJStr),PWideChar(WStr),0);
 SetLength(WStr,WLen);
 MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,PChar(SJStr),
      Length(SJStr),PWideChar(WStr),WLen);
U8Str:=String(WStr);
//半角Spaceを全角Space ni置き換えています

SJStrはShift_JIS String
U8StrはUTF-8 String
APIを2回Callしているのは1回目で変換後のサイズを取得して2回目で実際に変換しているからです

API出力のUTF-16をPWideChar(array of WideChar)とかで受けて
String(PWideChar(…とかするとうまく変換してくれませんでした
(コンパイルは通るけど)
String(WideString(PWideChar(…なら変換してくれました
なので最初からAPIの出力はWideStringで受けています

しばらくこんな感じで使ってみて不具合が出たらまた考えて見ます
皆さんいろいろな助言をありがとうございました
646: 640 2016/05/10(火)23:19 ID:ZbVjwRdt(2/3)調 AAS
テスト用のProjectです
http://yahoo.jp/box/Vl_y-O
647: 640 2016/05/10(火)23:41 ID:ZbVjwRdt(3/3)調 AAS
ファイルが壊れていたので再UPしました
http://yahoo.jp/box/wFfctM
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.060s