Mostrando las entradas con la etiqueta Split. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Split. Mostrar todas las entradas

sábado, 12 de agosto de 2017

Ejemplo de uso de FromUrl




 Una de las cosas que nos pasa siempre a los novatos es comprender en que situación se puede aplicar un código. Este es el caso de FromUrl que es para decodificar una url, que no es mas ni menos que cambiar el formato de un texto a otro.

 En este ejemplo arrastraremos un sin fin de archivos y el sistema nos da una cadena con caracteres raros y otros innecesarios.

Ejemplo de la info que da el sistema al arrastrar un archivo .mp3 obtenida mediante Drag.Data en el evento Drop:


file:///home/user10/Escritorio/Whitney%20Houston%20-%20I%20Have%20Nothing%20(Official%20Video).mp3

-28:-60:70:70

después del proceso:

/home/user10/Escritorio/Whitney Houston - I Have Nothing (Official Video).mp3

 
http://gambaswiki.org/wiki/lang/fromurl?l=es&nl

Necesario tener tildado componente gb.desktop para poder usar Desktop.Open()


' gambas class file

'by postapase
'https://novatocodegambas.blogspot.com.uy/
'Ejemplo de FromUrl

Public Sub Form_Drop()

Dim divide As New String[]
Dim Ruta As String

TextArea1.Text = Drag.Data

divide = Split(Drag.Data, "\r\n")

Ruta = String.Right(FromUrl$(divide[0]), -7)

TextBox1.Text = Ruta



 If chkAuto.Value Then Desktop.Open(Ruta)

End

Descargar de DropBox: FromUrl-0.0.1.tar.gz


martes, 14 de julio de 2015

Recordar lista de palabras en un combobox



' gambas class file

' by postapase
' Activar complemento settings

Public Sub Form_Open()
Me.Center ' el formulario se abre centrado en la pantalla o escritorio
' toma el string anteriormente guardado en el archivo settings,
' separa los string por sus comas generando un string[] y lo asigna
' a la lista del combobox que es una variable de tipo string[]
cbxFiltro.List = Split(Settings["Recientes/Diccionarios"], ",")
End

Public Sub btnBuscar_Click()
Dim Buscar As String

Buscar = cbxFiltro.Text

If cbxFiltro.Count < 4 Then 'si la cantidad de string contenidas en el lista del combobox es menor que 4 ejecuta las lineas siguientes
'el 4 sera el número máximo de palabras a guardar en la lista se puede usar 10, 15 o 20 lo que vos quieras
' si cambias el cuatro por otro valor cambia tambien despues del else en cbxFiltro.Remove(valor-1)
If cbxFiltro.Find(Buscar) = -1 Then 'cbxFiltro.Find(Buscar) devuelve o retorna -1 sino encuentra coincidencias
' si la encuentra devuelve el número de index de la lista
cbxFiltro.Add(Buscar, 0) ' como cbxFiltro.Find(Buscar) retorno -1 significa que la palabra no esta por lo tanto la agregamos
Endif
Else
' si cbxFiltro.Count es mayor que 4 ejecuta estas lineas
cbxFiltro.Remove(3) 'busca en la lista el valor ingresado mas viejo que es el de mas abajo y lo elimina (aqui tal vez sea mejor poner cbxFiltro.Remove(cbxFiltro.List.Max) )
'para dar lugar a la nueva palabra
If cbxFiltro.Find(Buscar) = -1 Then
cbxFiltro.Add(Buscar, 0) 'agrega la nueva palabra en la lista del combobox y la indexa en el primer lugar
Endif
Endif

GuardarRecientes() ' ejecuta o llama a esta subrutina

cbxFiltro.Text = "" ' borra el texto del combobox
cbxFiltro.SetFocus 'da el foco al combobox dejando el cursor parpadeando

End

Private Sub GuardarRecientes() ' rutina que guarda los string de la lista en un string solo separado por comas
Dim palabra, DicRecientes As String

