Explicación de Sintaxis

Man aquí solo quiero que me expliques como funciona este código que me diste para generar el código de cliente
String ls_codigo_select, ls_nuevo_codigo
select max(cod_Cliente) into :ls_codigo_select from Clientes;
ls_nuevo_codigo = "CL" + Right( "000" + String( Integer(Right( ls_codigo_select, 4)) + 1), 4)
dw_1.Object.cod_Cliente[dw_1.GetRow( )] = ls_nuevo_codigo
kisiera q me explicaras como funciona la tercera linea ia c q me genera codigp pero no entiendo porq ese  "cl"...+ rigth..."000" ......4 +1 )4) porq favor si me pudieras explicar t lo agradeceria tmb ve visto q en muchos de las ayudas q me diste osea en tus codigos usas this y tmb kiera saber para q usar THIS y cuando se debe usar...gracias...
La pregunta que te hice ayer del error que me salia ia la solucione mandame y de todos modos gracias por la ayuda, de la pregunta anterior mandame un respuesta para darle puntaje también (y) ... XD

1 Respuesta

Respuesta
1
Bueno mi explicación a la linea de código:
1.- Se hace un Select a la tabla Clientes obteniendo el máximo valor, Ejemplo: CL0005
2.- Asignamos el Código del Select a nuestra variable ls_codigo pero tendríamos que convertirlo a entero, la una manera de hacerlo es quitando las letras, entonces le decimos que vamos a coger solamente los 4 últimos caracteres y lo ocnvertimos a entero:
     Integer(Right( ls_codigo_select, 4)
     Supongamos que tengamos CL0005, nos cogería solo los 4 últimos caracteres:
     CL0005, y eso lo convierte a entrero, quedando simplemente 5.
3.- Una vez obtenido en valor entero, en este caso 5, vamos a sumarle 1, porque es autogenerado de incremento en 1:
      Integer(Right( ls_codigo_select, 4)) + 1
     
Ahi obtenemos  la sumatoria +1 del valor entero obtenido, en este caso 5 + 1 = 6
      Ahora debemos pasar el resultado de esa operación a String, ya que nuestra
      variable ls_nuevo_codigo es de tipo String:
      String( Integer(Right( ls_codigo_select, 4)) + 1)
4.- Una vez cambiado al valor de Entero a tipo Cadena, debemos darle el Formato del Código en este Caso es: "CL0006", hasta ahora tenemos un Valor de tipo Cadena "6", y debemos concatenarle el resto:
     Primeramente vamos a agregarle los ceros a las izquierda:
     Right( "000" + String( Integer(Right( ls_codigo_select, 4)) + 1), 4)
Con esto le decimos que vamos a concatenar "000" con la variable generada "6"
     Y vamos a coger solo los 4 caracteres últimos de la derecha, quedando así: 0006.
Ahora vamos a agregarle las letras CL a nuestra concatenación anterior:
     "CL" + Right( "000" + String( Integer(Right( ls_codigo_select, 4)) + 1), 4)
     Quedándonos de la siguiente manera: CL0006.
5.- Ahora todo lo realizado lo colocamos en la variable ls_nuevo_codigo:
ls_nuevo_codigo = "CL" + Right( "000" + String( Integer(Right( ls_codigo_select, 4)) + 1), 4)
Bueno eso seria todo, ojala hayas entendido la explicación, si no entendiste, házmelo saber.
Recordar:
---------------
Right = Derecha
Left = Izquierda
Sintaxis:
     Right( "un dato en string", Cantidad a tomar)
Right("PowerBuilder", 7) = PowerBuilder = Builder
(aca me esta tomado los 7 ultimos caracteres de la palabra PowerBuilder)
     Left( "un dato en String", Cantidad a tomar)
     Left("PowerBuilder", 5) = PowerBuilder = Power
        (aca me esta tomado los 5 primeros caracteres de la palabra PowerBuilder)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas