月曜日, 10月 05, 2015

PowerBuilder 12.6: UTF-8 ファイルを読み込む

ひょんなことで PowerBuilder プロジェクトの案件を扱うこととなりました。ので、関連情報など載せていきたいと思います。

まずは IDE など勝手が違うので、多少の忍耐が必要です。

日本語のファイルを扱うのでまずはまってしまったので、まずはファイルの読み書きから書いていきたいと思います。

UTF-8 ファイルを読む方法です。

integer fp, err
blob buf
string pathname="text.txt"
fp = fileOpen(pathname, StreamMode!, Read!, Shared!)
if fp<>-1 then
err = fileRead(fp, buf)
ie_1.Text=string( buf, encodingUTF8!)
fileClose(fp)
end if

UTF-8 ファイルはこれで読み込めます。

書き込みは以下の通りです。

FileOpen で文字コード EncodingUTF8! を指定します。

string filename, pathname
integer result
string str
integer fp, err
result = getFileSaveName("Save file as", pathname, filename, "TXT", "Text Files (*.TXT),*.TXT,")
if result=1 then
fp = fileOpen(pathname, LineMode!, Write!, LockWrite!, Replace!, EncodingUTF8!)
if fp<>-1 then
str=ie_1.Text
err = fileWrite(fp, str)
fileClose(fp)
end if
end if

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...