Toon posts:

[VB6] Informatie uit string halen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ellow iedereen!

Probleem: ik heb een string (een hele lange), met allerlei waarden die gescheiden zijn door een @-teken. Dit is niet de meest makkelijke manier van het opslaan van data, maar ik kan niet anders (zo wordt de informatie aangeleverd aan mijn dlletje). Nu moet ik dus de info hebben die tussen die @-jes staat, waarbij x staat voor het veldnummer. Dus als ik heb:
code:
1
@blabla1@blabla2@blabla3@blabla4@

en x=2, dan moet daar uitkomen
code:
1
blabla2

In de programmeertaal progress doe je dat met
code:
1
string=entry(x,datastring,chr(1))    ' chr(1) staat voor @

Gooi dat in een loop met het aantal x'en als voorwaarde in klaar. Maar nu in VB6?? Iemand suggesties?

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Eerst met instr (oid) de start en eind positie zoeken in de string en dan met substr knippen?

  • Yoda
  • Registratie: December 1999
  • Laatst online: 07-11-2025

Yoda

Can you feel it?

dim aArray

aArray = split("@blabla1@blabla2@blabla3@blabla4@", "@")

hij splitst de string nu iedere keer op het @-teken
omdat je aan het begin en het einde ook een @-teken hebt staan denk dat het resultaat nu als volgt zal zijn

aArray(0) = ""
aArray(1) = "blabla1"
aArray(2) = "blabla2"
aArray(3) = "blabla3"
aArray(4) = "blabla4"
aArray(5) = ""

maar goed ik denk dat je zo een heel eind op weg bent,...

Verwijderd

Topicstarter
Op donderdag 03 januari 2002 10:15 schreef Yoda het volgende:
dim aArray

aArray = split("@blabla1@blabla2@blabla3@blabla4@", "@")

hij splitst de string nu iedere keer op het @-teken
omdat je aan het begin en het einde ook een @-teken hebt staan denk dat het resultaat nu als volgt zal zijn

aArray(0) = ""
aArray(1) = "blabla1"
aArray(2) = "blabla2"
aArray(3) = "blabla3"
aArray(4) = "blabla4"
aArray(5) = ""

maar goed ik denk dat je zo een heel eind op weg bent,...
En is het dan niet mogelijk om met split alleen de eerste (of tweede, derde, vierde) waarde in die variabele te stampen?

Verwijderd

Topicstarter
en nog iets. In diverse programmeertalen zie je de functie trim() Daarmee kun je de spaties voor en na een string eraf plukken. In VB bestaat trim() niet, en het is bijzonder lastig om bij Microsoft informatie te vinden over een functie, als je de exacte functie er niet voor kent! weet iemand deze functie in VB?

  • Yoda
  • Registratie: December 1999
  • Laatst online: 07-11-2025

Yoda

Can you feel it?

denk dat je dan toch beter met

Instr()
en
Mid()

aan de gang kunt gaan. (zie ook msdn natuurlijk)

dim iInt, sEersteWaarde
iInt = Instr(2, "@blabla1@blabla2@blabla3@blabla4@", "@")
sEersteWaarde = mid("@blabla1@blabla2@blabla3@blabla4@", 2, iInt - 2)

met instr bepaal je de plek van het tweede @-teken. En je begint te zoeken van positie 2, want anders krijg je de eerste terug.

en met mid trek je dan de waarde eruit beginnend op positie 2 met een lengte van de eerder gevonden waarde van het @-teken min 2,....

-edit-
typo,..

  • Greyfox
  • Registratie: Januari 2001
  • Laatst online: 15-09 22:50

Greyfox

MSX rulez

Op donderdag 03 januari 2002 10:30 schreef CyberKnutselaar het volgende:
In VB bestaat trim() niet ...
Hoe bedoel je?
Er is zeker wel een Trim function in VB!

MSX 2 rulez more


  • BOOTZ
  • Registratie: Maart 2001
  • Laatst online: 09:54
Op donderdag 03 januari 2002 10:30 schreef CyberKnutselaar het volgende:
en nog iets. In diverse programmeertalen zie je de functie trim() Daarmee kun je de spaties voor en na een string eraf plukken. In VB bestaat trim() niet, en het is bijzonder lastig om bij Microsoft informatie te vinden over een functie, als je de exacte functie er niet voor kent! weet iemand deze functie in VB?
bestaat wel: trim$(" bla ") geeft "bla"
en je hebt ook nog ltrim$() en rtrim$() om alleen aan de linker of rechterkant spaties te strippen.

Maak je eigen poll


Verwijderd

Topicstarter
Ik kon 'm in msdn niet vinden :( maar het klopt, hij bestaat! Tnx guys (and girls?)

  • disjfa
  • Registratie: April 2001
  • Laatst online: 12-05 15:11

disjfa

be

of je checkt de regexp functie.... die is erug fijn :)

anders moet je aan de slag met instr, die gaat ook aardig zijn gangetje :)

disjfa - disj·fa (meneer)
disjfa.nl

Pagina: 1