VBからDelphiへのソース変換について

解決


きり  2005-01-25 22:58:35  No: 12859

質問ばかりで申し訳ありません。

先ほど移植してたActiveX関連なのですが、VBのサンプルソースが以下のようになってました。

    Dim ESC As String * 1
    ESC = Chr(&H1B) ' ESCコマンド

これをDelphiで再現するにはどうしたら宜しいでしょうか?
質問ばかりで恐縮ですが宜しくお願いします。


にしの  2005-01-25 23:30:43  No: 12860

基本的な構文を勉強した方がよいですよ。

本題ですが、使用する場面によって変わります。
Longなどの数値型であれば、さほど変わりませんが、文字列の表現となると別です。
Delphiでは、

var
  ESC: String;
begin
  ESC := #$1B;

か、

var
  ESC: CHAR;
begin
  ESC := #$1B;

か、

var
  ESC: array[0..1] of CHAR;
begin
  ESC[0] := #$1B;
  ESC[1] := #0;

のどれかだと思います。
VBだと、文字列はBSTR型の場合もあります。その場合はSysAllocStringなどで文字列を確保する必要があります。


きり  2005-01-25 23:41:56  No: 12861

にしの様。ありがとうございますm(__)m

> var
>   ESC: CHAR;
> begin
>   ESC := #$1B;

試したところ。これでいけました。
助かりました^^

> 基本的な構文を勉強した方がよいですよ。

おっしゃる通りです・・。
言語はDelphiしか経験がなく、またDelphiの経験も浅いので16進数とかchar形がいまいち分かっておらずご迷惑をおかけしましたm(__)m

ご助言感謝します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加