Autor
		 | 
		
			Tema: Consulta interpretacion texto  (Leído 4,080 veces)
		 | 
	 
 
	
		
			
				
					
						
							Cromatico
							
								
								  Desconectado
								Mensajes: 110
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
Hola que tal nuevamenteee   :P Queria consultar una cosita... Tengo un texto que es todo seguido, pero quiero dividirlo... Como para poner un ejemplo, supongamos que son todos USUARIOS, usuario1, usuario2, usuario3... El texto me lo devuelve una web php con "echo"... Seria asi: dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3 Como ven, son 4 datos y despues del 4to separador esta el identificador de cada usuario. La cuestion es que no se me ocurre como identificar los 4 datos + el identificador de cada "usuario"... Estaba pensando en contar los separadores y al llegar a 4, que haga un split y corte como si fuera un usuario... Pero tampoco se como hacerlo... Va, se me ocurre readfield pero no se no me convence, hay alguna otra alternativa? Gracias!!! 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Última modificación:  4 Marzo 2011, 23:38 pm por Cromatico »
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Edu
							
								       
								
								  Desconectado
								Mensajes: 1.082
								
								 
								Ex XXX-ZERO-XXX
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
No se entiende bien lo q dices pero parece q usando split simplemente se puede pero veo q lo has intentado no se, explica mejor. 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Cromatico
							
								
								  Desconectado
								Mensajes: 110
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
mmm se me complica para explicarlo quizas xD aver yo tengo este texto: dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3
  Se supone que son 3 usuarios que tienen 4 datos cada uno y al final el identificador... dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3 Quiero separarlos osea: dim Usuario() as string Usuario(1) = dato1|dato2|dato3|dato4|1 Usuario(2) = dato1|dato2|dato3|dato4|2 Usuario(3) = dato1|dato2|dato3|dato4|3 No intente hacer split, lo usaria para luego de tener los datos de cada usuario, ahi si hacer un split y separar cada uno de los datos del usuario... Pero teniendolo asi (original): dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3
  Como puedo separar cada usuario?  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Edu
							
								       
								
								  Desconectado
								Mensajes: 1.082
								
								 
								Ex XXX-ZERO-XXX
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
Fa tienes razon, yo no se mucho pero tendria q saber como hacer un array de arrays q es lo q falta creo mira esto: Dim Data As String Dim Usuario1() As String, Usuario2() As String Dim Usuario3() As String     Data = "dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3"   Usuario1() = Split(Data, "|" & 1)   Usuario2() = Split(Usuario1(1), "|" & 2)   Usuario3() = Split(Usuario2(1), "|" & 3)   MsgBox Usuario1(0) MsgBox Usuario2(0) MsgBox Usuario3(0)   
 
 Lo hice de esa forma por si sabes hacer lo de un array dentro de otro xD yo tendria q saberlo talvez son los vasos de mas q tengo xD me fui!!  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							raul338
							
								       
								
								  Desconectado
								Mensajes: 2.633
								
								 
								La sonrisa es la mejor forma de afrontar las cosas
								
								
								
								
								
								  
								 
							 
						 | 
						
							
							 
							
Hay otras formas, pero a mi me encanta las expresiones regulares   Public Function GetData(ByVal strText As String) As Collection Dim cTemp                       As New Collection Dim oRegExp                     As Object Dim oMatch                      As Object Dim oMatches                    As Object       Set oRegExp = CreateObject("VBScript.RegExp")       With oRegExp         .Pattern = "[\w\d]+\|[\w\d]+\|[\w\d]+\|[\w\d]+\|(\d+)"         .Global = True         .IgnoreCase = True     End With       Set oMatches = oRegExp.Execute(strText)       For Each oMatch In oMatches         cTemp.Add oMatch.SubMatches(0)     Next       Set GetData = cTemp End Function   Private Sub Form_Load() Dim vItem                       As Variant Const S                         As String = "dato1|dato2|dato3|dato4|1 dato1|dato2|dato3|dato4|2 dato1|dato2|dato3|dato4|3"     For Each vItem In GetData(S)         MsgBox vItem     Next End Sub   
 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Última modificación:  5 Marzo 2011, 01:41 am por raul338 »
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Cromatico
							
								
								  Desconectado
								Mensajes: 110
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
Mmmm raul tu funcion me devuelve el identificador de cada usuario verdad? Y como obtengo los datos de cada uno siendo asi?
  Gracias a los 2! 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							Cromatico
							
								
								  Desconectado
								Mensajes: 110
								
								
								
								
								
								  
							 
						 | 
						
							
							 
							
