• Viernes 3 de Mayo de 2024, 06:10

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Cormac

Páginas: [1]
1
VBA / Re: Problema con Strings (o eso creo)
« en: Lunes 12 de Abril de 2010, 12:17 »
gracias por la aclaración, ahora mi aplicación va perfecta  :)

2
VBA / Problema con Strings (o eso creo)
« en: Viernes 9 de Abril de 2010, 00:15 »
Hola,

estoy escribiendo una aplicación en VBA usando el IDE de Visual Basic incorporado en el AutoCAD 2009, y en uno de los procedimientos el compilador me informa del siguiente error:

Citar
Error de compilación:

Calificador no válido

referido al parámetro cadena de tipo String. El código del procedimiento es el siguiente :

Código: Visual Basic
  1. Private Sub extraeInfo(color As String, seccion As String, cadena As String)
  2.  
  3.     Dim i As Integer
  4.    
  5.     i = 0
  6.    
  7.     Do While cadena.Chars(i) <> Chr(32) And cadena.Chars(i) <> vbTab
  8.    
  9.         i = i + 1
  10.        
  11.     Loop
  12.    
  13.    
  14.     color = Left(cadena, i)
  15.    
  16.    
  17.     Do While cadena.Chars(i) = Chr(32) Or cadena.Chars(i) = vbTab
  18.    
  19.         i = i + 1
  20.        
  21.     Loop
  22.    
  23.    
  24.     seccion = Mid(cadena, i, Len(cadena) - i - 1)
  25.        
  26.  
  27. End Sub
  28.  

En concreto el error se produce en la primera utilización del parámetro cadena, justo en la linea del primer Do. Creo que el fallo está en algo que no alcanzo a comprender sobre la manipulación de Strings y su paso como parámetros, puesto que no es el primer caso en que el compilador me reporta ese mismo error:

Código: Visual Basic
  1. Public Sub cargaTramos(tramos As String)
  2.  
  3.     Dim sup As Integer
  4.     Dim inf As Integer
  5.  
  6.        
  7.     inf = 0
  8.     sup = 0
  9.    
  10.     For sup = 0 To tramos.Length - 1
  11.        
  12.         If tramos(sup) = vbCr Then
  13.        
  14.             insertaTramo tramos.Substring(inf, sup - inf)
  15.            
  16.             cont_tr = cont_tr + 1
  17.             inf = sup + 1
  18.            
  19.         End If
  20.            
  21.     Next sup
  22.    
  23.     insertaTramo tramos.Substring(inf, sup - inf + 1)
  24.    
  25. End Sub
  26.  

Aquí obtengo el mismo mensaje de error, sólo que referido a la primera utilización del parámetro tramos (For sup = 0 To tramos.Length - 1). Parece que se da exactamente la misma situación, pero como soy programador novato y autodidacta de Visual Basic no soy capaz de dar con la solución  :ouch:

Gracias por adelantado y un saludo.

Páginas: [1]