Ga naar inhoud

Hoe kan ik!!!!! [Delphi]


Aanbevolen berichten

Hoe kan ik een ipadres scheiden waarachter het poort nummer staat. Dus bijvoorbeeld. 192.168.1.17:4856 Dan wil ik in een edit box 192.168.1.17 en in de andere het poortnumer 4856 Als iemand me ff kan helpen _________________ "The agony in my destiny mirrors the solitude of my isolated fears." -The R!ddler [ Dit Bericht is bewerkt door: R1ddl3r@work op 2002-03-21 15:12 ]
Link naar reactie
Zoals je in een ander topic kunt lezen wil ik overstappen van VB naar Delphi. Kan je nier direct zeggen hoe het in Delphi moet maar wel hoe ik het in vb zou aanpakken. Dat IP heeft niet altijd dezelfde lengte dus daar kun je weinig mee. Wat ik zou doen is de zooi in een string zetten en dan steeds het eerste getal/teken opvragen. Wanneer dit niet ":" is wordt hij achteraan in de txtIP geplakt. Is het wel ":" dan schakel je over naar txtPoort en zet daar de rest neer.
Link naar reactie
een string in Delphi is te benaderen als een array ... het eerste karakter van string s is dan s[1] // -- Je krijgt dus een IP-adres + poort in de vorm "aaa.bbb.ccc.ddd:eee" als string aangeleverd ? Splitsen is dan simpel : [code:1:c85073758b] var idx : integer; invoer, ipadres, poort : string; begin // zoek de positie van het ':'-teken : idx := pos(':',aInvoer); if (idx > 0) then begin // het ip-adres is alles tot aan de ':' ipadres := copy(invoer,1,idx - 1); // de poort is alles na het teken ... // we nemen de string eerst over ... poort := invoer; // en verwijderen van het begin t/m het ':' van de string delete(poort,1,idx); end; end; [/code:1:c85073758b]
Link naar reactie
Wat netter is: [code:1:9f8938bdac] ip := copy(string,1,pos(':',string) -1); poort := copy(string,pos(':',string)+1,length(string)-(pos(':',string)+1)); [/code:1:9f8938bdac] natuurlijk wel even de fouten afvangen van lengte 0 en geen : aanwezig. [ Dit Bericht is bewerkt door: Niek Breur op 2002-03-26 12:54 ]
Link naar reactie
Code zou ongeveer gelijk moeten zijn. Wat ik net zie is dat je de code van Nick (die lekker compact lijkt) niet moet gebruiken. Ten eerst wordt 0 afvangen erg lastig zo, en ten tweede roept hij 3x Pos aan terwijl die pos gelijk blijft, zonde van de uitvoertijd, sla het gewoon tijdelijk op in een variabele.... In ieder geval, zoals JaFo laat zien kan je het in VB ook doen, iets andere functienamen alleen, dus ik weet niet wat jij verstaat onder 'lange code'... :smile:
Link naar reactie
[quote:ef28cd05aa] Op 26-03-2002 12:53, schreef Niek Breur: Wat netter is: [code:1:ef28cd05aa] ip := copy(string,1,pos(':',string) -1); poort := copy(string,pos(':',string)+1,length(string)-(pos(':',string)+1)); [/code:1:ef28cd05aa] natuurlijk wel even de fouten afvangen van lengte 0 en geen : aanwezig. [ Dit Bericht is bewerkt door: Niek Breur op 2002-03-26 12:54 ] [/quote:ef28cd05aa] Netter ? Da's een nachtmerrie om te onderhouden & debuggen! Wat denk je dat er gebeurt als je bij een van die 'pos()'-statements het verkeerde teken probeert te zoeken ? 'net programmeren' houd IMHO in ieder geval 1 ding in : een statement / regel zodat je met de debugger precies kunt zien wat er gebeurd!
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...