🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12577

Re: [vb] Wat doe de functie Instr en Replace?

#12577
From: Zoeloelip
Date: Thu, 25 Oct 2001 20:13
68 lines
3543 bytes
> Ik vroeg me af wat in visual basic de functie doet Instr en Replace.
> Ik wil het volgende toepassen:
> ik heb hier een string waarin een complete mail zit, met headers en al.
> Ik zou daar graag de lijn "subject: het subject" uithalen.
> Die lijn begint altijd met 'subject', maar hetgeen achter de dubbele punt
> staat, wil ik in een variabele krijgen.
> Kan iemand me vlug een voorbeeldje geven/en ev. kort uitleggen hoe die
> functie werkt.?
> Ik heb gehoord dat dat te doen is met de functie instr en/of Replace.

Instr zou je volledig kunnen schrijven als "zoek in string(variable)".
Het eerste attribut is "start" hier geef je de het startpunt van in de
string waar de functie moet beginnen te zoeken.
Het tweede attribut is "string1" hier geef je de string waar in gezocht moet
worden.
Het derde attribut is "string2" hier geef je string waar de functie naar
moet zoeken in string1.

Ik zal een voorbeeldje geven hoe denk dat het beste zal gaan.

Dim strMail as string 'Plaats hier in de mailbody
Dim strSubject as string 'Hier komt het onderwerp in
Dim intWhere as integer 'Waar begint het subject

'Waar begint subject?
intWhere = Instr(1, strMail, "subject:")

'Ik weet niet wat juist achter het subject komt om te zien waar die eindigt
maar ik gok dat het is gaat zijn als een linefeed dus ga ik vbCrLf
gebruiken, een constante in vb die hetzelfde is als chr(10)+chr(13)
strSubject = Mid(strMail, intWhere) 'Hier knip ik alles voor subject weg en
plaats het in strSubject

'Waar eindigd subject
intWhere = instr(1, strSubject, vbCrLf) 'Vervang vbCrLf door het juiste
teken, kan je wel ergens op internet vinden

'Alleen nog het subject
strSubject = mid(strSubject, intWhere) 'strSubject bevat nu de string
"subject: ....."

Ik denk dat dit is wat je nodig hebt. Er staat nog wel subject voor maar ik
denk dat je die wel kan wegknipen. Als het niet lukt, laat dan iets weten.


Replace dient om een string te zoeken in een andere string en als die
gevonden is wordt die vervangen door een opgegeven string.
vb:

Dim strOud as string
Dim strOmTeVinden as string
Dim strOmTeVervangen as string
Dim strNieuw as string

strOud = "*Hallo hoe is het ermee!*"
strOmTeVinden = "*"
strOmTeVervangen = "@"

strNieuw = Replace(strOud, strOmTeVinden, strOmTeVervangen)

Output zou dan zijn: "@Hallo hoe is het ermee@"


--
Mvg.

Zoeloelip
PUB - De Telenet-Internet gebruikersvereniging - http://pub.telenet.be
Technical Details
Message-ID: <jn_B7.1536$aA1.265@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsgate.cistron.nl!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <4sXB7.237$PR.28998755@hestia.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,4edd4c06c6b48422
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-10-25 13:13:04 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsgate.cistron.nl!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "Zoeloelip" <bartvb@pandora.be>
Newsgroups: be.comp.programming
References: <4sXB7.237$PR.28998755@hestia.telenet-ops.be>
Subject: Re: [vb] Wat doe de functie Instr en Replace?
Lines: 70
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Message-ID: <jn_B7.1536$aA1.265@afrodite.telenet-ops.be>
Date: Thu, 25 Oct 2001 20:13:03 GMT
NNTP-Posting-Host: 213.224.217.145
X-Complaints-To: abuse@pandora.be
X-Trace: afrodite.telenet-ops.be 1004040783 213.224.217.145 (Thu, 25 Oct 2001 22:13:03 MET DST)
NNTP-Posting-Date: Thu, 25 Oct 2001 22:13:03 MET DST
Organization: Telenet Internet