Perdon por el doble post, ya lo solucione, no sera la mejor manera, pero me funciona perfecto, aca les dejo como hice! Private Sub Form_Load() Dim i As Integer, l As Integer  Dim Data As String, X As String, Datos As String, Dats() As String Dim Usuario(100) As String
  Datos = "0 dato1|dato2|dato3|dato4|1 dato5|dato6|dato7|dato8|2 dato9|dato10|dato11|dato12|3 dato13|dato14|dato15|dato16|4 dato17|dato18|dato19|dato20|5" X = Right(Data, 1) 'ultimo usuario (en este caso seria x = 5)
  For i = 1 To X 'hacemos el recorrido del usuario 1 hasta x (ultimo usuario) Datos = ReadField((i * 4) - 3, Data, Asc("|")) & ReadField((i * 4) - 2, Data, Asc("|")) & ReadField((i * 4) - 1, Data, Asc("|")) & ReadField(i * 4, Data, Asc("|")) Dats() = Split(Datos, i - 1 & " ") Usuario(i) = Dats(1) Next i
  For l = 1 To X MsgBox Usuario(l) Next l End Sub
 
  Private Function ReadField(ByVal Pos As Integer, ByVal Text As String, ByVal SepASCII As Integer) As String     Dim i As Integer     Dim LastPos As Integer     Dim CurChar As String * 1     Dim FieldNum As Integer     Dim Seperator As String     Seperator = Chr$(SepASCII)     LastPos = 0     FieldNum = 0     For i = 1 To Len(Text)         CurChar = Mid$(Text, i, 1)         If CurChar = Seperator Then             FieldNum = FieldNum + 1             If FieldNum = Pos Then                 ReadField = Mid$(Text, LastPos + 1, (InStr(LastPos + 1, Text, Seperator, vbTextCompare) - 1) - (LastPos))                 Exit Function             End If             LastPos = i         End If     Next i     FieldNum = FieldNum + 1     If FieldNum = Pos Then         ReadField = Mid$(Text, LastPos + 1)     End If End Function  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 |  
	
		
		
			
				
					
						
							BlackZeroX
							
								Wiki 
								
								  Desconectado
								Mensajes: 3.158
								
								 
								I'Love...!¡.
								
								
								
								
								
								  
								 
							 
						 | 
						
							
							 
							
. Si usas el Split con ese tipo de datos deberias usar una estructura para que todo sea mas organizado.
  Temibles Lunas!¡. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									En línea
								 | 
							  
							 
							The Dark Shadow is my passion. 
						 | 
					 
				 
			 |  
		 
	 |  
	 |  
 
	 
	
 
			 
			
				
					
						| Mensajes similares | 
					 
					
						 | 
						Asunto | 
						Iniciado por | 
						Respuestas | 
						Vistas | 
						Último mensaje | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Consulta sobre texto dinámico en Flash
							 
							Diseño Gráfico
						 | 
						
							Athagan
						 | 
						
							2
						 | 
						
							3,694
						 | 
						
							 
							
								18 Noviembre 2006, 17:33 pm 
								por Athagan
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							CONSULTA DE TABLAS POR FILTRADO DE TEXTO
							 
							PHP
						 | 
						
							smagno
						 | 
						
							5
						 | 
						
							4,027
						 | 
						
							 
							
								27 Octubre 2009, 01:36 am 
								por smagno
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Consulta~Editar archivo de texto en una linea especifica.
							 
							PHP
						 | 
						
							volteo0101
						 | 
						
							3
						 | 
						
							7,309
						 | 
						
							 
							
								 9 Febrero 2011, 07:19 am 
								por volteo0101
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Programa que consulta archivo de texto
							 
							Programación C/C++
						 | 
						
							mark182
						 | 
						
							6
						 | 
						
							8,167
						 | 
						
							 
							
								27 Julio 2011, 22:21 pm 
								por mark182
							
						 | 
					 
					
						
							 
						 | 
						
							 
						 | 
						
							Curso de interpretación de sueños
							« 1 2 » 
							Foro Libre
						 | 
						
							Interpretación de sueños
						 | 
						
							14
						 | 
						
							11,308
						 | 
						
							 
							
								23 Julio 2021, 04:39 am 
								por WHK
							
						 | 
					 
				 
			    |