Toon posts:

[VB] Een ontvangen string opslitsen

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik heb een client -> server -> client chat prog gemaakt. Waarbij dus de server de nicklist verstuurd in een string.
code:
1
tcpServer(x).SendData "NAMES:" & users & vbCrLf

Wat de client krijgt is dus: "NAMES: jantje pietje klaasje" en dat moet hij in een listbox zetten.


Iemand tips hoe ik dit het beste kan doen ? Ik ben nu aan het proberen met
code:
1
2
Winsock1.GetData ontvangdata
If Left(ontvangdata, 11) = "NAMES: "

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Zoek eens in de help naar 'Split'

Professionele website nodig?


  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 29-03 18:11
array() = Split(ontvangdata, " " [of vbSpace])

probleem hierbij is dat wanneer je in de nickname zelf een space hebt staan, deze ook opgesplitst worden, je kan daarom beter als scheidingsteken een "," of ";" gebruiken

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

mja maar in dat geval kun je weer geen "," of ";" in je nick hebben... je moet dus ergens een grens trekken en de OP heeft deze gezet bij een spatie :)

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

MUBA schreef op 25 May 2003 @ 16:16:
mja maar in dat geval kun je weer geen "," of ";" in je nick hebben... je moet dus ergens een grens trekken en de OP heeft deze gezet bij een spatie :)
Klopt. Maar een spatie in je naam zal eerder voorkomen dan een ; ;)
Verder is idd Split() je vriend... Anders moet je zelf gaan zitten kloten met posities en Mid(), en da's ook weer zo'n gedoe. Helemaal omdat Split() gewoon doet wat je nodig hebt!

My personal website


Verwijderd

Kan je niet een collectie of een array met namen ontvangen/verzenden.

En dan met een loop in een listbox zetten.

Verwijderd

Ongeveer zoiets(zitten wel een paar tagfouten in):

*************************************
private mCol as Collection

public sub Add (naam as string)
mCol.Add(naam)
end sub

public function getList() as Collection
set getList = mCol
end function

Private Sub Class_Initialize()
Set mCol = New Collection
End Sub

'en dan alsvolgt in de list zetten

Private sub lijstVullen()
Dim nome as String

for each nome in getList()
list.addnew(nome)
next
End sub
*************************************
beter is om in de collectie een collectie persoonsobjecten te plaatsen!

[ Voor 19% gewijzigd door Verwijderd op 26-05-2003 14:02 ]


  • koli-man
  • Registratie: Januari 2003
  • Laatst online: 29-06 12:23

koli-man

Bartender!!!!

Explode();

oeps nee, sorry dat is php

[ Voor 60% gewijzigd door koli-man op 26-05-2003 14:02 ]

Hey Isaac...let's go shuffleboard on the Lido - deck...my site koli-man => MOEHA on X-Box laaaiiiff


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 26 mei 2003 @ 13:51:
Kan je niet een collectie of een array met namen ontvangen/verzenden.

En dan met een loop in een listbox zetten.
Arrays en collecties en andere UDT's zijn niet erg makkelijk te verzenden via de winsock control... Voor meer info zie deze link naar MSDN

Ik zou gaan voor de split idd, alleen dan voor een wat "aparter" scheidingsteken als vbTab (moeilijk in te voeren voor de gebruiker, niet onmogelijk) of een ander vaag teken uit de ASCII tabel... En dan bij wijzigen van username effe checke of dat teken erin zit en met replace() vervangen door noppes ("").

[ Voor 30% gewijzigd door RobIII op 26-05-2003 14:09 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

OKEY ;-)
Dan zou ik ; gaan gebruiken.
Met instr() of split() functie uit elkaar halen

  • Reptile209
  • Registratie: Juni 2001
  • Nu online

Reptile209

- gers -

RobIII schreef op 26 mei 2003 @ 14:06:
[...]

Arrays en collecties en andere UDT's zijn niet erg makkelijk te verzenden via de winsock control... Voor meer info zie deze link naar MSDN

Ik zou gaan voor de split idd, alleen dan voor een wat "aparter" scheidingsteken als vbTab (moeilijk in te voeren voor de gebruiker, niet onmogelijk) of een ander vaag teken uit de ASCII tabel... En dan bij wijzigen van username effe checke of dat teken erin zit en met replace() vervangen door noppes ("").
Of je gebruikt, net als in Messenger :+, een URL Encoded username:
code:
1
NAMES: Mijn%20Chatnaam Jouw%20Chatnaam

