Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: nonoroman en Abril 30, 2019, 09:30:49 pm

Título: LIMITADOR DE CARACTERES
Publicado por: nonoroman en Abril 30, 2019, 09:30:49 pm
Buenas familia, otra vez estoy por aqui.

Tengo la siguiente duda;

Quiero limitar los digitos al introducir un nombre, por ejemplo a 8 digitos.

El string_length(str); cuenta el numero de digitos del str, ok, pero mi pregunta es....como puedo recortar ese str??? para que solo sean 8 digitos?? en el caso que los supere??

Saludos, y espero ayuda, please.

Título: Re:LIMITADOR DE CARACTERES
Publicado por: FridaFlowers en Abril 30, 2019, 11:26:53 pm
Te comparto un script que hice hace poco para un tutorial de UDP. Este sirve para recibir teclas, osea, algo asi como escribir en Word.
Te permite borrar con backspace, o eliminar todo con suprimir. Lo tenía para ingresar direcciones IP, por lo que tendrías que completarlo para todas las letras del alfabeto.


if (puede_escribir){
    var ultimo = string_length(contenido);
   
    if (keyboard_lastkey == vk_delete) //elimiar toda la cadena con suprimir
        contenido = "";
       
    if (keyboard_lastkey == vk_backspace) //elimiar el ultimo caracter
        contenido = string_copy(contenido, 0, ultimo-1);
       
    var caracter = keyboard_lastchar;
   
    switch(caracter){
        case "a":
        case "b":
        case "c":
        case "d":
        case "e":
        case "f":
        case "g":
        case "h":
        case "i":
        //rellenar hasta la z  XD
       case "z":
           
            if (ultimo < 8) //agregar solo cuando no exceda los 8 caracteres
                contenido = string_insert(caracter,  contenido, ultimo+1);

        break;
    }
}

if (keyboard_lastkey == vk_enter)
    global.cadena = contenido;


Título: Re:LIMITADOR DE CARACTERES
Publicado por: nonoroman en Mayo 01, 2019, 12:01:12 am
Gracias Frida

Pero creo que eso no es lo que necesito. O no te entendi bien.

Sorry.
Título: Re:LIMITADOR DE CARACTERES
Publicado por: 3dgeminis en Mayo 01, 2019, 04:25:51 pm
En 2 lineas de codigo lo tienes:
nombre=string_copy(keyboard_string, 0, 8)
keyboard_string=nombre
Título: Re:LIMITADOR DE CARACTERES
Publicado por: nonoroman en Mayo 10, 2019, 07:49:45 pm
Muchas gracias, es algo simple, pero que nunca habia realizado. Gracias 3dgeminis
Título: Re:LIMITADOR DE CARACTERES
Publicado por: 0m@R en Junio 26, 2021, 09:50:01 pm
Te comparto un script que hice hace poco para un tutorial de UDP. Este sirve para recibir teclas, osea, algo asi como escribir en Word.
Te permite borrar con backspace, o eliminar todo con suprimir. Lo tenía para ingresar direcciones IP, por lo que tendrías que completarlo para todas las letras del alfabeto.

if (puede_escribir){
    var ultimo = string_length(contenido);
    ...

Buen código Frida antes también lo hacía así, pero recomiendo que cambies el extenso switch por algo mas o menos así:

if ultimo < 8 { // agregar solo cuando no exceda los 8 caracteres
        if string_count(caracter, "abcdefg...ABCDEF...1234...$%&...etc") != 0 { // se puede modificar str mascara de caracteres permitidos
                contenido = string_insert(caracter,  contenido, ultimo+1);
        }
}

Warning: Parameter 1 to spoiler_buffer() expected to be a reference, value given in Unknown on line 0

Warning: Parameter 1 to custom_report_ob() expected to be a reference, value given in Unknown on line 0