|
| Hente en tekst ud af en tekst (D4) Fra : Peter Arnholm |
Dato : 16-10-01 17:31 |
|
Hej
Jeg har denne tekst i en editbox:
Bent Hansen: [[GAME]] Kurt Jensen [HOST] Kurts gaming server [KØRER] 19
[TID] 20 [BANE] bsarthe [MODE] 2 [IP]194.5.1.186
F.eks vil jeg gerne hente teksten "Kurts gaming server" ud af teksten ved at
slette teksten til venstre fra [HOST] og teksten til højre fra [KØRER].
Jeg fik at vide at jeg skulle bruge Pos, men smider den ikke kun teksten væk
til venstre?
Nogen der kan hjælpe?
-
PA
| |
Thomas Rose (16-10-2001)
| Kommentar Fra : Thomas Rose |
Dato : 16-10-01 18:49 |
|
Hej Peter,
"Peter Arnholm" <PeterArnholm@mail.dk> wrote in message
news:3bcc6083$0$42048$edfadb0f@dspool01.news.tele.dk...
> F.eks vil jeg gerne hente teksten "Kurts gaming server" ud af teksten ved
at
> slette teksten til venstre fra [HOST] og teksten til højre fra [KØRER].
> Jeg fik at vide at jeg skulle bruge Pos, men smider den ikke kun teksten
væk
> til venstre?
Du kan f.eks. bruge Copy-funktionen... der kan kopiere en sub-streng ud af
en streng, givet et indeks og et antal karakterer (længde)...
Cheers,
Thomas
| |
Thomas Rose (16-10-2001)
| Kommentar Fra : Thomas Rose |
Dato : 16-10-01 18:57 |
|
Ups... jeg glemte at sige, at ved at kombinere Copy og Pos kan du trække den
information ud, du ønsker... dvs. vha. Pos kan du udregne hvor du skal
starte kopieringen og hvor mange karakterer der skal kopieres... og så
herefter anvende Copy.
- Thomas
| |
Peter Arnholm (16-10-2001)
| Kommentar Fra : Peter Arnholm |
Dato : 16-10-01 23:31 |
|
"Thomas Rose" <trose@get2net.dk> skrev i en meddelelse
news:3bcc74cc$0$3259$edfadb0f@dspool01.news.tele.dk...
> Ups... jeg glemte at sige, at ved at kombinere Copy og Pos kan du trække
den
> information ud, du ønsker... dvs. vha. Pos kan du udregne hvor du skal
> starte kopieringen og hvor mange karakterer der skal kopieres... og så
> herefter anvende Copy.
Ja, hvis strengen i editboxen ikke ændre sig, kan jeg godt hive den ud.
Problemet er bare
at jeg ikke ved hvor mange karakterer der er i strengen, da den bliver sendt
via et netværk og
der bliver sendt rigtig mange forskellige strenge. Men er der en function
der kan fjerne tekst til højre og venstre og på den måde isolerer det man
ønsker - i stil med trim.
--
PA
| |
Thomas Rose (17-10-2001)
| Kommentar Fra : Thomas Rose |
Dato : 17-10-01 07:20 |
|
Hej Peter,
"Peter Arnholm" <PeterArnholm@mail.dk> wrote in message
news:3bccb4ec$0$42004$edfadb0f@dspool01.news.tele.dk...
> "Thomas Rose" <trose@get2net.dk> skrev i en meddelelse
> news:3bcc74cc$0$3259$edfadb0f@dspool01.news.tele.dk...
> Ja, hvis strengen i editboxen ikke ændre sig, kan jeg godt hive den ud.
> Problemet er bare
> at jeg ikke ved hvor mange karakterer der er i strengen, da den bliver
sendt
> via et netværk og
> der bliver sendt rigtig mange forskellige strenge. Men er der en function
> der kan fjerne tekst til højre og venstre og på den måde isolerer det man
> ønsker - i stil med trim.
Så vidt jeg ved findes der ikke et sådant alternativ til "Trim"... men det
skulle vel ikke være noget problem hvis du ved at teksten f.eks er omgivet
af [HOST] og [KØRER]... så anvender du Pos på disse substrenge for at finde
strengen der ligger "imellem"...
Eller har jeg misforstået dit problem?
Cheers,
Thomas
| |
Thomas Due (17-10-2001)
| Kommentar Fra : Thomas Due |
Dato : 17-10-01 07:46 |
|
> Ja, hvis strengen i editboxen ikke ændre sig, kan jeg godt hive den ud.
> Problemet er bare
> at jeg ikke ved hvor mange karakterer der er i strengen, da den bliver sendt
> via et netværk og
> der bliver sendt rigtig mange forskellige strenge. Men er der en function
> der kan fjerne tekst til højre og venstre og på den måde isolerer det man
> ønsker - i stil med trim.
Det er derfor du skal bruge Pos til at finde dine positioner.
Eksempel :
Bent Hansen: [[GAME]] Kurt Jensen [HOST] Kurts gaming server [KØRER] 19
[TID] 20 [BANE] bsarthe [MODE] 2 [IP]194.5.1.186
Var
Start : Integer;
Slut : Integer;
HostStr : String;
BaneStr : String;
Host : Start := Pos('[HOST]', Str);
Slut := Pos('[KØRER]', str);
HostStr := Copy(Str, Start, Slut-Start);
// HostStr = '[HOST] Kurts gaming server ';
Bane : Start := Pos('[BANE]', Str);
Slut := Pos('[MODE]', Str);
BaneStr := Copy(Str, Start, Slut-Start);
// BaneStr := '[BANE] bsarthe ';
Hvor Str er strengen fra din edit box. Hvis du kun vil have teksten fra
den pågældende sektion, klipper du jo bare sektionsnavnet ud. Det ved du
jo hvor lang er.
Mvh
Thomas
| |
Peter Arnholm (17-10-2001)
| Kommentar Fra : Peter Arnholm |
Dato : 17-10-01 12:09 |
|
"Thomas Due" <tdue@mail.dk> skrev i en meddelelse
news:f4373cde.0110162245.42685bc6@posting.google.com...
>
> Det er derfor du skal bruge Pos til at finde dine positioner.
>
> Eksempel :
[snip]
Takker, der skulle åbenbart et eksempel til før jeg fattede den, da jeg kan
se jeg var ude at skide med den kode jeg havde lavet
--
PA
| |
|
|