Dan zijn spaties prima scheidingstekens...

[ Voor 7% gewijzigd door Reptile209 op 26-05-2003 14:20 ]

Zo scherp als een voetbal!


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Reptile209 schreef op 26 May 2003 @ 14:19:
[...]

Of je gebruikt, net als in Messenger :+, een URL Encoded username:
code:
1
NAMES: Mijn%20Chatnaam Jouw%20Chatnaam

Dan zijn spaties prima scheidingstekens...
Zit wat in, maar mooier wordt het er IMO niet op... Een pipe (|) is meestal ook geen slecht scheidingsteken, of # of $ of _ of whatever... Als je maar zorgt dat het niet in de naam voorkomt. Zelfs "*#@SCHEIDING@#*" is goed te gebruiken met split, alleen wordt je overhead dan wat groter ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
waarom gebruik je geen split(var,"%") en in het client deel achter je nick ook een % zetten

  • Reptile209
  • Registratie: Juni 2001
  • Nu online

Reptile209

- gers -

pkouwer schreef op 26 mei 2003 @ 17:41:
waarom gebruik je geen split(var,"%") en in het client deel achter je nick ook een % zetten
Zie ook je vier vrienden 8)7 FI! :P
curry684 schreef op 25 mei 2003 @ 15:21:
Zoek eens in de help naar 'Split'
Mickman schreef op 25 mei 2003 @ 16:00:
array() = Split(ontvangdata, " " [of vbSpace])
OZ-Gump schreef op 26 mei 2003 @ 08:51:
Verder is idd Split() je vriend...
fietstas schreef op 26 mei 2003 @ 14:09:
Met instr() of split() functie uit elkaar halen

[ Voor 3% gewijzigd door Reptile209 op 26-05-2003 18:24 ]

Zo scherp als een voetbal!


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
Reptile209 schreef op 26 May 2003 @ 18:23:
[...]

Zie ook je vier vrienden 8)7 FI! :P


[...]
sollicitatie naar de functie van Lite-Mod ?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

pkouwer schreef op 26 mei 2003 @ 20:17:
[...]

sollicitatie naar de functie van Lite-Mod ?
Meer een algemene nuttige bijdrage dat je wel eens het topic mag lezen voordat je iets compleet overbodigs toevoegt.

Professionele website nodig?


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
errug nuttig...

  • esf
  • Registratie: Juni 2002
  • Laatst online: 11-03 14:06

esf

Je kan natuurlijk ook een of ander vaag ASCII karakter als scheidingsteken gebruiken, dat niet op het toetsenbord zit maar alleen met een alt-combinatie gemaakt kan worden. Dan kan je nog zekerder weten dat dit karakter niet in de naam voorkomt.. Of een combinatie van karakters..

The hardest thing in the world to understand is the income tax. - Albert Einstein


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Wil je het dan horen van een echte moderator?

Gelieve de draad te lezen voordat je voor de 10x dezelfde suggestie doet. Daar heeft niemand wat aan en irriteert alleen maar.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
esf schreef op 26 May 2003 @ 21:42:
Je kan natuurlijk ook een of ander vaag ASCII karakter als scheidingsteken gebruiken, dat niet op het toetsenbord zit maar alleen met een alt-combinatie gemaakt kan worden. Dan kan je nog zekerder weten dat dit karakter niet in de naam voorkomt.. Of een combinatie van karakters..
Neemt niet weg dat een gebruiker die wil pesten dat hij/zij daar de mogelijkheid toe heeft door die altcodes in te voeren. Ik roep nog 1 keer: Controleer gewoon de usernaam voordat je 'm "toestaat" of replace die scheidingstekens met niks. Komen die tekens er in voor dan kun je IMO het beste effe waarschuwen dat dat teken niet is toegestaan ofzo...

[ Voor 7% gewijzigd door RobIII op 26-05-2003 23:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Je kan ook met:

<veldlengte><veld><veldlengte><veld> werken.. dan zit je altijd goed, lijkt me. Alleen dit doen met strings is niet echt de ultieme manier.

Maar de manieren hierboven zullen ook gewoon goed werken :)
Pagina: 1