Autor
|
Tema: extaer un texto cambiante de un archivo (.txt) (Leído 6,021 veces)
|
andrer03
Desconectado
Mensajes: 72
|
hola haber si alguien me puede ayudar tengo un cli o como se llamen que funcionan con msdos o ficheros .bat el nombre del cli es (mkvverify.exe) bueno cuando meto el codigo me genera un texto(.txt) como este Duration : 00:01:02.490 File size: 12.8 MByte Segment 0 Duration : 00:01:02.490 Muxing App : libebml v0.7.7 + libmatroska v0.8.1 Writing App : mkvmerge v2.3.0 ('Freak U') built on Sep 8 2008 18:32:16 Segment UID : 83 5E 73 12 7E 95 B8 E6 B2 83 1E 95 A1 16 C0 4F Timecode Scale: 1,000,000 Track 0 Number : 1 UID : 0x00000001 Type : video CodecID : V_MPEG4/ISO/AVC Enabled : yes Default : yes Forced : no Lacing : no DefaultDuration : 40,000,000 MinCache : 1 MaxCache : 0 Language : eng Resolution : Pixels : 672x384 cropped : (0,0)-(672,384) Display : 7x4 Unit : pixel Track 1 Number : 2 UID : 0x2FA27A92 Type : audio CodecID : A_MPEG/L2 Enabled : yes Default : yes Forced : no Lacing : yes DefaultDuration : 23,999,999 MinCache : 0 MaxCache : 0 Language : und sampling frequency: 48000 Hz channels : 2
bueno el texto es ese bueno por ejemplo quisiera extraer a un texbox lo que esta en rojo pero como siempre los pixel cambiam. yo e pensado si hay alguna forma de descartar la palabra pixels ya que esta no cambia Pixels : 672x384este es el codigo que uso para extrae un linea del texto pero lo que quiero es no extaer todas las palabras de la linea seleccionada a extraer Private Sub Command1_Click() Dim s As String, a() As String
Open App.Path & "\mkvverify.txt" For Input As #1 s = Input(LOF(1), #1) Close #1 a = Split(s, vbNewLine) Text1.Text = a(19) End Sub
un saludo y gracias de antemano
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
'Hola, fijate cambiando esta linea de tu code:
Text1.Text = Mid(Replace(a(19), " ", ""), 8, Len(Replace(a(19), " ", "")))
'cambia el 19 por el que corresponda, saludos
|
|
« Última modificación: 5 Noviembre 2008, 04:08 am por Dessa »
|
En línea
|
Adrian Desanti
|
|
|
kennylive
Desconectado
Mensajes: 30
|
no se si e entendido bien, lo que quieres es sacar la linea
Pixels : 672x384
de un fichero txt sabiendo que el 672x384 puede cambiar y pillar ese valor en una variable, ¿es asi?
si es asi simplemente... instr
|
|
|
En línea
|
|
|
|
andrer03
Desconectado
Mensajes: 72
|
gracias dessa voy a probar tu codigo y si kennylive los numeros cambian dependiendo de la informacion del vichero en este caso (videos)
|
|
|
En línea
|
|
|
|
andrer03
Desconectado
Mensajes: 72
|
como funciona instr para extrae las palabras despues de la cadena
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Hola , no te funcionó el Mid ???, si es así prueba con este code: Private Sub Command1_Click()
Open App.Path & "\mkvverify.txt" For Input As #1 Dim s As String: s = Input(LOF(1), #1) s = Replace(Replace(s, vbNewLine, ""), " ", "") Close #1
Dim pos1 As Long: pos1 = InStr(s, "Pixels:") Dim pos2 As Long: pos2 = InStr(s, "cropped:") s = Mid(s, pos1 + 7, pos2 - pos1 - 7): Text1 = s
End Sub
Saludos
|
|
« Última modificación: 20 Agosto 2011, 14:46 pm por Dessa »
|
En línea
|
Adrian Desanti
|
|
|
andrer03
Desconectado
Mensajes: 72
|
sol funciona con la line que as programado como hago para que funcione con otra?
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Por supuesto, es que tu pregunta inicial solo se refiere a los pixeles, ahora, a que linea te refieres ?
|
|
|
En línea
|
Adrian Desanti
|
|
|
andrer03
Desconectado
Mensajes: 72
|
pues lo que pasa que con el codigo pimero que me as dado funciono bien con las lineas del texto que puse peror hay otras texto(.txt) que no se matienen en la pocicion de linea otras bajan 3 lineas mas abago bueno y eso si baja el texto de linea no sirve el codigo para extraer la palabra gracias por tu ayuda compañero
|
|
|
En línea
|
|
|
|
Dessa
Desconectado
Mensajes: 624
|
Private Sub Command1_Click()
Dim s As String, a() As String Open App.Path & "\mkvverify.txt" For Input As #1 s = Input(LOF(1), #1) Close #1 a = Split(s, vbNewLine)
Dim x As Long: x = InStr(Replace(a(22), " ", ""), ":") 'If x > 0 Then Text1.Text = Mid(Replace(a(22), " ", ""), x + 1, Len(Replace(a(22), " ", ""))) 'Else 'Text1 = "En esta linea no hay dos puntos" 'End If
End Sub
|
|
|
En línea
|
Adrian Desanti
|
|
|
|
|