Андрей@ писал(а):Кстати, насчёт метода MID.. Ладно, выделю фрагмент текста в переменной.. А как заменить свойство Seltext?
Dim s As String
Dim sSubString As String
s = "суперпуперстрока"
' выделяем кусок строки
sSubString = Mid$(s, 6, 5) ' в sSubString будет "пупер"
' заменяем кусок строки
Mid(s, 6, 5) = "ЫЫЫЫЫ" ' в s будет "суперЫЫЫЫЫстрока"
Андрей@ писал(а):И ещё такой вопрос...
Есть три точки - координата начала дуги, координата радиуса (то есть точки, откуда он начинается) и координаты конца дуги...
Так вот, как мне по этим координатам программно начертить ДУГУ ? (Ну хотя бы как по этим координатам начертить не какую-то дугу, а просто часть окружности [например, полуокружность, 1/4 окружности]) ?
То есть если мне нужно получить какой то один символ из строки, нужно задавать ещё одну строковую переменную...
Public Function ReplaseChar(strChar As String, cSelStart As Long _
, cSelLenght As Long, Optional newChar As String = "") As String
Dim tmp As String
tmp = Mid$(strChar, 1, cSelStart)
ReplaseChar = tmp & newChar _
& Mid$(strChar, cSelStart + cSelLenght + 1, Len(strChar) - (Len(tmp) + cSelLenght))
End Function
Dim tmp As 29.02.2008
Public Function repchar(char As String, selstart As Long, sellength As Long)
char = Mid(char, 1, selstart) + Mid(char, selstart + sellength + 1, Len(char) - selstart - sellength + 1)
MsgBox "ans = " + char
End Function
Public Function SecondToTime(cSecond As Long) As String
Dim S As Long, M As Long, H As Long, tmp As Long, c As Long
tmp = cSecond
Do While tmp > 60 * 60
c = c + 1
tmp = tmp - 60 * 60
Loop
H = c
c = 0
tmp = cSecond - (H * 60 * 60)
Do While tmp > 60
c = c + 1
tmp = tmp - 60
Loop
M = c
S = cSecond - (H * 60 * 60) - (M * 60)
SecondToTime = H & " час " & M & " мин " & S & " сек"
End Function
Private Function GetLen(FileName As String) As Long
Dim Microsec As Long
Dim LengthInFrames As Long
Open FileName For Binary As #1
Get #1, 33, Microsec
Get #1, 49, LengthInFrames
Close #1
GetLen = LengthInFrames * Microsec / 1000000
End Function
Нашёл такую ссылку..... Буду код переделывать, чтобы длительность получить для нескольких файлов........
Кстати, в vb нет функций, которые секнды переделывают в часы и минуты, а то эта прога просто выдаёт число секунд.......?
http://bbs.vbstreets.ru/viewtopic.php?p=28159#28159
sub
dim a as string, d as date
'a - длительность в секундах, d - длительность нормальной сделаем...
d=val(a)/86400
end sub
'в сутках 86400 секунд, если не ошибаюсь....
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Private Function GetLen(FileName As String) As Long
Dim Total As String * 128, Tmp As String * 255
mciSendString "open " & Left$(Tmp, GetShortPathName(FileName, Tmp, 255)) _
& " type MPEGVideo Alias movie parent " & Me.hWnd & " Style " & &H40000000, 0&, 0&, 0&
mciSendString "set movie time format frames", Total, 128, 0&
mciSendString "status movie length", Total, 128, 0&
mciSendString "Close movie", 0&, 0&, 0&
GetLen = Val(Total) / 1000
End Function
Сейчас этот форум просматривают: Yandex-бот и гости: 76