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.

PCNONOGames  www.pcnono.es

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.


[gml]
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;


[/gml]

Gracias Frida

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

Sorry.
PCNONOGames  www.pcnono.es

En 2 lineas de codigo lo tienes:
[gml]
nombre=string_copy(keyboard_string, 0, 8)
keyboard_string=nombre
[/gml]

Muchas gracias, es algo simple, pero que nunca habia realizado. Gracias 3dgeminis
PCNONOGames  www.pcnono.es

Cita de: 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.

[gml]
if (puede_escribir){
    var ultimo = string_length(contenido);
    ...
[/gml]

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

[gml]
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);
        }
}
[/gml]