TV og projektorer 

1c arbeider med strengeksempler. Nye funksjoner for arbeid med strenger. Funksjon for å jobbe med strenger StrFind()

Som et eksempel på hvordan funksjonene for å jobbe med 1C-strenger fungerer, vil vi gjerne lage en automatisk tekstanalyse. Vi tar teksten fra filen. Resultatet av analysen vises i enhver form for brukeren.

Vi må lage en ekstern behandler som lar oss velge en tekstfil og kjøre analysatoren.

Tekstanalyse 1C - skjema og knapper

Så, la oss lage ekstern behandling: Konfigurator/Fil/Ny/Ekstern behandling.

Legger til et skjema. På skjemaet må vi plassere et tekstfilvalgfelt og en analyseknapp.

Tekstanalyse 1C - tykk klient

La oss plassere et vanlig tekstfelt på skjemaet. Lengden på linjen er ubegrenset, fordi banen til filen (katalognavn) kan være betydelig.

For at brukeren ikke skal skrive inn filnavnet, men kan velge det, vil vi aktivere en valgknapp i feltet.

Vi vil endre feltnavnet til "Filnavn", navnet på det tilknyttede skjemaattributtet vil automatisk endres til det samme.

Som en knapp vil vi bruke "Kjør"-knappen som automatisk legges til av plattformen (og den har allerede en handler koblet til - praktisk).

Tekstanalyse 1C - tynnklient

I den tynne klienten vil vi uavhengig opprette skjemaattributtet "Filnavn". La oss dra rekvisittene til skjemaet. I egenskapene til skjemaelementet vil vi også aktivere valgknappen.

Som en knapp vil vi lage "Kjør"-kommandoen, tilordne behandling til den og dra den til skjemaet.

Tekstanalyse 1C - programmering

Det første vi må gjøre er å behandle klikket på valgknappen - vis filvalgsdialogen når du klikker.

La oss gå til egenskapene til tekstfeltet vårt på skjemaet (i den tykke klienten - med venstre museknapp direkte på feltet, i den tynne klienten - på navnet på feltet i listen), og spesifiser hendelsesbehandleren for «Start of Selection»-arrangementet.

Inne i behandlerfunksjonen som 1C vil lage når den tildeles, vil vi skrive noen enkel kode:

Nå har vi et filnavn. Vi må "få" innholdet og kalle tekstanalysen.

Vi har allerede en behandler for Kjør-knappen. I den tykke klienten ble knappen og dens behandler opprettet automatisk av 1C-konfiguratoren. I den tynne klienten la vi den til manuelt.

La oss legge til kode til behandleren som leser filen inn i en streng:

Angående filkodingen. Hvis du oppretter et TextReading()-objekt uten en parameter som indikerer kodingen, vil 1C prøve å uavhengig bestemme kodingen (ved hjelp av signaturen Byte Order Mark - BOM, eller vil vurdere dens ANSI-koding).

Du kan spesifisere ønsket koding direkte, for eksempel slik:
File = New ReadText(Filnavn, "UTF-8"); //erstatt ønsket kodenavn

Så som et resultat fikk vi:

  • Tekststreng lest fra fil i variabel "Tekst"
  • En prosedyre der vi vil analysere den resulterende strengen fra en variabel kalt "TextAnalysis()", ved å bruke 1C-strengfunksjonene

Implementert i versjon 8.3.6.1977.

Vi har utvidet settet med funksjoner designet for å fungere med strenger. Vi gjorde dette for å gi deg mer avanserte verktøy for å analysere strengdata. De nye funksjonene vil være praktiske og nyttige i teknologiske oppgaver med tekstanalyse. I oppgaver knyttet til å analysere tekst som inneholder data i formatert form. Dette kan være en analyse av noen filer mottatt fra utstyret, eller for eksempel en analyse av en teknologisk logg.

Du kan utføre alle handlingene som utfører nye funksjoner før. Bruke mer eller mindre komplekse algoritmer skrevet i et innebygd språk. Derfor gir ikke nye funksjoner deg noen fundamentalt nye muligheter. De lar deg imidlertid redusere mengden kode og gjøre koden enklere og mer forståelig. I tillegg lar de deg fremskynde utførelsen av handlinger. Fordi funksjonene implementert i plattformen fungerer, selvfølgelig, raskere enn en lignende algoritme skrevet i et innebygd språk.

Formateringsfunksjon StrTemplate()

Denne funksjonen erstatter parametere i en streng. Behovet for en slik konvertering oppstår ofte for eksempel ved visning av advarselsmeldinger. Syntaksen for denne funksjonen er som følger:

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

<Шаблон>- dette er strengen du må erstatte parameterrepresentasjonene i.

<Значение1> , ... <Значение10>- dette er parametere (maksimalt ti), hvis representasjoner må erstattes i strengen.

For å indikere et spesifikt sted i malen der du vil utføre erstatningen, må du bruke markører som %1, ... %10. Antall markører involvert i malen og antall parametere som inneholder verdier må samsvare.

For eksempel resultatet av å utføre en slik operatør:

det vil være en linje:

Datafeil på linje 2 (datotype kreves)

Funksjon for arbeid med strenger StrCompare()

Denne funksjonen sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. For eksempel slik:

Du kan utføre den samme handlingen tidligere ved å bruke verdisammenligningsobjektet:

Å bruke den nye funksjonen ser imidlertid enklere ut. Og i tillegg til dette fungerer funksjonen, i motsetning til Value Comparison-objektet, både i tynnklienten og webklienten.

Funksjoner for å jobbe med strenger StrStartsWith(), StrEndsAt()

Disse funksjonene bestemmer om en streng begynner med en spesifisert delstreng eller om en streng slutter med en spesifisert delstreng. Algoritmen for disse funksjonene er ikke vanskelig å implementere i et innebygd språk, men deres tilstedeværelse lar deg skrive renere og mer forståelig kode. Og de jobber raskere.

For eksempel er de praktiske å bruke i If-setningen:

Funksjoner for å arbeide med strenger StrDivide(), StrConnect()

Disse funksjonene deler en streng i deler ved hjelp av et spesifisert skilletegn. Eller omvendt, de kombinerer flere linjer til én, og setter inn den valgte skillelinjen mellom dem. De er praktiske for å lage eller analysere logger og teknologiske journaler. For eksempel kan du enkelt analysere en teknologisk loggoppføring i deler som er egnet for videre analyse:

Funksjon for å jobbe med strenger StrFind()

I stedet for den gamle Finn()-funksjonen implementerte vi ny funksjon, som har tilleggsfunksjoner:

  • Søk i forskjellige retninger (fra begynnelsen, fra slutten);
  • Søk fra en spesifisert posisjon;
  • Søk etter en forekomst med et spesifisert nummer (andre, tredje osv.).

Faktisk dupliserer den egenskapene til den gamle funksjonen. Dette gjøres for å opprettholde kompatibilitet med moduler kompilert i eldre versjoner. Det anbefales at du ikke lenger bruker den gamle Finn()-funksjonen.

Nedenfor er et eksempel som bruker de nye søkemulighetene. Omvendt søk er nyttig når du trenger den siste delen av en formalisert streng, for eksempel hele filnavnet i en URL. Og å søke fra en spesifisert posisjon hjelper i tilfeller der du trenger å søke i et kjent fragment, og ikke i hele linjen.

Det er få mekanismer for å jobbe med strenger i 1C-spørringer. Først kan linjene legges til. For det andre kan du ta en delstreng fra en streng. For det tredje kan strenger sammenlignes, inkludert etter mønster. Det er nok alt som kan gjøres med strenger.

Strengtilsetning

For å legge til rader i en spørring, brukes "+"-operasjonen. Du kan bare legge til strenger med begrenset lengde.

VELG "Navn: " + Motparter Navn AS Kolonne 1 FRA Motparter AS Motparter Link = &Link

Delstrengfunksjon

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

En analog av Environment()-funksjonen fra objektmodellen. Substring()-funksjonen kan brukes på strengdata og lar deg velge et fragment <Строки> , som starter med tegnnummeret <НачальнаяПозиция> (tegn i en linje er nummerert fra 1) og lengde <Длина> tegn. Resultatet av funksjonsberegningen har en strengtype med variabel lengde, og lengden vil anses som ubegrenset hvis <Строка> har ubegrenset lengde og parameter <Длина> er ikke en konstant eller større enn 1024.

Hvis lengden på strengen er mindre enn spesifisert i den andre parameteren, vil funksjonen returnere en tom streng.

Oppmerksomhet! Det anbefales ikke å bruke SUBSTRING()-funksjonen til å konvertere strenger med ubegrenset lengde til strenger med begrenset lengde. I stedet er det bedre å bruke cast-operatøren EXPRESS().

Funksjon lignende

Hvis vi må forsikre oss om at et strengattributt oppfyller visse kriterier, sammenligner vi det:

VELG Motparter Navn AS Kolonne 1 FRA Motparter AS Motparter Name = "Gazprom".

Men hva om du trenger en mer subtil sammenligning? Ikke bare likhet eller ulikhet, men likhet med et bestemt mønster? Det er akkurat dette SIMILAR-funksjonen ble laget for.

LIKE — Operator for å sjekke en streng for likhet med et mønster. Analog av LIKE i SQL.

SIMILAR-operatoren lar deg sammenligne verdien av uttrykket som er spesifisert til venstre for det med mønsterstrengen som er spesifisert til høyre. Verdien til uttrykket må være av typen streng. Hvis verdien av uttrykket samsvarer med mønsteret, vil resultatet av operatoren være TRUE, ellers vil det være FALSE.

Følgende tegn i malstrengen er tjenestetegn og har en annen betydning enn strengtegnet:

  • % (prosent): en sekvens som inneholder et hvilket som helst antall vilkårlige tegn;
  • _ (understrek): ett vilkårlig tegn;
  • […] (ett eller flere tegn i hakeparenteser): ethvert enkelt tegn oppført innenfor hakeparentesene. Oppregningen kan inneholde områder, for eksempel a-z, som betyr et vilkårlig tegn inkludert i området, inkludert endene av området;
  • [^...] (i hakeparentes et negasjonstegn etterfulgt av ett eller flere tegn): ethvert enkelt tegn annet enn de som er oppført etter negasjonstegnet.

Ethvert annet symbol betyr seg selv og bærer ingen ekstra belastning. Hvis et av de oppførte tegnene må skrives som seg selv, må det innledes med<Спецсимвол>. Meg selv<Спецсимвол>(hvilket som helst passende tegn) er definert i den samme setningen etter nøkkelordet SPECIAL CHARACTER.

De grunnleggende egenskapene til et programmeringsspråk inkluderer vanligvis arbeid med tall og strenger. Vanligvis er disse egenskapene hardkodet inn i kompilatorkoden (eller "base"-klassene til programmeringsspråket er implementert).

I 1C er muligheten til å jobbe med strenger programmert i selve plattformen. I dag skal vi se på funksjonene ved å jobbe med 1C-strenger i programmer i det innebygde 1C-språket.

Linjeverdi 1C

1. La oss starte med det enkleste. Å lage en variabel og tilordne en konstant strengverdi til den ser slik ut i 1C:

Variabel = "Hei, verden!";

Hvis du trenger å spesifisere et anførselstegn i en konstant 1C-strengverdi, må du doble det ""

Variabel = "Hei verden"!;

2. Linjeskift 1C kan angis på to måter samtidig. Den første bruker symbolet |

Variabel = "Hei,
| verden! ";

Den andre er å bruke symbolsystemet. Den lar deg legge til både 1C-linjeskift og andre tegn som ikke skrives ut, for eksempel TAB.

Variabel = "Hei" + Symboler.PS + "fred!";

3. Konfigurasjoner i 1C kan utvikles ikke bare for ett språk (russisk, engelsk eller et annet) - men samtidig for flere språk. I dette tilfellet velges språket som brukes for øyeblikket nederst i 1C-vinduet.

Listen over språk er plassert i konfigurasjonsvinduet i General/Languages-grenen. Hvert språk har en kort identifikator som f.eks ru eller eng.

Det er klart at når man programmerer en slik konfigurasjon, kan 1C-linjer også være flerspråklige. For å gjøre dette er det mulig å lage en slik 1C-linje ved å spesifisere gjennom; alternativer etter språkidentifikator:

Variable = "ru=""Hei, verden! ""; en=""Hei, verden! """;

Hvis du bruker 1C-linjen dannet på denne måten som vanlig, vil det være det som er skrevet i den. For at systemet skal dele det opp i to alternativer og bruke ønsket, må du bruke НStr()-funksjonen:

//korrekt for tospråklige konfigurasjoner
Rapport(NStr(Variabel));

Rekvisitter med line type 1C

Attributtet er et felt i 1C-katalogen/dokumentet. Den skiller seg fra en variabel i et program på 1C-språket ved at dens type er nøyaktig angitt for attributtet (nummer, 1C-streng, etc.). Hvis du trenger å friske opp minnet om hva en rekvisitt er, kan du se leksjonen om.

Hvis du spesifiserer typen attributt - linje 1C, må du i tillegg spesifisere parametrene.

1C-linjer kommer i ubegrenset lengde (angitt som lengde = 0) og begrenset lengde, som indikerer nøyaktig antall tegn. 1C-rader med ubegrenset lengde lagres i en separat SQL-tabell, så bruken av dem er mindre produktiv enn begrensede.

Det er derfor bruken av 1C-strenger med ubegrenset lengde har sine begrensninger - det er ikke mulig å bruke dem overalt. Det er for eksempel ikke tillatt som dokumentnummer, referansekode eller måling.

Arbeid med 1C-strenger

Det er flere innebygde funksjoner i 1C-plattformen for arbeid med strenger.

  • AbbrLP ("Utrolig, men sant!")
    Fjerner ekstra mellomrom fra 1C-linjen. Kan også brukes til å konvertere alle typer til en 1C-streng (for eksempel tall).
  • Variabel = "Vasya" + AbbrLP(" pluss") + "Olya"; //det vil være "Vasya pluss Olya"
    Et eksempel på summering av flere 1C-strengverdier. Resultatet blir en linje 1C.
  • Variabel = Lev("Musikk", 2); //vil være "Mu"
    Variabel = Medium("Musikk", 2, 2); //det vil være "trussel"
    Variabel = Rettigheter("Musikk", 2); //det vil være "ka"
    Ulike alternativer for å få en delstreng fra en 1C-streng.
  • Variabel = Finn("Musikk", "zy"); //det blir 3
    Søk etter en delstreng i streng 1C, start med tegn 1.
  • Variabel = StrLength("Musikk"); //det blir 6
    Returnerer antall tegn i 1C-linjen.
  • Report("Hei") //i meldingsvinduet nederst i 1C-vinduet
    Alert("Hei") //popup-dialog
    Status("Hei") //i statusvisningslinjen nederst til venstre
    .

Bringe objekter til linje 1C

Som du vet, er det mest populære formatet for utveksling av strukturert informasjon for tiden XML. Til og med siste versjon MS Office Word og Excel lagrer filer i dette formatet (henholdsvis docx og xlsx, endre utvidelsen til zip, åpne i et arkiv).

1C-plattformen for datautveksling gir flere alternativer, hvorav den viktigste også er XML.

1. Den enkleste metoden er å bruke funksjonen Abbreviation() eller String(). Du kan bruke REPRESENTATION()-funksjonen i forespørselsteksten. Resultatet av handlingen deres er det samme - de genererer en strengrepresentasjon av et hvilket som helst 1C-objekt for brukeren.

For en katalog som standard vil dette være navnet. For et dokument – ​​dokumentnavn, nummer og dato.

2. Ethvert 1C-objekt (med restriksjoner) kan konverteres til XML og omvendt. Konverteringsprosessen kalles serialisering.

StringViewXml = XMLString(Verdi); //hent XML fra 1C-verdi
Verdi1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypeStringXml); //hent 1C-verdien fra XML-strengen, må du spesifisere 1C-typen som skal mottas

3. Det er 1C-plattformens egen måte å konvertere et hvilket som helst 1C-objekt til en streng. Den migrerte fra versjon 1C 7.7. Dette formatet er ikke forstått av andre programmer, men andre 1C forstår det, noe som gjør det enkelt å bruke det for utveksling mellom 1C-databaser.

Row = ValueInRowInt(Verdi1C); //hent streng 1C fra verdi 1C
ValueVFile("C:\MyFile.txt", Verdi1C); //et annet alternativ, vi får en fil med en lagret streng fra 1C-verdien
Value1C = ValueFromStringInt(String); //tilbake fra linje 1C
Verdi1C = VerdiFil("C:\MinFil.txt"); //tilbake fra fil

Redigering av 1C-linjer på skjemaet

I tillegg til å jobbe med 1C-strenger i et program på 1C-språket, vil jeg selvfølgelig gjerne at brukeren skal kunne redigere dem. Det er flere muligheter for dette:

1. Den enkleste måten er å be om oppføring av en 1C-linje på forespørsel. Denne metoden brukes når du lærer 1C-programmering i livet, den brukes mye sjeldnere (men den brukes!).

Variabel = "";
Row = EnterValue(Variable, "Angi fullt navn");

2. For å vise detaljene til et 1C-objekt (katalog/dokument) eller skjemadetaljer (se), brukes oftest et inndatafelt. Dette er det vanligste verktøyet i 1C for brukeren til å jobbe med redigeringsfelt.

3. Mulighetene til inndatafeltet kan utvides (se egenskapene til inndatafeltet, høyreklikk på den, flere detaljer):

  • Avmerkingsboks Multiline redigeringsmodus
  • Avmerkingsboks for avansert redigering (tilgjengelig hvis forrige avmerkingsboks er merket av)
  • Avmerkingsboks Passordmodus (se).

4. Hvis alle funksjonene til inndatafeltet ikke er nok for deg, er det en innebygd editor. For å legge det til i skjemaet, må du legge til et tekstdokumentfelt i menyen Skjema/Sett inn kontroll. I egenskapene kan du spesifisere driftsmodusen – utvidelsesegenskapen.

Et tekstdokumentfelt kan ikke knyttes direkte til data. Det er nødvendig å skrive en funksjon i OnOpen() hendelsesbehandleren for skjemaet (se):

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //her er ValueString teksten mottatt, for eksempel fra attributtet

Og i lagrebehandleren - for eksempel i Lagre-knappen - legg til en lagring:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //Verdi Linjen her er attributtet der vi lagrer verdien

5. I 1C versjon 8.2.11, i administrerte skjemaer, har det dukket opp et nytt alternativ for å representere en 1C-linje - feltet Formatert dokument.