If cbxFiltro.Count > 0 Then ' si la lista NO esta vacía ejecuta las lineas siguientes
For Each palabra In cbxFiltro.List 'recorre la lista del combobox que es una variable de tipo string[]
DicRecientes &= palabra & "," ' y se forma un string con las palabras a recordar separadas por comas
Next
Settings["Recientes/Diccionarios"] = Left(DicRecientes, Len(DicRecientes) - 1)
'elimina el último caracter del string que es una coma y lo guarda en el archivo settings
Else
'si la lista esta vacia guarda un string vacío
Settings["Recientes/Diccionarios"] = "" 'borra la string que contiene la lista de palabras
Endif

Settings.Save ' guarda ya los cambios en el archivo settings

End

Public Sub btnBorrar_Click()
cbxFiltro.Text = "" ' borra el texto del combobox
cbxFiltro.SetFocus 'da el foco al combobox dejando el cursor parpadeando
cbxFiltro.Clear 'borra la lista del combobox
Settings["Recientes/Diccionarios"] = "" 'borra el string que contiene la lista de palabras
Settings.Save ' guarda ya los cambios en el archivo settings
End

Descargar: Recordarlistacombobox-0.0.1.tar.gz


jueves, 21 de agosto de 2014

Listado de recientes



' gambas class file

'por postapase

Private ArbitroRepetido As Boolean
Public AgregandoJueces As New String[]
Public listajueces As ListBox
Public lista As String[]

Public Sub Form_Open()
    listajueces = New ListBox(Me) As "listajueces"
    Me.Center
    With listajueces
       .ScrollBar = 3
       .Enabled = True
       .Visible = False
       .Width = txtArbitro.Width
       .Height = 100
       .x = txtArbitro.X
       .y = txtArbitro.y + txtArbitro.Height
    End With

    CargarArbitros()
End

Public Sub txtArbitro_Change()
  If Len(txtArbitro.Text) <0> 0 Then
     For x = 0 To AgregandoJueces.Count - 1
        If InStr(Left(UCase(AgregandoJueces[x]), Len(txtArbitro.Text)), UCase(txtArbitro.Text)) <> 0 Then
          listajueces.Visible = True
         Endif
      Next
 Endif

 For x = 0 To AgregandoJueces.Count - 1
     If InStr(Left(UCase(AgregandoJueces[x]), Len(txtArbitro.Text)), UCase(txtArbitro.Text)) <> 0 Then
        listajueces.Add(AgregandoJueces[x])
      Endif
 Next

End

Public Sub btnAgregarArbitro_Click()
  SErepiteArbitro(Trim$(txtArbitro.Text))
  If ArbitroRepetido = False Then
    AgregandoJueces.Add(Trim$(txtArbitro.Text))
    GuardarArbitros()
  Endif
  txtArbitro.Clear
  txtArbitro.SetFocus
End

Public Sub SErepiteArbitro(nombre As String)
  Dim itemArray As String

  If AgregandoJueces.Count <> 0 Then
      For Each itemArray In AgregandoJueces
         If itemArray = nombre Then
            ArbitroRepetido = True
         Else
            ArbitroRepetido = False
         Endif
      Next
  Else
    ArbitroRepetido = False
  Endif

End

Public Sub GuardarArbitros()
 Dim arbitro, ConjuntoArbitros As String
 For Each arbitro In AgregandoJueces
     ConjuntoArbitros &= arbitro & ","
 Next
 ConjuntoArbitros = Left(ConjuntoArbitros, Len(ConjuntoArbitros) - 1)
 Settings["ArbitrosRecientes/Lista"] = ConjuntoArbitros
 Settings.Save
End

Public Sub CargarArbitros()
  Dim lista As String
  lista = Settings["ArbitrosRecientes/Lista", ""]
  AgregandoJueces = Split(lista, ",")
 End

Código fuente:ListaJueces-0.0.1.tar.gz
                       ListaArbitros 0.0.2

domingo, 4 de mayo de 2014

Split

Matriz de Cadenas = Split ( Cadena AS String [ , Separadores AS String , Escape AS String ,  
Ignorar nulos AS Boolean ] )

Matriz de Cadenas = Split ( Cadena AS String [ , Separadores AS String , Escape AS String , 
IgnorarNulos AS Boolean , MantenerEscape AS Boolean ] )
 
