Avatar billede avest Nybegynder
28. august 2003 - 17:26 Der er 11 kommentarer og
1 løsning

Vælg fra tekstliste

Jeg har en liste af tekststrenge
liste:=
"AAA noget tekst":
"AAA noget andet tekst":
"AAA meretekst":
"BBBBB blablabal":
"BBBBB blablabal2"

Nu vil jeg gerne kunne udvælge listen efter første del af teksten så jeg i et felt har alle dem med AAA og i et andet felt dem med BBBBB. Kan det lade sig gøre med @sproget.
Avatar billede avest Nybegynder
28. august 2003 - 17:27 #1
Jeg ved ikke hvormange strenge der er i listen men jeg vil tro jeg kan sikre mig, hvis det hjælper, at AAA står samlet og BBBBB står samlet.
Avatar billede mmmtm Nybegynder
29. august 2003 - 00:08 #2
Gå i hjælpen og søg på hhv. @Elements og @substring, så skulle du kunne finde svarene.
Avatar billede avest Nybegynder
29. august 2003 - 11:46 #3
@elements returnerer antallet af elementer hvilket jeg ikke kan bruge til noget som helst.
Der er ikek noget som hedder @substring, men jeg forestiller mig at jeg på een eller anden måde skal benytte mig af @Contains.
Avatar billede mmmtm Nybegynder
29. august 2003 - 14:59 #4
Ups - jeg mente @subset! Der er også et underpunkt "working with lists". Endvidere er der @Right, @Left, @Rightback osv...
Avatar billede pr0gm4n Nybegynder
29. august 2003 - 18:20 #5
Hvis du kun har to mulige præfikser er en hurtig løsning:

@ReplaceSubstring(@Explode(@Left(@Implode(liste;"¤¤");"BBBBB");"¤¤");"AAA";"")
for den første del og

@ReplaceSubstring(@Explode(@Right(@Implode(liste;"¤¤");"BBBBB");"¤¤");"BBBBB";"")
for den anden del - for begge gælder det at ovenstående liste skal være tilgængelig som felt eller i formulaen.
Avatar billede avest Nybegynder
01. september 2003 - 09:35 #6
Der kan desværre være flere end to præfikser.
Avatar billede pr0gm4n Nybegynder
01. september 2003 - 19:55 #7
Øv, men tilgengæld bliver det jo så meget desto sjovere, at lure hvordan man gør....

Kender du præfikserne på forhånd?
Avatar billede pr0gm4n Nybegynder
01. september 2003 - 23:31 #8
Jeg går udfra at det er R5... Hvis det er ND6 er der jo helt andre ting at lege med.
Avatar billede pr0gm4n Nybegynder
02. september 2003 - 00:28 #9
Hvis jeg har forstået dit problem rigtigt skulle følgende kode kunne gøre det.

REM "Key er den prefix der skal findes, dvs skift her for det næste felt";
key:="DD";
REM "Antagelse: prefix er adskilt fra resten med et mellemrum";

prefix:=@Unique(@Left(liste;" "));
varPosStartPre:=@Member(key; prefix);

nextKey:=@Subset(@Subset(prefix;varPosStartPre+1);-1);
impListe:=@Implode(liste;" ##");
result:=@If(key!=nextKey;
    @ReplaceSubstring(@Left(@Right(impliste;key);nextKey);key;"");
    @ReplaceSubstring(@Right(impliste;key);key;""));

@Prompt([Ok];"result";result)


Når "result" skal benyttes i et felt skal den lige renses for "liste adskillerne"

Ovenstående er lavet i ND6 men jeg har kun benyttet de gammeldavs @formler.

Håber det hjælper dig
Avatar billede avest Nybegynder
02. september 2003 - 08:30 #10
Jo det er R5.

Jeg har afprøvet dit lille eksempel i en formular liste=multitekstfelt og koden er sat ind i et beregnet felt.

liste:
AAA linie 1
AAA linie 2
AAA linie 3
BBBBB linie 4
BBBBB linie 5
CCC linie 6
CCC linie 7

key:="AAA";
prefix:=@Unique(@Left(liste;" "));
varPosStartPre:=@Member(key; prefix);
nextKey:=@Subset(@Subset(prefix;varPosStartPre+1);-1);
impListe:=@Implode(liste;" ##");
result:=@If(key!=nextKey;
    @ReplaceSubstring(@Left(@Right(impliste;key);nextKey);key;"");
    @ReplaceSubstring(@Right(impliste;key);key;""));
result;

Resultatet er:
linie 1
linie 2
linie 3
BBBBB linie 4
BBBBB linie 5
CCC linie 6
CCC linie 7

Men det skulle have været :
linie 1
linie 2
linie 3
Avatar billede pr0gm4n Nybegynder
02. september 2003 - 10:39 #11
Hmmmmm - det forstår jeg ikke. Ovenstående virker i ND6.01, jeg har netop flyttet koden over i R5.011 og benyttet din tekst-liste. Det virker også...
Så prøv igen.

Hvis du ikke kan få det til at virke kan jeg sende min test-database til dig, alternativt kan jeg lægge den et sted du kan downloade den hvis du er interesseret?
Avatar billede avest Nybegynder
02. september 2003 - 12:59 #12
Hmm, jeg kunne ikke finde fejlen, så jeg slettede min formular og startede forfra. Så virkede det. Sikkert glemt et flueben et eller andet sted, mens jeg har siddet og rodet med det.
Men tak for den fornemme hjælp.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester