トップページ > プログラム > 2016年10月31日 > +6lHFHa+

書き込み順位&時間帯一覧

10 位/143 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000013004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【QBASIC互換!?】FreeBasic【GPL】

書き込みレス一覧

【QBASIC互換!?】FreeBasic【GPL】
896 :デフォルトの名無しさん[]:2016/10/31(月) 20:43:37.20 ID:+6lHFHa+
ちょっとMIDIから外れるのだが、
スーパーの文具売り場で、学校教育用カスタネット350円を買ってきた。
手持ちのオルガンと合わせて、作曲用機材はそろった。
【QBASIC互換!?】FreeBasic【GPL】
897 :デフォルトの名無しさん[]:2016/10/31(月) 21:47:59.25 ID:+6lHFHa+
Function midiOutLongMsg()の使用で、
lpMidiOutHdr.lpData = VarPtr(MLMsg(0))
lpMidiOutHdr.dwBufferLength = UBound(MLMsg) + 1&
と、連続する領域にMIDIデータを保存することが必要となる。
>>818 で指摘があった通り、配列を確保すると各要素に約40バイトの付属データが伴う。
つまり、MSが規定している MIDIHDR 構造体のlpMidiOutHdr.lpDataの示すアドレスからlpMidiOutHdr.dwBufferLength個の連続した主記憶装置にMIDIデータを保存するための領域が確保できないことを示している。

これ関係での動作試験。
Dim12SB1.bas に保存。DimChk12.basより参照。
【QBASIC互換!?】FreeBasic【GPL】
898 :デフォルトの名無しさん[]:2016/10/31(月) 21:48:57.96 ID:+6lHFHa+
Public Function StringPeek(ActionType As Long) As long
StringPeek = 0
Const LenZstring = 20
Dim As ZString * LenZstring AAzstring, BBzstring, CCzstring
Dim As String AAstring, BBstring
Dim As Long IAA, IBB, ICC
Dim As ZString Ptr AAzstringPTR

AAstring = ""
For IAA = 1 To LenZstring
AAstring = AAstring + Str$(IAA Mod 10)
Next IAA
AAZString = AAstring
AAzstringPTR = @AAZString
MessageBox(TakaHWND,"Hello ("+AAZString+")"+Str$(Len(AAzstring))+" , "+Str$(len(CCzstring)),"Messagebox caption",MB_ICONINFORMATION)
BBstring = ""
For IAA = 0 To LenZstring -1
IBB = Peek(UByte, AAzstringPTR + IAA)
BBstring = BBstring + Str$(IBB - &h30)
Next IAA
BBZString = BBstring
If (AAZString <> BBZString) Then
MessageBox(TakaHWND,"Hello ("+BBZString+") ("+AAzstring+")","Messagebox caption",MB_ICONINFORMATION)
Else
MessageBox(TakaHWND,"Hello ("+BBZString+")"+Str$(Len(AAzstring))+" , "+Str$(len(CCzstring)),"Messagebox caption",MB_ICONINFORMATION)
EndIf
End Function
とまー、何とか領域が確保できた。
【QBASIC互換!?】FreeBasic【GPL】
899 :デフォルトの名無しさん[]:2016/10/31(月) 21:52:07.76 ID:+6lHFHa+
今度は構造体での指定と、データ転送。
Zstring で&h00-&hFFのデータを取り扱えるかどうか、Poke で転送しなければならないのかは不明。
今日はここまで。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。