Ignore:
Timestamp:
Mar 1, 2007, 12:31:13 AM (17 years ago)
Author:
イグトランス (egtra)
Message:

(拡張)メタファイル関数(全部)・構造体(一部)、BITMAPV4HEADERとそれに関連する型などの宣言

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Include/basic/command.sbp

    r121 r123  
    8080Macro INSMENU(hMenu As HMENU, PosID As Long, flag As Long)(lpString As String, id As Long, hSubMenu As HMENU, state As Long)
    8181    Dim mii As MENUITEMINFO
    82 
    83     FillMemory(VarPtr(mii),Len(mii),0)
    84     mii.cbSize=Len(mii)
    85     mii.fMask=MIIM_TYPE
    86 
    87     If lpString.Length=0 Then
    88         mii.fType=MFT_SEPARATOR
    89     Else
    90         mii.fType=MFT_STRING
    91         mii.fMask=mii.fMask or MIIM_STATE or MIIM_ID
    92         mii.dwTypeData=StrPtr(lpString)
    93         mii.wID=id
    94         If hSubMenu Then
    95             mii.fMask=mii.fMask or MIIM_SUBMENU
    96             mii.hSubMenu=hSubMenu
     82    ZeroMemory(VarPtr(mii), Len(mii))
     83    With mii
     84        .cbSize = Len(mii)
     85        .fMask = MIIM_TYPE
     86
     87        If lpString.Length = 0 Then
     88            mii.fType = MFT_SEPARATOR
     89        Else
     90            .fType = MFT_STRING
     91            .fMask = .fMask or MIIM_STATE or MIIM_ID
     92            .dwTypeData = StrPtr(lpString)
     93            .wID = id
     94            If hSubMenu Then
     95                .fMask = .fMask or MIIM_SUBMENU
     96                .hSubMenu = hSubMenu
     97            End If
     98            .fState=state
    9799        End If
    98         mii.fState=state
    99     End If
    100 
    101     InsertMenuItem(hMenu,PosID,flag,mii)
     100    End With
     101    InsertMenuItem(hMenu, PosID, flag, mii)
    102102End Macro
    103103
     
    220220End Sub
    221221
    222 Function _System_Input_SetArgument(arg As VoidPtr, dataType As DWord, ByRef buf As String, bufLen As Long)
     222Sub _System_Input_SetArgument(arg As VoidPtr, dataType As DWord, ByRef buf As String, bufLen As Long)
    223223    Select Case dataType
    224224        Case _System_Type_Double
     
    243243            pTempStr->Chars[pTempStr->Length] = 0
    244244    End Select
    245 End Function
     245End Sub
    246246
    247247Sub PRINT_ToFile(FileNumber As Long, buf As String)
    248248    Dim dwAccessByte As DWord
    249     FileNumber=FileNumber-1
     249    FileNumber--
    250250
    251251    WriteFile(_System_hFile(FileNumber),buf,Len(buf),VarPtr(dwAccessByte),ByVal NULL)
     
    320320            If length_buf>=length_num Then
    321321                '通常時
    322                 FillMemory(StrPtr(buffer)+i3,length_buf-length_num,Asc(" "))
     322                _System_FillChar(VarPtr(buffer[i3]), length_buf - length_num, &h20) 'Asc(" ")
     323
    323324                i3 += length_buf - length_num
    324325
    325326                If sign Then
    326                     buffer[i3]=Asc("-")
     327                    buffer[i3] = Asc("-")
    327328                    i3++
    328329
     
    330331                End If
    331332
    332                 If dec>0 Then
    333                     memcpy(StrPtr(buffer)+i3,temp2,length_num)
     333                If dec > 0 Then
     334                    memcpy(VarPtr(buffer[i3]), temp2, SizeOf (Char) * length_num)
    334335                Else
    335                     buffer[i3]=&H30
     336                    buffer[i3] = &H30
    336337                End If
    337338
     
    339340            Else
    340341                '表示桁が足りないとき
    341                 FillMemory(StrPtr(buffer)+i3,length_buf,Asc("#"))
     342                _System_FillChar(VarPtr(buffer[i3]), length_buf,&h23) 'Asc("#")
    342343                i3 += length_buf
    343344            End If
    344345
    345             If UsingStr[i2]=Asc(".") Then
    346                 buffer[i3]=UsingStr[i2]
     346            If UsingStr[i2] = Asc(".") Then
     347                buffer[i3] = UsingStr[i2]
    347348                i2++
    348349                i3++
    349350
    350351                i4=dec
    351                 While UsingStr[i2]=Asc("#")
     352                While UsingStr[i2] = Asc("#")
    352353                    If i4<0 Then
    353354                        buffer[i3]=&H30
     
    364365            i2++
    365366
    366             lstrcat(StrPtr(buffer)+i3,_System_UsingStrData[ParmNum])
    367             i3=i3+lstrlen(_System_UsingStrData[ParmNum])
     367            'lstrcat(StrPtr(buffer)+i3,_System_UsingStrData[ParmNum])
     368            memcpy(VarPtr(buffer[i3 + lstrlen(VarPtr(buffer[i3]))]), _System_UsingStrData[ParmNum], _
     369                SizeOf (Char) * lstrlen(_System_UsingStrData[ParmNum]))
     370            i3 += lstrlen(_System_UsingStrData[ParmNum])
    368371        ElseIf UsingStr[i2]=Asc("&") Then
    369372            i4=0
     
    380383                    i5=i4
    381384                Else
    382                     FillMemory(StrPtr(buffer)+i3,i4,Asc(" "))
     385                    _System_FillChar(VarPtr(buffer[i3]), i4, &h20) 'Asc(" ")
    383386                End If
    384                 memcpy(StrPtr(buffer)+i3,_System_UsingStrData[ParmNum],i5)
     387                memcpy(VarPtr(buffer[i3]), _System_UsingStrData[ParmNum], SizeOf (Char) * i5)
    385388                i3 += i4
    386389            Else
    387390                i2 -= i4
    388                 buffer[i3]=Asc("&")
     391                buffer[i3] = Asc("&")
    389392                i2++
    390393                i3++
     
    396399    Wend
    397400
    398     _System_GetUsingFormat=Left$(buffer,lstrlen(buffer))
     401    _System_GetUsingFormat = Left$(buffer, lstrlen(buffer))
    399402End Function
    400403Sub PRINTUSING_ToFile(FileNumber As Long, UsingStr As String)
Note: See TracChangeset for help on using the changeset viewer.