/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste