Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: TextBoxin rivinvaihto

Sivun loppuun

perro [26.12.2005 17:10:34]

#

Yritän siirtää ListBoxilta TextBoxiin tavaraa mutta TextBoxille ei tulostu kuin viimeisin ListBoxin rivi. Miten saan TextBoxiin rivit samalla lailla kuin ListBoxissa on?

sooda [26.12.2005 17:15:30]

#

Looppaa niin monta kertaa kuin listassa on elementtejä (lista.count muistaakseni) ja joka kerralla lisäät tekstilaatikkoon listan nykyisen elementin (lista.list(luku)) loopin muuttujan mukaan sekä rivinvaihdon. Tekstilaatikon MultiLine-ominaisuuden täytyy tietty olla päällä.

viljami [26.12.2005 20:45:55]

#

Niin ja saahan sen silleen, että Multiline on päällä tietty...

Ja sitte pistää koodin

Text1.text = "rivi1" & Chr$(13) & Chr$(10) $ "rivi2" & Chr$(13) & Chr$(10) & "rivi3"  & Chr$(13) & Chr$(10) $ "rivi4"

sooda [26.12.2005 20:48:57]

#

chr(13)&chr(10)-yhdistelmälle o myös kätevämpi vaihtoehto vbCrLf.

viljami [26.12.2005 22:27:32]

#

VAO. Toi oikeasti kans toimi... pitäneepä pitää mielessä

NanoSoft [28.12.2005 18:59:52]

#

se on Chr(13) eikä Chr$(13) eikä Chr$(10)

Blaze [28.12.2005 19:28:56]

#

NanoSoft kirjoitti:

se on Chr(13) eikä Chr$(13) eikä Chr$(10)

Eipäs puhuta soopaa. Windows-rivinvaihto on carriage return ja linefeed, eli ASCII-merkit 13 ja 10 peräkkäin. Dollarimerkki taas laittaa Chr-funktion palauttamaan merkkijonon tyhmän variantin sijasta.

NanoSoft [28.12.2005 19:47:45]

#

jaa, itse kylläkin käytin tuota mitä sanoin ja se toimi mainiosti!

hunajavohveli [28.12.2005 20:58:45]

#

NanoSoft kirjoitti:

jaa, itse kylläkin käytin tuota mitä sanoin ja se toimi mainiosti!

Jotkut ohjelmat tulkitsevat tollaisenkin muodon rivinvaihdoksi, mutta oikeampi on tuo Chr$(13) & Chr$(10). Dollarimerkki taas tarkentaa, että kyseessä nimenomaan on merkkijono. Muuten funktio palauttaa arvon varianttina, mikä ei aina ole kovin suotavaa.

viljami [29.12.2005 11:08:08]

#

Jees.. ittellä ei ole kokemusta muusta kun tosta tollarimerkki rivistä... ainaki se toimii hyvin.

tejeez [29.12.2005 11:11:41]

#

Jooh. Eipä tuo Chr$(13) taida ainakaan yksinään missään olla.
Jossain käytetään pelkästään Chr$(10)-merkkiä mutta taitaapa se windowsissa käytetty olla tuo Chr$(13)&Chr$(10).

Myöskään Chr$(10)&Chr$(13) ei kai ole käytetty juuri missään.

Blaze [29.12.2005 14:09:36]

#

tejeez kirjoitti:

Jooh. Eipä tuo Chr$(13) taida ainakaan yksinään missään olla.

Vanhoissa (<= OS9) mäkeissä.

Merri [29.12.2005 14:49:01]

#

vbNewLine on kuulemma nopein rivinvaihtovaihtoehto stringeille, itse tosin käytän vbCrLf:ää. Jos välttämättä tahtoo "tehdä kaiken itse", niin sitten ChrW$(13) ja ChrW$(10) on ne mitä kannattaa käyttää, toimii nopeammin kuin Chr$().

Mitäs OS X käyttää? Itse kyllä tiesin mäkkien käyttävän CR:ää, Linuxien LF:ää ja Windowsien CR + LF:ää, mutta en tiennyt mäkkien vaihtaneen systeemiä?

Blaze [29.12.2005 15:03:11]

#

OS X:n ydin perustuu BSD:n, joten rivinvaihtomerkkikin on Unixeista tuttu LF.

tesmu [29.12.2005 16:47:59]

#

Oletetaan että sun listbox objecti on List1 ja tekstiboxi on Text1

For i = 0 to List1.ListCount -1 ' ykkösestä niin monta eteenpäin kun on objecteja
Text1.Text = Text1.Text + List1.List(i) & vbCrLf 'lisätään listboxin I rivi ja entteri
Doevents 'Ja jos jostain syystä looppi jää surraamaan niin ohjelman voi sammuttaakki
Next i

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta