Jump to content
  • 0

[Custom Functie] GetLetter


Joris Aarts

Question

Laat toe om uit een reeks een letter te plukken die x posities verwijderd is van de opgegeven letter. Handig om rubrieken e.d. alfabetisch te nummeren.

Syntax:

GetLetter(string; start ; offset)

Voorbeeld 1:

GetLetter("ABCDEFG";"D";2)

Resultaat 1: "G"

 

Voorbeeld 2:

GetLetter("ABCDEFG";"D";-2)

Resultaat 2: "B"

 

Voorbeeld 3;

GetLetter("ABCDEFG";"D";10)

Resultaat 3: "G"

 

//Returns letter from striong that is x offset from StartLetter. Example with alphabet: StartLetter "C", Offset -2 returns "A"

Let([
        len = Length(string);
        startPos=Position (string; start; 1;1);
        calcPos = startpos+offset;
        newPos = If(calcPos>len;len;calcPos)
];
        Middle ( string; newPos; 1)
)

Link to comment

6 answers to this question

Recommended Posts

  • 0
Laat toe om uit een reeks een letter te plukken die x posities verwijderd is van de opgegeven letter. Handig om rubrieken e.d. alfabetisch te nummeren.

Het zal al wel te laat op de avond zijn, sorry dus, maar kan je een concreet voorbeeld geven waar en hoe je dit toepast?

Dank!

Link to comment
  • 0

Het zal al wel te laat op de avond zijn, sorry dus, maar kan je een concreet voorbeeld geven waar en hoe je dit toepast?

Dank!

 

Voor zover ik er op dit ogenblik zicht op heb, zou ik dit oa gebruiken om een range in woorden/letters te vinden.

 

Hetzelfde principe als het vinden van cijfers (145...250), wat je alles zou moeten geven tussen 145 en 250, kun je woorden en/of letters zoeken/vinden binnen een opgegeven range (B...F), wat je alles gaat geven tussen B en F.

 

In lager dan 7 heb ik daar een monsterlijke verwerking voor, maar denk wel hiermee heel wat eenvoudiger te kunnen werken.

 

(alhoewel het plezier dat we gehad hebben om het in FM6 werkend te krijgen nog lang zal nazinderen) :lol:

Link to comment
  • 0

OK! Dank, Jean.

En nu voor de fun (!) nog een concrete toepassing binnen een stukje bedrijfssoftware. Wat kan ik me daarbij voorstellen dat niet op een andere manier op te lossen is? Puur uit nieuwsgierigheid (of noem het kortzichtigheid :cry: )!

Link to comment
  • 0

Kortzichtigheid zou ik het niet durven noemen André...ik ken zelf niet eens de volledige diepere mogelijkheden...

 

Ik denk je CFs kunt terugbrengen tot de simpele vorm van wat scripts doen: het vereenvoudigen van repetitieve zaken.

 

Je kunt bijna alles doen wat CFs ook doen, maar het zal je meer werk en inventiviteit kosten (lees bloed zweet en tranen).

 

Natuurlijk geven CFs je een hele rits van toeters en bellen, die kun je dan onder de noemer van 'technische vooruitgang' brengen.... 8).

 

Het terugvinden van een boektitel (waarvan je de naam zowat ongeveer kent) uit een reeks van enkele duizenden is het enige dat mij te binnen schiet nu, je kunt eenvoudig een lettertje (of meerdere) veranderen/aanpassen ipv een hele zoekopdracht volledig opnieuw ingeven :?:

 

...of misschien ben ik kms aan het afdwalen..... 8)

andere adepten zullen nu wel bijspringen...

Link to comment
  • 0
kan je een concreet voorbeeld geven waar en hoe je dit toepast?

 

Ik heb die functie gebruikt in een budgetsysteem waarbij hoofdrubrieken van een budget volgens letter werden genummerd. Vaak moest ik vanuit een door de gebruiker bepaalde rubriek ("C" bijvoorbeeld) een rubriek naar boven ("B") of naar onderen kunnen navigeren ("D"). Dat kon dan eenvoudig door vanuit de gevonden rubriek via de 'offset' parameter te navigeren.

 

Veel groeten,

 

Joris

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...