• ベストアンサー

StrConv 関数の定数 「 vbansi 」??

GOTTiの回答

  • GOTTi
  • ベストアンサー率25% (2/8)
回答No.1

Trim(StrConv(hoge,vbansi)) の部分ですが、おそらく vbansi は値が 0 の Variant 変数として処理されていると思われます。つまり、StrConv() 関数では何も処理されていないのではないでしょうか? Trim(hoge) のみだと、結果はどのようになりますか? ちなみに、ASCII などに変換する場合の StrConv() 関数の第 2 引数は vbFromUnicode だったと思います。

xiaolong_goo
質問者

補足

お返事有り難うございます。 Trim(hoge) のみで印刷すると、「あいうえお・・・・」となります。 Trim(StrConv(hoge,vbFromUnicode))だと、数字以外の文字は読めません。 私もOption Explicit を挿入してエラーになるので 「vbansi は値が 0 の Variant 変数」かな(もちろんプロジェクト、モジュール、プロシージャのいずれでも宣言していません)?と思い数字の「0」を入れてみたところ、「あいうえお」と印刷されます。 しかし、数字の「0」以外ではまったくだめです。 とてもとても不思議な感じがします。

関連するQ&A

  • JavaScriptで特定の変数に値が代入されるのを禁止する。

    JavaScriptで、既存の変数に値を代入し、その後の上書き(その変数への値の代入)を禁止するにはどのようにすればよいでしょうか。 <script type="text/javascript"><!-- var hoge = "hogeは初期化されてます"; hoge = "hogeは変更されました";//ここ以降での変更(代入)を禁止したい。 hoge = "hoge変更2回目"; alert(hoge); //--></script> というスクリプトを書いたときに、alert(hoge)で「hogeは変更されました」と表示させたいのです。 他の方法は駄目です。この方法だけでお願いします。 よろしくお願いします。

  • タックシール1枚に10枚印字が出来ない

    タックシール印刷でカラーを指定、1枚10枚指定が、モノクロで1枚印刷のみで、その後は大文字がランダムで印字されのはなぜか ※OKWAVEより補足:「EPSON社製品」についての質問です。

  • Ruby 特異メソッドのnewが先に実行?

    Rubyのインスタンス生成について質問があります。 通常クラスを定義する場合は class Hoge ; def hello(); pirnt "hello"; end であると思います。 ただ Hoge = Class.new(); でもクラスは定義できるとききました。 ただこの場合Hogeクラスに定義できるのは HogeというClassクラスから作られた特異クラスとしてのHogeに 特異メソッドのみを定義できるということですよね? 通常のインスタンスメソッドは定義できませんよね? ではでは、 hoge = Class.new(); とした場合はどうなるのでしょうか? この場合は Classクラスの純粋なインスタンスとなるのでしょうか? 前者の定義とおなじ仕方ですが代入先が、通常の変数です。 この場合は、クラスオブジェクトとして生成されるのですか? オンラインマニュアルをみたところ 「新しく名前の付いていない superclass のサブクラスを生成します。 superclass が省略された時にはObject のサブクラスを生成します。 名前のないクラスは、最初に名前を求める際に代入されている定数名を検索し、見つかった定数名をクラス名とします。」 とあります。 上記内容は Classクラスの特異クラスとして定義されている特異メソッド(new)です。 これは Class.new()で作られたインスタンスを代入する先が定数であればその定数名と同じクラスを定義しつつそのClassクラスのクラスオブジェクトを生成するという意味合いでまちがいないでしょうか? 上記のとおりであれば hoge =Class.new()の場合は、やはりhogeというクラスを定義することになるのでしょうか? クラス定義は定数でなければならないはずですよね。 ただ実際、 p hoge;として出力すると#とひょうじされています。これはhogeがクラスオブジェクトではなく ただのインスタンスであるということでしょうか? であるならばこの hoge = Class.new()の式のnewはClassクラスオブジェクトに定義された特異メソッドではなく Classクラスに定義されたnewメソッド・・・・・つまりClassクラスに定義されたインスタンスメソッドの方のnewメソッドだとおもうのですが・・・・・・。 つまりこちらのメソッドですね。 「new( ... ) クラスのインスタンスを生成して返します。このメソッドの引数はブロック引数も含め initialize に渡されます。」 ※オンラインリファレンスから参照しました。 しかし 通常メソッドの検索は特異メソッドからはじまりその後クラスのインスタンスメソッド->親クラスのメソッドと 検索して行くとあります。 必ず先に、特異メソッドを実行しているはずだと思うのですが・・・。 やはり特異メソッドnewを実行しているのでしょうか? 長々すみませんが、ご教授ください。

    • ベストアンサー
    • Ruby
  • javascript

    ある文字を入力して、文字を返すロジックですが、 ボックスを作成して入力を行いたいです。 以下のロジックだと、hogeのvalueに文字を入力すると、文字はボックスに返されますが、 valueをスペースにして、value="" htmlで画面上で、文字を入力して、submitを実行しても、文字は返されません。 文字が引き渡されたないのが原因だと思われますが、 submitでどのようにして文字を引き渡してよいか、教えて頂けないでしょうか。 宜しくお願いします。 <form id="sample"> <input type="text" id="hoge" name="hoge" value="pass" size="30"> <input type="text" id="foo" name="foo" value="" size="100"> <INPUT type="submit" value="変換"> <script language="javascript"> (function () { function test(p){var 省略 charAt(i);}return s;} var elements = document.getElementById('sample').elements; elements['foo'].value = test(elements['hoge'].value); }()); </script>

  • awk in csh

    cshスクリプトの中で、awkと連動させたプログラムを書こうとしています。 以下の様なテーブルファイル(hoge.txt)があると想定してください。 1 0.01 0.52 3.23 ..... 2 0.22 9.34 8.22 ..... 3 0.44 0.68 3.81 ..... ... (列も行も揃っている数値だけのテーブル) 例えば、変数hogeに第2行、第2列の数値(文字列)0.22を代入する際、 シェルスクリプト内部で、 @ hoge = `awk 'NR==2' {print $2} hoge.txt` としましたが、$2をスクリプトに与えられた2番目の引数だと解釈して、 うまく動作しません。 試しに$2 -> \$2に変換してみましたが、ダメでした。 (\の後に改行がないというエラーが出ました) 第i列目,j行目の文字列を取り出すにはどのようにすれば良いでしょうか。

  • あるディレクトリの.wma を全て.mp3 に

    あるディレクトリにある .wma ファイルを全て .mp3 ファイルに 変換するスクリプトを作りたいです。 例えばそのディレクトリの中が hoge.mp3 foo.mp3 bar.mp3 となっていたら、 ls > ls.txt をした後に ls.txt の中を一行一行読み込んで .wma の前を変数 var に代入し、 ffmpeg -i ${var}.wma ${var}.mp3 という風にやれば良いと思うのですが、 .wma の前を変数 var に代入するやり方が分かりません。 なるべく . の後が3文字の .mp3 だけでなく .list などでも通用する方法を知りたいです。 どうぞご教授下さい。 よろしくお願いします。

  • ファイルから読み込み

    お世話になっております。 テキストファイルを読み込んで、データベースに格納をしたいと思っております。 全角と半角、全角スペースや半角スペースなどが混在しているため 意図した通りに読み込めません。 test.txt -------------------------------------------------- 山田 太郎     ヤマダ タロウ   神奈川県○○○区1-2-3       0312345678 ・・・1\n\r 高橋 花子     タカハシ ハナコ  東京都○○○○区4-5-6       0312345678 ・・・1\n\r (カタカナは半角カタカナです。半角カタカナの後ろのスペースは半角スペースです。) sample.php(EUC) -------------------------------------------------- $fp = fopen($file_path, "r"); while (!feof($fp)) {  // テキストファイルがShift-JISなのでEUC-JPに変換  $row = mb_convert_encoding(fgets($fp), "EUC-JP", "Shift-JIS");  // 全角スペースは半角スペース2に変換  $line = str_replace(" ", " ", $row);  $d['name'] = trim(mb_substr($line, 0, 20));  $d['kana'] = trim(mb_substr($line, 20, 20));  $d['address'] = trim(mb_substr($line, 40, 40));  $d['tel'] = trim(mb_substr($line, 80, 20));    :    :  $d['flag'] = trim(mb_substr($line, 1300, 1)); } よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • VB6.0で、LSetの動作がわからない

    よろしくお願いします。 LSetのサンプルを検索していて以下のコードを見つけました。 Option Explicit Private Type B4 B(3) As Byte End Type Private Type S1 S As Single End Type Private Sub Form_Load() Dim X As B4 Dim Y As S1 X.B(0) = 37 X.B(1) = 82 X.B(2) = 154 X.B(3) = 68 LSet Y = X Debug.Print Y.S End Sub このコードを実行するとデバッグウィンドウに 1234.567 と表示されます。 このコードではいったい何が起こっているのでしょうか? X.Bとして4つの配列変数が用意され、それがY.Sという配列ではない通常の変数に代入されているのはわかるのですが、 どうして結果が1234.567になるのかわかりません。

  • 定数関数

    定数関数について質問させて下さい。 オイラーの公式を関数の微分を使って証明する際に、 f(x) が定数関数であることと同値という事を使おうと考えています。 f(x)=(cos-isinx)e^ixに関して、f’(x)=0より 定数関数と同値ということになります。 例えば、 y=2は定数関数だと認識していますが、 f(x)=2というような表記はしないですよね? f(0)=2というように表記することはOKなんでしょうか? 定数関数の表現の方法に疑問を持ちました。 以上、ご回答よろしくお願い致します。

  • 2次関数の定数の求め方

    関数y=ax2乗について、xの変域がー2≦x≦3のとき、yの変域がー6≦y≦0である。このとき、aの値を求めよ。 私が出した答えはa=-2/3ですが、正解でしょうか?