Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Manejar String
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Manejar String 
 
Hola que tal... hace poco comence con gambas ... estube mirando la parte de "manipulacion de string"  la parte de hexadecimal... y de seguro es uan boludez pero no logro comrenderlo ..

necesito pasar una cadena a hexadecimal.. segun lo que lei anterior mente seria

Hex(lalal)  cosa que esta erronea  ya que no sucede ..

se que se necesita una bucle  y eso no ews problema ... si medan una manito  se los agradeceria  

saludos
 



 
TrueneX - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Manejar String 
 
primero convertilo a numerico
luego pasalo a hexadecimal
hex
Devuelve un string qu e es la  conversión al hexadecimal de un valor
x=hex(y) ====> x = valor hexadecimal de y



saludos
 



 
nrcefe - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Manejar String 
 
Hola, aprovechando este hilo, como puedo convertir a Date lo que hay en un campo de texto?
el formato escrito es 01/01/2010, el cual deberia pasarlo a Date y despues cambiarle el formato a yyyy/mm/dd para insertarlo en MySQL.
Lo de convertirlo lo tengo claro, pero lo que no consigo es meter el String "01/01/2010" dentro de una variable Date.
el campo de texto se llama "fecha_txt" y la variable a insertarlo "fecha as date"
 




===================
Hay dos cosas infinitas: el Universo y la estupidez humana. Y del Universo no estoy seguro.
Albert Einstein

En el SEXO querer es poder, si ELLA quiere, TU puedes.
Cubel!
 
Cubel - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Manejar String 
 
como puedo convertir a Date lo que hay en un campo de texto?

Hola

Dispones de las funciones IsDate() y CDate() pero no me gusta porque traen bastantes problemas si no usas el separador barra y utilizan el formato de fecha anglosajón.

Así que yo me hice en su día una clase para estas pequeñas cosillas molestas y te lo pongo:

'función para comprobar si es fecha un string en formato dd/mm/yy
'contempla el caso de años bisiestos.
'devuelve true o false si es o no es fecha válida
PUBLIC FUNCTION EsFecha(f AS String) AS Boolean
DIM fe AS String[], del AS String, Mes AS Integer, Dia AS Integer, Anio AS Integer
DIM Dias AS Integer[] = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
DIM Valido AS Boolean
IF Len(f) <> 8 THEN
  valido = FALSE
ELSE
  del = IIf(IsDigit(Mid(f, 3, 1)), Mid(f, 2, 1), Mid(f, 3, 1))
  fe = Split(f, del)
  IF fe.count <> 3 THEN
    valido = FALSE
  ELSE
    TRY dia = CInteger(fe[0])
    TRY mes = CInteger(fe[1])
    TRY anio = CInteger(fe[2])

    IF mes = 2 THEN 'si es bisiesto
      IF anio MOD 4 = 0 THEN
        IF anio MOD 100 <> 0 THEN
          IF anio MOD 400 = 0 THEN
            Dias[1] = 29
          ENDIF
        ENDIF
      ENDIF
    ENDIF
  ENDIF
  valido = IIf(dia <= Dias[mes - 1], TRUE, FALSE)
  valido = IIf(valido & (mes < 13), TRUE, FALSE)
  valido = IIf(valido & (anio > 0), TRUE, FALSE)
  
ENDIF
FINALLY
RETURN valido
CATCH
  valido = FALSE
END  


'función que recibe una fecha en formato MM/DD/YY y la convierte al formato español. El string de entrada acepta
'cualquier separador, pero la salida se hace con / para no tener problemas con funciones de fecha de gambas que solo'
'admiten ese separador.
Devuelve la fecha en formato DD/MM/YY si es posible. Si falta DD o MM o YY devuelve cadena vacía.
PUBLIC FUNCTION cfecha(f AS String) AS String
DIM fe AS String[], del AS String
IF Len(f) <> 8 THEN
  f = ""
ELSE  
  del = IIf(IsDigit(Mid(f, 3, 1)), Mid(f, 2, 1), Mid(f, 3, 1))
  fe = Split(f, del)
  IF fe.Count <> 3 THEN
    f = ""
  ELSE
    f = fe[1] & "/" & fe[0] & "/" & fe[2]
  ENDIF
ENDIF  
RETURN f
END


'función que recibe un string en formato XX/XX/YY
'El parámetro opcional Esp indica si la fecha está en formato español. Si Esp o nada se asume ESP=true
'Si Esp se asume DD/MM/YY. Si ESP es false se asume MM/DD/YY
'Devuelve la fecha en formato YY-MM-DDDD
'sirve para comparaciones sql de fechas
'admite cualquier separador de campos
PUBLIC FUNCTION FechaBd(F AS String, OPTIONAL Esp AS Boolean) AS String
DIM fe AS String[], del AS String, Mes AS String, Dia AS String, Anio AS String

del = IIf(IsDigit(Mid(f, 3, 1)), Mid(f, 2, 1), Mid(f, 3, 1))
fe = Split(f, del)

IF Esp THEN
  dia = fe[0]
  mes = fe[1]
ELSE
  dia = fe[1]
  mes = fe[0]
ENDIF
anio = IIf(Len(fe[2]) = 2, "20" & fe[2], fe[2])
RETURN anio & "-" & mes & "-" & dia
END


Tu respuesta por tanto es que utilices Cdate(expresión) pero ten en cuenta que requiere que los separadores sean / y que la fecha esté en formato MM/DD/YY o te dirá que no es fecha. Por eso la función CFecha devuelve un string con el delimitador / y con DD y MM cambiados. Si le envías una fecha en formato español te la devuelve en ingles. Si se las envías en formato ingles te la devuelve en español. Para Cdate la necesitas en ingles y con /.

Yo tengo una clase con estas y otras chorraditas. La inserto en mis proyectos y ya está.
Dim F as date
if MiClase.EsFecha(textbox.text) then 'si la fecha en formato español es fecha válida
   F=cdate(Miclase.CFecha(textbox.text)) 'convertir la fecha a ingles con / y ponerla en F
endif


 

Un saludo
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Manejar Listas De Listas De Objetos: Array... jsbsan Aplicaciones/Fragmentos de Código 2 Viernes, 02 Noviembre 2012, 16:23 Ver último mensaje
jsbsan
No hay nuevos mensajes Manejar API Desde Gambas? Fenriz07 General 1 Domingo, 30 Diciembre 2012, 22:15 Ver último mensaje
jsbsan
No hay nuevos mensajes 10 Buenos Hábitos Para Manejar La Consola... Shell Shell Scripting 0 Jueves, 25 Diciembre 2014, 13:34 Ver último mensaje
Shell
No hay nuevos mensajes Manejar Rutas De Archivos Con Espacios. tincho General 3 Sabado, 14 Enero 2017, 17:37 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron