hogar - ventanas
Nuevas funciones para trabajar con cadenas. Nuevas funciones para trabajar con cadenas Operaciones con cadenas 1c

Existen pocos mecanismos para trabajar con cadenas en consultas 1C. Primero, se pueden agregar las líneas. En segundo lugar, puedes tomar una subcadena de una cadena. En tercer lugar, se pueden comparar cadenas, incluso por patrón. Probablemente eso sea todo lo que se puede hacer con cuerdas.

Adición de cadenas

Para agregar filas en una consulta, se utiliza la operación "+". Sólo puedes agregar cadenas de longitud limitada.

SELECCIONE "Nombre: " + Contrapartes Nombre COMO Columna 1 DESDE Directorio Contrapartes COMO Contrapartes DONDE Enlace = &Enlace.

Función de subcadena

SUBCADE(<Строка>, <НачальнаяПозиция>, <Длина>)

Un análogo de la función Environment() del modelo de objetos. La función Substring() se puede aplicar a datos de cadena y le permite seleccionar un fragmento <Строки> , comenzando con el número de carácter <НачальнаяПозиция> (los caracteres de una línea están numerados comenzando desde 1) y longitud <Длина> caracteres. El resultado del cálculo de la función tiene un tipo de cadena de longitud variable y la longitud se considerará ilimitada si <Строка> tiene longitud y parámetros ilimitados <Длина> no es una constante ni mayor que 1024.

Si la longitud de la cadena es menor que la especificada en el segundo parámetro, la función devolverá una cadena vacía.

¡Atención! No se recomienda utilizar la función SUBSTRING() para convertir cadenas de longitud ilimitada en cadenas de longitud limitada. En su lugar, es mejor utilizar el operador de conversión EXPRESS().

Función similar

Si necesitamos asegurarnos de que un atributo de cadena cumpla con ciertos criterios, lo comparamos:

SELECCIONE Contrapartes Nombre COMO Columna 1 DEL Directorio Contrapartes COMO Contrapartes DONDE Contrapartes = "Gazprom".

Pero ¿qué pasa si necesitas una comparación más sutil? ¿No sólo igualdad o desigualdad, sino similitud con un patrón determinado? Precisamente para esto se creó la función SIMILAR.

LIKE: operador para comprobar la similitud de una cadena con un patrón. Análogo de LIKE en SQL.

El operador SIMILAR le permite comparar el valor de la expresión especificada a la izquierda con la cadena de patrón especificada a la derecha. El valor de la expresión debe ser de tipo cadena. Si el valor de la expresión coincide con el patrón, el resultado del operador será VERDADERO, de lo contrario será FALSO.

Los siguientes caracteres en la cadena de plantilla son caracteres de servicio y tienen un significado diferente al carácter de cadena:

  • % (porcentaje): una secuencia que contiene cualquier número de caracteres arbitrarios;
  • _ (guión bajo): un carácter arbitrario;
  • […] (uno o más caracteres entre corchetes): cualquier carácter incluido dentro de los corchetes. La enumeración puede contener rangos, por ejemplo a-z, es decir, un carácter arbitrario incluido en el rango, incluidos los extremos del rango;
  • [^...] (entre corchetes, un signo de negación seguido de uno o más caracteres): cualquier carácter distinto de los enumerados después del signo de negación.

Cualquier otro símbolo significa sí mismo y no conlleva ninguna carga adicional. Si uno de los caracteres enumerados debe escribirse como sí mismo, debe ir precedido de<Спецсимвол>. Mí mismo<Спецсимвол>(cualquier carácter adecuado) se define en la misma declaración después de la palabra clave SPECIAL CHARACTER.

Notas de A través del espejo

18/08/2014 Nuevas funciones para trabajar con cadenas

Implementado en la versión 8.3.6.1977.

Hemos ampliado el conjunto de funciones diseñadas para trabajar con cadenas. Hicimos esto para brindarle herramientas más avanzadas para analizar datos de cadenas. Las nuevas funciones serán convenientes y útiles en tareas tecnológicas de análisis de texto. En tareas relacionadas con el análisis de texto que contiene datos en formato formateado. Podría ser un análisis de algunos archivos recibidos del equipo o, por ejemplo, un análisis de un registro tecnológico.

Podrías realizar todas las acciones que realizan nuevas funciones antes. Utilizando algoritmos más o menos complejos escritos en un lenguaje integrado. Por lo tanto, las nuevas funciones no ofrecen capacidades fundamentalmente nuevas. Sin embargo, le permiten reducir la cantidad de código y hacerlo más simple y comprensible. Además, te permiten acelerar la ejecución de acciones. Porque las funciones implementadas en la plataforma funcionan, por supuesto, más rápido que un algoritmo similar escrito en un lenguaje integrado.

Función de formato StrTemplate()

Esta función sustituye parámetros en una cadena. La necesidad de realizar esta conversión surge a menudo, por ejemplo, al mostrar mensajes de advertencia. La sintaxis de esta función es la siguiente:

PlantillaStr(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- esta es la cadena en la que necesitas sustituir las representaciones de parámetros.

<Значение1> , ... <Значение10>- estos son parámetros (máximo diez), cuyas representaciones deben sustituirse en la cadena.

Para indicar un lugar específico en la plantilla donde desea realizar la sustitución, debe usar marcadores como %1, ... %10. La cantidad de marcadores involucrados en la plantilla y la cantidad de parámetros que contienen valores deben coincidir.

Por ejemplo, el resultado de ejecutar dicho operador:

habrá una línea:

Error de datos en la línea 2 (tipo de fecha requerida)

Función para trabajar con cadenas StrCompare()

Esta función compara dos cadenas sin distinguir entre mayúsculas y minúsculas. Por ejemplo, así:

Podrías realizar la misma acción antes usando el objeto. Comparación de valores:

Sin embargo, usar la nueva función parece más fácil. Y además de esto, una función, a diferencia de un objeto. Comparación de valores, funciona tanto en el cliente ligero como en el cliente web.

Funciones para trabajar con cadenas StrStartsWith(), StrEndsAt()

Estas funciones determinan si una cadena comienza con una subcadena específica o si una cadena termina con una subcadena específica. El algoritmo para estas funciones no es difícil de implementar en un lenguaje integrado, pero su presencia permite escribir código más limpio y comprensible. Y trabajan más rápido.

Por ejemplo, es conveniente utilizarlos en el operador. Si:

Funciones para trabajar con cadenas StrDivide(), StrConnect()

Estas funciones dividen una cadena en partes usando un delimitador específico. O viceversa, combinan varias líneas en una, insertando entre ellas el separador seleccionado. Son convenientes para crear o analizar registros y revistas tecnológicas. Por ejemplo, puede analizar fácilmente una entrada de registro tecnológico en partes adecuadas para un análisis posterior:

Función para trabajar con cadenas StrFind()

En lugar de la antigua función Encontrar() Hemos implementado una nueva función que tiene capacidades adicionales:

  • Buscar en diferentes direcciones (desde el principio, desde el final);
  • Buscar desde una posición específica;
  • Busque una ocurrencia con un número específico (segundo, tercero, etc.).

De hecho, duplica las capacidades de la función anterior. Esto se hace para mantener la compatibilidad con módulos compilados en versiones anteriores. Función antigua Encontrar() Se recomienda no volver a utilizar.

A continuación se muestra un ejemplo que utiliza las nuevas capacidades de búsqueda. La búsqueda inversa es útil cuando necesita la última parte de una cadena formalizada, como el nombre completo del archivo en una URL. Y buscar desde una posición específica ayuda en los casos en que necesita buscar en un fragmento conocido y no en toda la línea.

Las capacidades básicas de un lenguaje de programación suelen incluir trabajar con números y cadenas. Normalmente, estas capacidades están codificadas en el código del compilador (o se implementan las clases "base" del lenguaje de programación).

En 1C, la capacidad de trabajar con cadenas está programada en la propia plataforma. Hoy veremos las características de trabajar con cadenas 1C en programas en el lenguaje 1C integrado.

Valor de línea 1C

1. Empecemos por lo más sencillo. Crear una variable y asignarle un valor de cadena constante se ve así en 1C:

Variable = "¡Hola mundo!";

Si necesita especificar un carácter de comilla en un valor de cadena 1C constante, debe duplicarlo ""

Variable = "¡Hola mundo"!;

2. El salto de línea 1C se puede especificar de dos formas a la vez. El primero es usar el símbolo |

Variable = "Hola,
| ¡mundo! ";

El segundo es utilizar la enumeración del sistema Símbolos. Le permite agregar saltos de línea 1C y otros caracteres que no se imprimen, como TAB.

Variable = "Hola" + Símbolos.PS + "¡paz!";

3. Las configuraciones en 1C se pueden desarrollar no solo para un idioma (ruso, inglés u otro), sino también para varios idiomas simultáneamente. En este caso, el idioma utilizado actualmente se selecciona en la parte inferior de la ventana 1C.

La lista de idiomas se encuentra en la ventana de configuración en la rama General/Idiomas. Cada idioma tiene un identificador corto como ru o eng.

Está claro que al programar dicha configuración, las líneas 1C también pueden ser multilingües. Para hacer esto, es posible crear dicha línea 1C especificando a través de; opciones por identificador de idioma:

Variable = "ru=""¡Hola mundo! ""; es=""¡Hola mundo! """;

Si usa la línea 1C formada de esta manera como de costumbre, será lo que está escrito en ella. Para que el sistema lo divida en dos opciones y use la deseada, debe usar la función НStr():

//corregir para configuraciones bilingües
Informe(NStr(Variable));

Accesorios con línea tipo 1C.

El atributo es un campo en el directorio/documento 1C. Se diferencia de una variable en un programa en lenguaje 1C en que para el atributo se indica con precisión su tipo (número, cadena 1C, etc.). Si necesita refrescar su memoria sobre qué es un accesorio, mire la lección a continuación.

Si especifica el tipo de atributo: línea 1C, deberá especificar adicionalmente los parámetros.

Las líneas 1C tienen una longitud ilimitada (indicada como longitud = 0) y una longitud limitada, lo que indica el número exacto de caracteres. Las filas 1C de longitud ilimitada se almacenan en una tabla SQL separada, por lo que su uso es menos productivo que las limitadas.

Es por eso que el uso de cadenas 1C de longitud ilimitada tiene sus limitaciones: no es posible utilizarlas en todas partes. Por ejemplo, no está permitido como número de documento, código de referencia o medida.

Trabajar con cuerdas 1C

Hay varias funciones integradas en la plataforma 1C para trabajar con cadenas.

  • AbbrLP (“¡Increíble, pero cierto!”)
    Elimina espacios adicionales de la línea 1C. También se puede utilizar para convertir cualquier tipo a una cadena 1C (por ejemplo, números).
  • Variable = "Vasya" + AbbrLP(" más") + "Olya"; //habrá "Vasya más Olya"
    Un ejemplo de suma de varios valores de cadena 1C. El resultado será una línea 1C.
  • Variable = Lev("Música", 2); //será "Mu"
    Variable = Medio("Música", 2, 2); //habrá "amenaza"
    Variable = Derechos("Música", 2); //habrá "ka"
    Varias opciones para obtener una subcadena de una cadena 1C.
  • Variable = Buscar("Música", "zy"); //serán 3
    Busque una subcadena en la cadena 1C, comenzando con el carácter 1.
  • Variable = StrLength("Música"); //serán 6
    Devuelve el número de caracteres en la línea 1C.
  • Informe("Hola") //en la ventana de mensaje en la parte inferior de la ventana 1C
    Alerta("Hola") //diálogo emergente
    Estado("Hola") //en la línea de visualización de estado en la parte inferior izquierda
    .

Llevar objetos a la línea 1C

Como sabes, el formato más popular para intercambiar información estructurada en la actualidad es XML. Incluso la última versión de MS Office Word y Excel guarda archivos en este formato (docx y xlsx, respectivamente, cambie la extensión a zip, ábralo en un archivador).

La plataforma 1C para el intercambio de datos ofrece varias opciones, la principal de las cuales también es XML.

1. El método más sencillo es utilizar la función Abreviatura() o Cadena(). Puede utilizar la función REPRESENTACIÓN() en el cuerpo de la solicitud. El resultado de su acción es el mismo: generan una representación de cadena de cualquier objeto 1C para el usuario.

Para un directorio, de forma predeterminada este será su nombre. Para un documento: nombre del documento, número y fecha.

2. Cualquier objeto 1C (con restricciones) se puede convertir a XML y viceversa. El proceso de conversión se llama serialización.

StringViewXml = XMLString(Valor); //obtener XML del valor 1C
Valor1C = XMLValue(Tipo("DirectoryLink.Nomenclature"),TypeStringXml); //obtiene el valor 1C de la cadena XML, debe especificar el tipo 1C que debe recibirse

3. Existe una forma propia de la plataforma 1C de convertir cualquier objeto 1C en una cadena. Migró desde la versión 1C 7.7. Otros programas no entienden este formato, pero otros 1C lo entienden, lo que facilita su uso para el intercambio entre bases de datos 1C.

Fila = ValorInRowInt(Valor1C); //obtenemos la cadena 1C del valor 1C
ValueVFile("C:\MyFile.txt", Valor1C); //otra opción, obtenemos un archivo con una cadena guardada del valor 1C
Valor1C = ValorFromStringInt(Cadena); //volver de la línea 1C
Valor1C = ValorArchivo("C:\MiArchivo.txt"); //volver del archivo

Editar líneas 1C en el formulario

Además de trabajar con cadenas 1C en un programa en lenguaje 1C, por supuesto, me gustaría que el usuario pudiera editarlas. Hay varias posibilidades para esto:

1. La forma más sencilla es solicitar el ingreso de una línea 1C a pedido. Este método se utiliza cuando se enseña programación 1C; en la vida se usa con mucha menos frecuencia (¡pero se usa!).

Variable = "";
Fila = EnterValue(Variable, "Ingrese el nombre completo");

2. Para mostrar los detalles de un objeto 1C (directorio/documento) o los detalles del formulario (ver), se utiliza con mayor frecuencia un campo de entrada. Esta es la herramienta más común en 1C para que el usuario trabaje con campos de edición.

3. Las capacidades del campo de entrada se pueden ampliar (ver propiedades del campo de entrada, hacer clic derecho sobre él, más detalles):

  • Casilla de verificación Modo de edición multilínea
  • Casilla de edición avanzada (disponible si la casilla anterior está marcada)
  • Casilla de verificación Modo de contraseña (ver).

4. Si todas las capacidades del campo de entrada no son suficientes para usted, hay un editor incorporado. Para agregarlo al formulario, debe agregar un campo de documento de texto al menú Formulario/Insertar control. En sus propiedades puede especificar su modo de funcionamiento: la propiedad Extensión.

Un campo de documento de texto no se puede asociar directamente con datos. Es necesario escribir una función en el controlador de eventos OnOpen() de la forma (ver):

Elementos de formulario.ElementNameTextDocumentField.SetText(StringValue); //aquí ValueString es el texto recibido, por ejemplo, del atributo

Y en el controlador de guardado, por ejemplo, en el botón Guardar, agregue un guardado:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ValorLa línea aquí es el atributo donde guardamos el valor

5. En 1C versión 8.2.11, en los formularios administrados, apareció una nueva opción para representar una línea 1C: el campo Documento formateado.


De manera similar al campo de un documento de texto, debes configurarlo al abrirlo y escribirlo al guardarlo tú mismo usando el programa.

  • En el objeto 1C cuyo formulario estamos creando (directorio, documento, procesamiento, etc.), agregue un atributo con el tipo de Almacenamiento de valor
  • En la función OnReadOnServer() configuramos el texto del atributo

    //aquí el Atributo es el atributo agregado del objeto 1C
    //aquí FormattedDocument es el nombre del campo en el formulario para editar
    &En el servidor

    FormattedDocument = CurrentObject.Attributes.Get();
    Procedimiento final

  • En la función BeforeWritingOnServer() o mediante el botón escribiremos el texto del campo

    &En el servidor
    Procedimiento al leer en el servidor (objeto actual)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Procedimiento final

El tipo String se encuentra en todos los lenguajes de programación. Es primitivo y en 1C hay muchas funciones para trabajar con él. En este artículo veremos en detalle varias formas de trabajar con tipos de cadenas en 1C 8.3 y 8.2 usando ejemplos.

Línea

Para convertir una variable de cualquier tipo en una cadena, existe una función del mismo nombre “String()”. El parámetro de entrada será la propia variable, cuya representación en cadena debe obtenerse.

Cadena(Falso) // devuelve "No"
Cadena(12345) // devuelve "12,345"
Cadena (Fecha actual ()) //"21/07/2017 11:55:36″

Es posible convertir no sólo tipos primitivos en una cadena, sino también otros, por ejemplo, elementos de directorios y documentos.

SokrLP, SokrL, SokrP

Los parámetros de entrada de estas funciones son una variable de tipo cadena. Las funciones eliminan caracteres insignificantes (espacios, retornos de carro, etc.): del lado izquierdo y derecho, sólo del lado izquierdo y sólo del derecho, respectivamente.

Abreviatura("Se eliminarán los espacios en ambos lados") // "Se eliminarán los espacios en ambos lados"
Abreviatura("Se eliminarán los espacios de ambos lados") // "Se eliminarán los espacios de la izquierda"
Abreviatura("Se eliminarán los espacios de ambos lados") // "Se eliminarán los espacios de la derecha"

Leo, Derecha, Medio

Estas funciones le permiten recortar parte de una cuerda. La función "Left()" devolverá la porción de una cadena desde su lado izquierdo de la longitud especificada. La función "Derecha()" es similar, pero recorta desde la derecha. La función “Avg()” le permite especificar el número del carácter a partir del cual se seleccionará la línea y su longitud.

Lev("variable de cadena", 4) // devuelve "Str"
Right("variable de cadena", 7) // devuelve "variable"
Medio("variable de cadena", 2, 5) // devuelve "troco"

Longitud de cadena

La función determina la cantidad de caracteres contenidos en una variable de cadena.

StrLength("Word") // el resultado de la ejecución será el número 5

Encontrar

La función permite buscar parte de una cadena en una variable de cadena. El valor de retorno será un número que muestra la posición del comienzo de la cadena encontrada. Si no se encuentra ninguna coincidencia, se devuelve cero.

Tenga en cuenta que la búsqueda distingue entre mayúsculas y minúsculas. Si hay más de una aparición de la subcadena de búsqueda en la cadena original, la función devolverá el comienzo de la primera aparición.

Buscar("uno, dos, uno, dos, tres", "dos") // la función devolverá el número 6

linea vacia

El uso de esta función le permite determinar si una cadena está vacía. No se tienen en cuenta los caracteres menores como espacios, retornos de carro y otros.

EmptyString("Pupkin Vasily Ivanovich") // la función devolverá el valor False
EmptyString(" ") // la función devolverá el valor True

VReg, NReg, TReg

Estas funciones son muy útiles al comparar y convertir variables de cadena. "Vreg()" devolverá la cadena original en mayúsculas, "HPreg()" en minúsculas y "TReg()" la formateará para que el primer carácter de cada palabra individual esté en mayúscula y todos los caracteres siguientes estén en mayúscula.

VReg("DIRECTOR GENERAL") // valor de retorno - "DIRECTOR GENERAL"
NReg(“CEO DIRECTOR”) // valor de retorno – “CEO”
TREG(“CEO DIRECTOR”) // valor de retorno – “Director General”

Reemplazar página

Esta función es análoga al reemplazo en los editores de texto. Le permite reemplazar un carácter o conjunto de caracteres por otro en variables de cadena.

StrReplace("rojo, blanco, amarillo", ","", ";") // devuelve "rojo; blanco; amarillo"

StrNumberLines

La función le permite determinar el número de líneas separadas por retornos de carro en una variable de texto.

El bucle en el siguiente ejemplo pasará por tres rondas porque la función LineNumberRow devolverá el valor 3:

Para ind = 1 por StrNumber of Strings ("Line1" + Symbols.PS + "Line2" + Symbols.PS + "Line3") Ciclo
<тело цикла>
Fin del ciclo;

StrGetString

Esta función funciona con texto multilínea de la misma forma que la anterior. Le permite obtener una cadena específica de una variable de texto.

StrGetString("Cadena1" + Caracteres.PS + "Cadena2" + Caracteres.PS + "Cadena3", 2) // devuelve "Cadena2"

Número de páginaOcurrencias

La función cuenta el número de apariciones de un carácter o subcadena en la cadena de búsqueda.

StrNumberAttachments("a;b;c;d; ", ";") // la función devolverá el número 4

Símbolo y código de símbolo

Estas funciones le permiten obtener un carácter por su código en codificación Unicode, así como determinar este código por el carácter mismo.

SymbolCode("A") // la función devolverá el número 1.040
CharacterCode(1040) // la función devolverá “A”

Tareas comunes al trabajar con cuerdas

Concatenar cadenas

Para combinar varias cadenas (para realizar la concatenación), basta con utilizar el operador de suma.

“Línea 1″ + “Línea 2″ //el resultado de sumar dos líneas será “Línea 1 Línea 2”

Conversión de tipo

Para convertir un tipo en una cadena, por ejemplo, un enlace a un elemento de directorio, un número, etc., basta con utilizar la función “String()”. Funciones como “ScrLP()” también convertirán variables en una cadena, pero inmediatamente cortarán los caracteres insignificantes.

Cadena(1000) // devuelve "1000"

Tenga en cuenta que al convertir un número en una cadena, el programa agrega automáticamente un espacio que separa los mil. Para evitar esto, puedes utilizar las siguientes construcciones:

StrReplace(String(1000),Characters.NPP,"") // devuelve "1000"

Cadena(Formato(1000,"HG=")) // devuelve "1000"

Citas en una cadena

Muy a menudo tendrás que lidiar con la necesidad de especificar comillas en una variable de cadena. Puede ser el texto de la solicitud escrito en el configurador o simplemente una variable. Para resolver este problema, sólo necesita poner dos comillas.

Header = String("Horns and Hooves LLC - ¡somos nosotros!") // devolverá "Horns and Hooves LLC - ¡somos nosotros!"

Multilínea, salto de línea

Para crear texto de varias líneas, simplemente agréguele saltos de línea (Symbols.PS).

MultilineText = “Primera línea” + Símbolos.PS + “Segunda línea”

Cómo eliminar espacios

Para eliminar espacios a la derecha o a la izquierda, puede utilizar la función “ScrAP()” (así como “ScrL()” y “ScrP()”):

StringNoSpaces = Abreviatura("Muchas letras") // la función devolverá el valor "Muchas letras"

Si, después de convertir un número en una cadena, necesita eliminar espacios que no se separen, utilice la siguiente construcción:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // devuelve "99999"

Los programadores también suelen utilizar la siguiente construcción, que permite eliminar o reemplazar con otro carácter todos los espacios en una variable de texto:

StringNoSpaces = StrReplace("hola","") // devuelve "hola"

Comparando cadenas entre sí

Puede comparar términos con el signo igual habitual. La comparación distingue entre mayúsculas y minúsculas.

"Hola" = "hola" // devuelve Falso
"Hola" = "Hola" // devuelve Verdadero
"Hola" = "Adiós" // devolverá Falso

Implementado en la versión 8.3.6.1977.

Hemos ampliado el conjunto de funciones diseñadas para trabajar con cadenas. Hicimos esto para brindarle herramientas más avanzadas para analizar datos de cadenas. Las nuevas funciones serán convenientes y útiles en tareas tecnológicas de análisis de texto. En tareas relacionadas con el análisis de texto que contiene datos en formato formateado. Podría ser un análisis de algunos archivos recibidos del equipo o, por ejemplo, un análisis de un registro tecnológico.

Podrías realizar todas las acciones que realizan nuevas funciones antes. Utilizando algoritmos más o menos complejos escritos en un lenguaje integrado. Por lo tanto, las nuevas funciones no ofrecen capacidades fundamentalmente nuevas. Sin embargo, le permiten reducir la cantidad de código y hacerlo más simple y comprensible. Además, te permiten acelerar la ejecución de acciones. Porque las funciones implementadas en la plataforma funcionan, por supuesto, más rápido que un algoritmo similar escrito en un lenguaje integrado.

Función de formato StrTemplate()

Esta función sustituye parámetros en una cadena. La necesidad de realizar esta conversión surge a menudo, por ejemplo, al mostrar mensajes de advertencia. La sintaxis de esta función es la siguiente:

PlantillaStr(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- esta es la cadena en la que necesitas sustituir las representaciones de parámetros.

<Значение1> , ... <Значение10>- estos son parámetros (máximo diez), cuyas representaciones deben sustituirse en la cadena.

Para indicar un lugar específico en la plantilla donde desea realizar la sustitución, debe usar marcadores como %1, ... %10. La cantidad de marcadores involucrados en la plantilla y la cantidad de parámetros que contienen valores deben coincidir.

Por ejemplo, el resultado de ejecutar dicho operador:

habrá una línea:

Error de datos en la línea 2 (tipo de fecha requerida)

Función para trabajar con cadenas StrCompare()

Esta función compara dos cadenas sin distinguir entre mayúsculas y minúsculas. Por ejemplo, así:

Podrías realizar la misma acción antes usando el objeto Comparación de valores:

Sin embargo, usar la nueva función parece más fácil. Y además, la función, a diferencia del objeto Comparación de valores, funciona tanto en el cliente ligero como en el cliente web.

Funciones para trabajar con cadenas StrStartsWith(), StrEndsAt()

Estas funciones determinan si una cadena comienza con una subcadena específica o si una cadena termina con una subcadena específica. El algoritmo para estas funciones no es difícil de implementar en un lenguaje integrado, pero su presencia permite escribir código más limpio y comprensible. Y trabajan más rápido.

Por ejemplo, son convenientes de usar en la declaración If:

Funciones para trabajar con cadenas StrDivide(), StrConnect()

Estas funciones dividen una cadena en partes usando un delimitador específico. O viceversa, combinan varias líneas en una, insertando entre ellas el separador seleccionado. Son convenientes para crear o analizar registros y revistas tecnológicas. Por ejemplo, puede analizar fácilmente una entrada de registro tecnológico en partes adecuadas para un análisis posterior:

Función para trabajar con cadenas StrFind()

En lugar de la antigua función Find(), hemos implementado una nueva función que tiene capacidades adicionales:

  • Buscar en diferentes direcciones (desde el principio, desde el final);
  • Buscar desde una posición específica;
  • Busque una ocurrencia con un número específico (segundo, tercero, etc.).

De hecho, duplica las capacidades de la función anterior. Esto se hace para mantener la compatibilidad con módulos compilados en versiones anteriores. Se recomienda que ya no utilice la antigua función Buscar().

A continuación se muestra un ejemplo que utiliza las nuevas capacidades de búsqueda. La búsqueda inversa es útil cuando necesita la última parte de una cadena formalizada, como el nombre completo del archivo en una URL. Y buscar desde una posición específica ayuda en los casos en que necesita buscar en un fragmento conocido y no en toda la línea.



 


Leer:



Cómo configurar su melodía para el contacto deseado en un teléfono inteligente Nokia X2 con dos tarjetas SIM

Cómo configurar su melodía para el contacto deseado en un teléfono inteligente Nokia X2 con dos tarjetas SIM

ibnlive.in.com ¿Cómo configurar una melodía en Nokia Lumia? La gente hace esta pregunta inmediatamente después de comprar un teléfono. Después de todo, normalmente, en todos los modernos...

Programas gratuitos para Windows descargar gratis

Programas gratuitos para Windows descargar gratis

Microsoft .NET Framework está diseñado para programas que se ejecutan en la arquitectura ".NET". Su primera versión fue lanzada en 2002 como analógica...

Cómo grabar cualquier imagen ISO en una unidad flash USB

Cómo grabar cualquier imagen ISO en una unidad flash USB

¡Hola amigos! Hoy hablaremos nuevamente sobre la creación de una unidad flash USB de arranque. ¿Cómo crear un dispositivo USB de arranque? ¿Para qué fines se debe utilizar?...

Llamadas de números desconocidos

Llamadas de números desconocidos

Recientemente, en Rusia, los usuarios se han encontrado con un nuevo tipo de "spam", en el que el suscriptor es constantemente llamado y eliminado de desconocidos...

imagen-feed RSS