ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 07:17

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: ABの文字列について
投稿記事Posted: 2005年6月04日(土) 16:28 
オフライン

登録日時: 2005年5月31日(火) 10:52
記事: 264
お住まい: 高知
ABの文字配列の初期化なのですが
今現在(AB4.01)のところ

Dim buf[4]="ABC" As Byte

のように初期化できないようですが、これが出来るようになると非常に便利ではないでしょうか?


2つ目ですがUNICODEへ対応はどのようになるのでしょうか?
今後、COMを本格的に導入していくとなると必須では??


通報する
ページトップ
投稿記事Posted: 2005年6月04日(土) 18:53 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
> Dim buf[4]="ABC" As Byte
どうせならこういうときには要素数の省略も認めてくれれば尚嬉しいですね。
Dim buf[] = "ABC" As Byteのような具合に。
もちろん通常の配列初期化の場合にも適用できます。

> 2つ目ですがUNICODEへ対応はどのようになるのでしょうか?
> 今後、COMを本格的に導入していくとなると必須では??
これもなるべく早く欲しいですね。
英数字だけの時にはいちいちMulchByteToWideChar()を呼ぶ手間を省くために、Ex"h\0o\0g\0e\0\0"(WCharの配列として解釈すれば"hoge"となる)としたり、
こんなコードを書いたりしたこともありました。
Dim w[3] As WCHAR
w[0] = Asc("f")
w[1] = Asc("o")
w[1] = Asc("o")
w[1] = 0


通報する
ページトップ
投稿記事Posted: 2005年6月07日(火) 14:38 
オフライン

登録日時: 2005年5月31日(火) 10:52
記事: 264
お住まい: 高知
> どうせならこういうときには要素数の省略も認めてくれれば尚嬉しいですね。
> Dim buf[] = "ABC" As Byteのような具合に。
> もちろん通常の配列初期化の場合にも適用できます。

それもいいですね。
配列に文字列を書き込むためにlstrcpyを一々使うのはさすがに面倒ですから。


> こんなコードを書いたりしたこともありました。
> Dim w[3] As WCHAR
> w[0] = Asc("f")
> w[1] = Asc("o")
> w[1] = Asc("o")
> w[1] = 0

たぶん配列要素の指定が間違ってますよね。これ。
何をやってるかはすぐに分かるので問題ないですが、、、

VBみたく全部の命令や関数がUNICODEに対応する必要はないですから、
とりあえずC++のようにUNICODEをリテリアルとして扱えるL""みたいなものがほしいですね。まぁ別にC++の仕様にあわせる必要もないですが、、、
リテリアルさえできればWCHAR配列で何とかなりますし


通報する
ページトップ
投稿記事Posted: 2005年6月07日(火) 15:53 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
> > Dim w[3] As WCHAR
> > w[0] = Asc("f")
> > w[1] = Asc("o")
> > w[1] = Asc("o")
> > w[1] = 0
>
> たぶん配列要素の指定が間違ってますよね。これ。
そうでした(汗)。すみません。
w[2]とw[3]に各自読み替えて下さい。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[8人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean