2017-11-14 8 views
0

多くのバージョンのBasicでは、音楽はPLAYというステートメントで再生できます。引数、音符、オクターブなどを受け付けるだけでなく、部分文字列も受け入れます。 を例として、A$="BCD": B$="FDE": PLAY "XA$;O3XB$;"PLAY "BCDO3FDE"に相当します。BASICからC++への音楽の部分文字列の変換

私はC++で同じことをしたいと思います。私はBASICが解釈され、C++がコンパイルされるので難しいことは知っていますが、方法はありますか?

もっと正確に言えば、私はすでにノート(例えば "BCD")、オクターブ(接頭辞O +数字、例えば "O2")、音符の長さ(接頭辞Lと数字、例えば「L4」)、再生する文字列は「BCDO3FDE」(上記と同じ)になります。私はそれに部分文字列を再生するために必要なコードを追加したい

は、下の行のようにそのコードが動作しますので、プレフィックスXと言う:

AnsiString aa="BCD", bb="FDE";PlayString("Xaa;O3Xbb;"); 

PlayString("BCDO3FDE"); 
に相当します

アイデア、誰ですか?

答えて

0

書かれているように、これは動作しません。理由はまさにあなたが疑ったものです:C++がコンパイルされています。実行時に変数名が存在しません。しかし、PlayStringは実行時にのみその引数を解釈します。必要があります

PlayString(aa+"O3"+bb); 
関連する問題