<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def scrollWith(self, hStart = 0x00, hEnd=0x00, vOffset = 0x00, vStart=0x00, vEnd=0x00, int = 0x00, dire = "left" ):
 """! \~english Scroll screen @param hStart: Set horizontal scroll PAGE start address, value can be chosen between 0 and 7 @param hEnd: Set horizontal scroll PAGE end address, value can be chose between 0 and 7 @param vOffset: Vertical scroll offset row, if set to 0x00(0) means off vertical scroll @param vStart: Vertical scroll start line, value can be chose between 0x00 and screen.height @param vEnd: Vertical scroll end line, value can be chose between 0x00 and screen.height @param int: Set time interval between each scroll step @param dire: Set scroll direction, value can be "left" or "right" \~chinese 屏幕滚动 @param hStart: 设置水平滚动PAGE起始地址，数值可以在0到7之间选择 @param hEnd: 设置水平滚动PAGE结束地址，值可以在0和7之间选择 @param vOffset: 垂直滚动偏移行，如果设置为0x00（0），表示关闭垂直滚动 @param vStart: 垂直滚动起始行，值可以在0x00和screen.height之间选择 @param vEnd: 垂直滚动结束行，值可以在0x00和screen.height之间选择 @param int: 设置每个滚动步骤之间的时间间隔 @param dire: 设置滚动方向，数值可以是 "left" 或 "right" """

        self._command( [self.CMD_SSD1306_SET_SCROLL_DEACTIVE] )
        if vOffset != 0:
            self._command( [
                    self.CMD_SSD1306_SET_SCROLL_VERTICAL_AREA,
                    vStart,
                    vEnd,
                    0x00
                ])

        self._command( [
            self.CMD_SSD1306_SET_SCROLL_HORIZONTAL_VERTICAL_LEFT if dire.upper()=="LEFT" else self.CMD_SSD1306_SET_SCROLL_HORIZONTAL_VERTICAL_RIGHT,
            0x00, 
            hStart, 
            int, 
            hEnd, 
            vOffset, 
            0x00,
            self.CMD_SSD1306_SET_SCROLL_ACTIVE
            ])