Divide una cadena en subcadenas delimitadas por separadores y caracteres de escape.
  • Cadena es la cadena a dividir.
  • Separadores es la lista de caracteres separadores.
  • Escape es un caracter de escape. Cualquier separador rodeado de dos caracteres de escape es ignorado en el proceso de división. Si Escape contiene dos caracteres, el primero se considera el caracter inicial de escape, y el segundo el final.
  • Ignore nulos indica a Split() que no debe devolver elementos vacíos.
  • MantenerEscape mantiene en las cadenas devueltas los caracteres de escape encontrados.
Esta función devuelve una matriz de cadenas rellenada con las subcadenas detectadas. Los separadores y caracteres de escape no se devuelven.
Esta función devuelve una matriz de cadenas rellenada con las subcadenas detectadas. Los separadores y caracteres de escape se devuelven o no de acuerdo al valor de MantenerEscape.
Por defecto, el caracter "coma" es el separador, y no hay caracteres de escape.
Si una cadena contiene caracteres de escape, entonces estos caracteres de escape deben ser duplicados.
Separador y caracteres de escape son solo un simple byte de caracteres ASCII. No puede utilizar esta función para separar cadenas que contengan caracteres no ASCII o alguna cadena determinada. Por ejemplo: Split(MiCadena, "\r\n") dividirá Micadena utilizando "\r" o "\n" como separadores, pero no "\r\n" en conjunto como si fuera una cadena separadora.
http://gambasdoc.org/help/lang/split?es&v3



' Gambas class file


Public Sub Form_Open()
Me.Center
End

Public Sub btnSplit1_Click()
    Dim CadenaX As String[]
    Dim color As String
     TextArea2.Text = File.Load("textoSplit1")
    TextArea1.Clear
    CadenaX = Split(btnSplit1.Text, ",")
    For Each Color In CadenaX
      TextArea1.Text = TextArea1.Text & Color & "\n"
      Wait 1
    Next
End

Public Sub btnSplit2_Click()
    Dim CadenaX As String[]
    Dim palabra As String
     TextArea2.Text = File.Load("textoSplit2")
    TextArea1.Clear
    CadenaX = Split(btnSplit2.Text, " ", "()")
    For Each palabra In CadenaX
      TextArea1.Text = TextArea1.Text & palabra & "\n"
      Wait 1
    Next
End

Public Sub btnSplit3_Click()
    Dim CadenaX As String[]
    Dim IPyPuerto As String
     TextArea2.Text = File.Load("textoSplit3")
    TextArea1.Clear
    CadenaX = Split(btnSplit3.Text, "Mesa")
    IPyPuerto = CadenaX[0]
    TextArea1.Text = TextArea1.Text & IPyPuerto & "\n"
End

Public Sub btnSplit4_Click()
   Dim CadenaX, CadenaZ As String[]
   Dim a, partesX As Integer
   Dim palabras, numerosX As String
    TextArea2.Text = File.Load("textoSplit4")
    TextArea1.Clear
    CadenaX = Split(btnSplit4.Text, ",")
    partesX = CadenaX.Count
    Print partesX
    For Each palabras In CadenaX
      TextArea1.Text = TextArea1.Text & palabras & "\n"
      Wait 1
    Next
     TextArea1.Clear
     Wait 1
    For a = 0 To (partesX - 1) Step 1
      Print a
      CadenaZ = Split(CadenaX[a], "-")
      For Each numerosX In CadenaZ
         TextArea1.Text = TextArea1.Text & numerosX & "\n"
      Wait 1
      Next
    Next
End

Código fuente: Split-0.0.1.tar.gz

miércoles, 25 de diciembre de 2013

Cargar/Guardar datos de un ListBox








' Gambas class file

Public Sub BtnAgregar_Click()
  Dim ListaIndex As Integer
  ListBox1.Add(TextBox1.Text, ListaIndex)
End

Public Sub btnGuardarLista_Click()
  Dim JugadoresSon As String
  JugadoresSon = ListBox1.List.Join("\n")
  File.Save(User.Home & "/ListaPostapase", JugadoresSon)
  btnCargarLista.Enabled = True
End

Public Sub BtnBorrarTodo_Click()
  ListBox1.Clear
End

Public Sub btnCargarLista_Click()
  ListBox1.List = Split(File.Load(User.Home & "/ListaPostapase"), "\n")
End