Comunidad Gambas-es
[SOLUCIONADO] ¿Como reemplazo \n por \t dentro de una cadena? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: General (https://gambas-es.org/forum-4.html)
+--- Tema: [SOLUCIONADO] ¿Como reemplazo \n por \t dentro de una cadena? (/thread-69.html)

Páginas: 1 2


RE: ¿Como reemplazo \n por \t dentro de una cadena? - vuott - 17-08-2020

(17-08-2020, 19:21)cogier escribió: El código elimina la "\n" y luego añade la "gb.Tab". No hay sustitución.

...y en efecto la guía oficial de la función "Left()" dice que, si el segundo argumento es un valor negativo, se devuelven todos los caracteres excepto los ( - valor ) últimos caracteres.


RE: ¿Como reemplazo \n por \t dentro de una cadena? - gambafeliz - 18-08-2020

Sres, esto es a ambos, esta simple conversación ha sido genial Smile

Con respecto a las funciones de caracteres he sacado en claro que son de lectura y escritura esta última desconocida por mi.

Me gusto el último código de vuott pero pienso que es muy confuso así como poco educativo, si es interesante para alucinar.

Te explico lo que yo he entendido y ya me corriges si es necesario, Gracias a ambos.

Código:
Dim miCadena As String = "Nombre\nApellidos\n"

  miCadena = miCadena[0, -1] & gb.Tab

  Print miCadena & "abcdefg"

miCadena[0] tal que así no es más que un array del total de la cadena, algo confuso para los novatos de Gambas ya que es un String puro.

Y con el -1 lo que haces es usar la regla de quitar el último carácter o en este caso "\n" pero sinceramente es muy raro e incluso abstracto.

Para resumirlo bajo mi punto de vista, esta última forma aunque esté bien en el resultado nunca la usaría ya que es el típico caso que pasado los meses sin ser documentado en el código, cuando intentas leerlo no sabes como lector de código de Gambas ni que significa en si.

Oye jóvenes que maravilla vuestro intelecto. Saludos.


RE: ¿Como reemplazo \n por \t dentro de una cadena? - vuott - 18-08-2020

(18-08-2020, 08:56)gambafeliz escribió: miCadena[0]

Esta característica de "String" fue introducida por la versión 3.12 de Gambas:

   https://gitlab.com/gambas/gambas/commit/737b77c3870be38c1a057840ac8784d8e6b72481

   https://lists.gambas-basic.org/pipermail/user/2018-September/065515.html


RE: ¿Como reemplazo \n por \t dentro de una cadena? - cogier - 18-08-2020

Está documentado aquí: -
​​​​​​​http://gambaswiki.org/wiki/lang/left?l=es


RE: ¿Como reemplazo \n por \t dentro de una cadena? - gambafeliz - 18-08-2020

(18-08-2020, 10:45)vuott escribió:
(18-08-2020, 08:56)gambafeliz escribió: miCadena[0]

Esta característica de "String" fue introducida por la versión 3.12 de Gambas:

   https://gitlab.com/gambas/gambas/commit/737b77c3870be38c1a057840ac8784d8e6b72481

   https://lists.gambas-basic.org/pipermail/user/2018-September/065515.html

Dodgy

Por lo que veo con los datos que me habéis dado. Deduzco que es una evolución de Gambas con respecto a las Cadenas de caracteres eso si parece pendiente de evoluciones como .Max y quizás más. En definitiva para mi es una noticia nueva, donde Gambas esta continuamente mejorando y evolucionando. Y veo que estáis muy al día de todo.

Contra mas ahondo en Gambas mas potente y rápido me parece. Por ahora no me he encontrado limitaciones con respecto a su uso, y si, quizás en cuanto poner en practica nuestras propias ideas. Pero como sabéis eso ya son limitaciones de cada persona.

Genial Smile


RE: ¿Como reemplazo \n por \t dentro de una cadena? - vuott - 24-08-2020

De todas formas, muy buen !


RE: ¿Como reemplazo \n por \t dentro de una cadena? - gambafeliz - 02-11-2020

(18-08-2020, 10:45)vuott escribió:
(18-08-2020, 08:56)gambafeliz escribió: miCadena[0]

Esta característica de "String" fue introducida por la versión 3.12 de Gambas:

   https://gitlab.com/gambas/gambas/commit/737b77c3870be38c1a057840ac8784d8e6b72481

   https://lists.gambas-basic.org/pipermail/user/2018-September/065515.html

Gracias por este dato en el hilo, creo que has hecho un aporte super interesante.

Tengo una duda, es para todos los que quieran informar en este hilo. He leído a Benoit y todo super interesante, pero me pregunto ¿es posible descomponer una cadena de texto con Gambas mediante una función como Split? ¿sabe alguien como hacerlo, como convierto una array de caracteres a partir de una cadena directamente con Gambas sin pasar por un For?


RE: ¿Como reemplazo \n por \t dentro de una cadena? - cogier - 02-11-2020

¿Es esto lo que quieres?

[Imagen: NoFor.png]

Código:
GridView1 As GridView
sText As String[] = Split("Tengo una duda, es para todos los que quieran informar en este hilo. He leído a Benoit y todo super interesante, pero me pregunto ¿es posible descomponer una cadena de texto con Gambas mediante una función como Split? ¿sabe alguien como hacerlo, como convierto una array de caracteres a partir de una cadena directamente con Gambas sin pasar por un For?", " ")

Public Sub GridView1_Data(Row As Integer, Column As Integer)

  GridView1.Data.Text = sText[Row]

End

Public Sub Form_Open()

  With Me
    .H = 200
    .W = 200
    .Padding = 5
    .Arrangement = Arrange.Vertical
  End With

  With GridView1 = New GridView(Me) As "Gridview1"
    .Rows.Count = sText.Count
    .Columns.Count = 1
    .expand = True
  End With

End



RE: ¿Como reemplazo \n por \t dentro de una cadena? - gambafeliz - 02-11-2020

cogier gracias por tu ayuda

Y Perdón

Seguramente no me he explicado bien. Yo lo que me refería era lo siguiente. Esto esta basado en la conversación con vuott sobre que Gambas a añadido la descomposición de un texto en caracteres en modo array.

Ejemplo, es posible descomponer un texto al estilo de Split y sin usar For o While ni Do:
Código:
Dim sText as String = "cadena"
Dim aText as String[] = [sText[0], sText[1], sText[2], sText[3], sText[4], sText[5]]

Print aText.Join(", ")