字幕时间修改软件

原创 2006年05月18日 23:17:00

VERSION 5.00
Begin VB.Form Form1
   Caption         =   "Form1"
   ClientHeight    =   5715
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   9015
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   ScaleHeight     =   5715
   ScaleWidth      =   9015
   StartUpPosition =   3  '窗口缺省
   Begin VB.ListBox List3
      Height          =   3660
      Left            =   4080
      MultiSelect     =   2  'Extended
      TabIndex        =   7
      Top             =   2040
      Width           =   4935
   End
   Begin VB.ListBox List2
      Height          =   3660
      Left            =   960
      MultiSelect     =   2  'Extended
      TabIndex        =   6
      Top             =   2040
      Width           =   3135
   End
   Begin VB.ListBox List1
      Height          =   3660
      Left            =   0
      MultiSelect     =   2  'Extended
      TabIndex        =   5
      Top             =   2040
      Width           =   975
   End
   Begin VB.TextBox Text2
      Height          =   375
      Left            =   1080
      TabIndex        =   3
      Text            =   "20"
      Top             =   720
      Width           =   1335
   End
   Begin VB.TextBox Text1
      Height          =   375
      Left            =   1080
      TabIndex        =   1
      Text            =   "20"
      Top             =   120
      Width           =   1335
   End
   Begin VB.CommandButton Command1
      Caption         =   "修改"
      Height          =   495
      Left            =   2760
      TabIndex        =   0
      Top             =   240
      Width           =   1095
   End
   Begin VB.Label Label2
      Caption         =   "滞后:"
      Height          =   375
      Left            =   240
      TabIndex        =   4
      Top             =   720
      Width           =   615
   End
   Begin VB.Label Label1
      Caption         =   "提前:"
      Height          =   375
      Left            =   240
      TabIndex        =   2
      Top             =   120
      Width           =   615
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim nextZiMu As Integer
Dim lateorfast As Boolean
Dim readNull As Boolean
Dim nextModify As Boolean
Private Sub Command1_Click()
  While (Not EOF(1))
        Line Input #1, oneLine
        If Trim(oneLine) Like "??:??:??,??? --> ??:??:??,???" Then
           List2.AddItem oneLine
           If nextModify Then
              Oneline1 = oneLine
              oneLine = Modify_Time(oneLine)
           End If
        End If
        If readNull And some_line(oneLine) Then
           nextModify = True
          Else
           nextModify = False
        End If
        If Len(oneLine) = 0 Then
           readNull = True
          Else
           readNull = False
        End If
        tempStr = tempStr + oneLine + vbCrLf
    Wend
    Print #2, tempStr
  Close #1
  Close #2
End Sub

Private Sub Form_Load()
   lateorfast = True
   readNull = False
   nextModify = False
   nextZiMu = 1
   Dim oneLine As String
   Dim tempStr As String
   Open "g:/2.srt" For Output As #2
   Open "g:/1.srt" For Input As #1
End Sub
Private Function some_line(ByVal numStr As String)
   If Trim(numStr) Like "[1-9][ 0-9][ 0-9]" Then
      List1.AddItem numStr
      If CInt(Trim(numStr)) = 2 Then
         some_line = True
         Exit Function
      End If
   End If
   someline = False
End Function
Private Function Modify_Time(ByVal oneLine As String)
  Dim tempA
  Dim i As Integer
  Dim rStr As String
  tempA = Split(oneLine, "-->")
  For i = 0 To 1
    If i = 0 Then
      rStr = modify_time1(Trim(tempA(i)))
     Else
      rStr = rStr + " --> " + modify_time1(Trim(tempA(i)))
    End If
  Next i
  Modify_Time = rStr
End Function
Private Function modify_time1(ByVal tempA As String)
  Dim i As Integer
  Dim tempB
  Dim rest As String
  Dim timeM As Integer
  Dim iTempb0 As Integer
  Dim iTempb1 As Integer
  Dim iTempb2 As Integer
  rest = Right(tempA, 4)
  tempA = Left(tempA, Len(tempA) - 4)
  tempB = Split(tempA, ":")
  iTempb0 = CInt(tempB(0))
  iTempb1 = CInt(tempB(1))
  iTempb2 = CInt(tempB(2))
  If lateorfast Then '提前
     timeM = CInt(Text1.Text)
     iTempb2 = iTempb2 + timeM
     If iTempb2 >= 60 Then
        iTempb2 = iTempb2 - 60
        iTempb1 = iTempb1 + 1
        If iTempb1 = 60 Then
           iTempb1 = iTempb1 - 60
           iTempb0 = iTempb0 + 1
        End If
    End If
    Else
     timeM = CInt(Text2.Text)
  End If
  tempB(0) = CStr(iTempb0)
  If Len(tempB(0)) = 1 Then
     tempB(0) = "0" + tempB(0)
  End If
  tempB(1) = CStr(iTempb1)
  If Len(tempB(1)) = 1 Then
     tempB(1) = "0" + tempB(1)
  End If
  tempB(2) = CStr(iTempb2)
  If Len(tempB(2)) = 1 Then
     tempB(2) = "0" + tempB(2)
  End If
  modify_time1 = tempB(0) + ":" + tempB(1) + ":" + tempB(2) + rest
End Function

Private Sub Form_Unload(Cancel As Integer)
  
End Sub

Private Sub Label2_Click()

End Sub

批量修改字幕文件中的时间,c语言实现

如果字幕和视频不匹配,那么字幕文件中的所有时间都需要修改。如果手动修改,工作量繁重并且枯燥。用c语言的读文件和写文件函数,读取字幕中每处的时间,加上时间差值,将修正后的时间再写回原位,则成功修改该处的...
  • CGGUANG
  • CGGUANG
  • 2016年07月17日 03:18
  • 1648

srt字幕文件时间调节器

  • 2009年10月06日 09:58
  • 2.62MB
  • 下载

自创用Vim调整.srt字幕时间代码

现在调整字幕时间的工具很多,但我在开始学习 vim 的时候,用的是64位的win7那时候,有个 VobSub 软件不能在其下兼容运行,于是就自已写了些 vim 函数来调整。 第一步,在 vim 安装目...

带广告字幕和时间的屏幕保护

  • 2012年03月02日 17:22
  • 18KB
  • 下载

VS2005 VC6.0 用VC++制作有滚动字幕效果的软件封面

本人以VC6.0 为例来讲解了:  VC6.0 新建一个MFC工程,SDI或者MDI,Dlg都可以。。 1.工程建立一个后,Project--Add to project --components...

字幕时间轴调整工具

  • 2015年09月06日 22:57
  • 278KB
  • 下载

SRT 字幕整体时间调整工具

  • 2015年04月26日 22:32
  • 104KB
  • 下载

android字幕滚动,屏幕宽度计算,时间控制

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字幕时间修改软件
举报原因:
原因补充:

(最多只允许输入30个字)