I likhet med feltet til et tekstdokument, må du angi det når du åpner det og skrive det ned når du lagrer det selv ved hjelp av programmet.

  • I 1C-objektet hvis form vi oppretter (katalog, dokument, behandling, etc.) - legg til et attributt med typen Verdilagring
  • I OnReadOnServer()-funksjonen setter vi teksten fra attributtet

    //her er attributtet tilleggsattributtet til 1C-objektet
    //here FormattedDocument er navnet på feltet på skjemaet for redigering
    &PåServer

    FormattedDocument = CurrentObject.Attributes.Get();
    Slutt på prosedyre

  • I BeforeWritingOnServer()-funksjonen eller ved å bruke knappen, vil vi skrive teksten fra feltet

    &PåServer
    Prosedyre ved lesing på server(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Slutt på prosedyre

String-typen finnes i alle programmeringsspråk. Den er primitiv, og i 1C er det mange funksjoner for å jobbe med den. I denne artikkelen skal vi se nærmere på ulike måter arbeider med strengtyper i 1C 8.3 og 8.2 ved hjelp av eksempler.

Linje

For å konvertere en variabel av en hvilken som helst type til en streng, er det en funksjon med samme navn "String()". Inndataparameteren vil være selve variabelen, hvis strengrepresentasjon må innhentes.

String(False) // returnerer "Nei"
String(12345) // returnerer "12,345"
String(CurrentDate()) //"07/21/2017 11:55:36″

Det er mulig å konvertere ikke bare primitive typer til en streng, men også andre, for eksempel elementer i kataloger og dokumenter.

SokrLP, SokrL, SokrP

Inndataparametrene til disse funksjonene er en variabel av strengtype. Funksjoner fjerner ubetydelige tegn (mellomrom, vognretur osv.): fra venstre og høyre side, kun på venstre side, og bare på høyre, henholdsvis.

Abbreviation(" Mellomrom vil bli fjernet på begge sider ") // "Mellomrom vil bli fjernet på begge sider"
Abbreviation(" Mellomrom på begge sider vil bli fjernet ") // " Mellomrom til venstre vil bli fjernet "
Abbreviation(" Mellomrom på begge sider vil bli fjernet ") // " Mellomrom til høyre vil bli fjernet"

Leo, Høyre, Middels

Disse funksjonene lar deg trimme deler av en streng. "Left()"-funksjonen vil returnere delen av en streng fra venstre side av den angitte lengden. "Right()"-funksjonen er lik, men beskjærer fra høyre. Funksjonen "Avg()" lar deg spesifisere nummeret på tegnet som linjen skal velges fra og lengden på den.

Lev("Strengvariabel", 4) // returnerer "Str"
Right("Strengvariabel", 7) // returnerer "variabel"
Medium("Strengvariabel", 2, 5) // returnerer "troco"

StrLength

Funksjonen bestemmer antall tegn som er inneholdt i en strengvariabel.

StrLength("Word") // resultatet av utførelse vil være tallet 5

Finne

Funksjonen gjør det mulig å søke etter en del av en streng i en strengvariabel. Returverdien vil være et tall som viser posisjonen til begynnelsen av den funnet strengen. Hvis ingen treff blir funnet, returneres null.

Vær oppmerksom på at søket skiller mellom store og små bokstaver. Hvis det er mer enn én forekomst av søkedelstrengen i den opprinnelige strengen, vil funksjonen returnere begynnelsen av den første forekomsten.

Finn("en, to, en, to, tre", "to") //-funksjonen vil returnere tallet 6

EmptyString

Ved å bruke denne funksjonen kan du bestemme om en streng er tom. Mindre tegn som mellomrom, vognretur og andre tas ikke i betraktning.

EmptyString("Pupkin Vasily Ivanovich") //-funksjonen vil returnere verdien False
EmptyString(" ") //-funksjonen vil returnere verdien True

VReg, NReg, TReg

Disse funksjonene er svært nyttige når du sammenligner og konverterer strengvariabler. "Vreg()" vil returnere den opprinnelige strengen med store bokstaver, "HPreg()" med små bokstaver, og "TReg()" vil formatere den slik at det første tegnet i hvert enkelt ord skrives med stor bokstav, og alle etterfølgende tegn skrives med stor bokstav.

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

Sideerstatt

Denne funksjonen er analog med erstatning i tekstredigerere. Den lar deg erstatte ett tegn eller sett med tegn med et annet i strengvariabler.

StrReplace("rød, hvit, gul", ","", ";") // returnerer "rød; hvit; gul"

StrNumberLines

Funksjonen lar deg bestemme antall linjer atskilt med vognretur i en tekstvariabel.

Løkken i eksemplet nedenfor vil gå gjennom tre runder fordi LineNumberRow-funksjonen vil returnere verdien 3:

For ind = 1 etter StrAntall strenger ("Linje1" + Symboler.PS + "Linje2" + Symboler.PS + "Linje3") syklus
<тело цикла>
EndCycle;

StrGetString

Denne funksjonen fungerer med flerlinjetekst på samme måte som den forrige. Den lar deg hente en bestemt streng fra en tekstvariabel.

StrGetString("String1" + Characters.PS + "String2" + Characters.PS + "String3", 2) // returner "String2"

Sidetall Forekomster

Funksjonen teller antall forekomster av et tegn eller understreng i søkestrengen.

StrNumberAttachments("a;b;c;d; ", ";") //-funksjonen vil returnere tallet 4

Symbol og symbolkode

Disse funksjonene lar deg få et tegn ved hjelp av koden i Unicode-kodingen, samt bestemme denne koden ved hjelp av tegnet selv.

SymbolCode("A") //-funksjonen vil returnere tallet 1040
CharacterCode(1040) //-funksjonen vil returnere "A"

Vanlige oppgaver ved arbeid med strenger

Sammenknytte strenger

For å kombinere flere strenger (for å utføre sammenkobling), er det nok å bruke tilleggsoperatøren.

“Linje 1″ + “Linje 2″ //resultatet av å legge til to linjer vil være “Linje 1 Linje 2”

Type konvertering

For å konvertere en type til en streng, for eksempel en lenke til et katalogelement, et nummer, etc., er det nok å bruke "String()"-funksjonen. Funksjoner som "ScrLP()" vil også konvertere variabler til en streng, men umiddelbart med å kutte av ubetydelige tegn.

String(1000) // returnerer "1000"

Vær oppmerksom på at når du konverterer et tall til en streng, la programmet automatisk til et mellomrom som skiller tusen. For å unngå dette kan du bruke følgende konstruksjoner:

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

String(Format(1000,"HG=")) // returnerer "1000"

Sitater i en streng

Ganske ofte vil du måtte forholde deg til behovet for å spesifisere anførselstegn i en strengvariabel. Dette kan enten være forespørselsteksten skrevet i konfiguratoren, eller bare en variabel. For å løse dette problemet trenger du bare å sette to anførselstegn.

Header = String("Horns and Hooves LLC - det er oss!") // vil returnere "Horns and Hooves LLC - det er oss!"

Flerlinjer, linjeskift

For å lage tekst med flere linjer, legg til linjeskift (Symbols.PS) til den.

MultilineText = "First Line" + Symbols.PS + "Second Line"

Hvordan fjerne mellomrom

For å fjerne mellomrom til høyre eller venstre, kan du bruke funksjonen "ScrAP()" (samt "ScrL()" og "ScrP()"):

StringNoSpaces = Abbreviation(" Mange bokstaver ") // funksjonen vil returnere verdien "Mange bokstaver"

Hvis du, etter å ha konvertert et tall til en streng, må fjerne mellomrom som ikke bryter, bruk følgende konstruksjon:

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

Programmerere bruker også ofte følgende konstruksjon, som lar deg fjerne eller erstatte alle mellomrom i en tekstvariabel med et annet tegn:

StringNoSpaces = StrReplace("hei","") // returnerer "hei"

Sammenligning av strenger med hverandre

Du kan sammenligne termer med det vanlige likhetstegnet. Sammenligningen skiller mellom store og små bokstaver.

"Hei" = "hei" // returnerer False
"Hello" = "Hei" // returnerer True
"Hei" = "Farvel" // returnerer False