Miten saan TextBoxiin tehtyä rivinvaidon esim.
text1.text = text1.text + "A"
text1.text = text1.text + "A"
Ku tekee tollei ne tulee peräkkäin eli "AA" ni miten ne sais tulemaan tällei
A
A
Käytä vbCrLf vakiota joka lisää rivinvaihdon:
Text1.Text = Text1.Text & "A" & vbCrLf
Text1.Text = Text1.Text & "A" & vbCrLf
Niin ja merkkijonoja yhdistetään & -merkillä ei + merkillä
Merkkijonoja voi yhdistää myös "+"-merkillä. Itseasiassa juuri "+"-merkillä yhdistetään merkkijonoja, "&":llä mukaan voi tunkea vaikkapa muuttujan eikä VB älise.
Rivinvaihdon merkkiyhdistelmä on chr(10) & chr(13)
Konkatenoitaessa merkkijonoja käytä aina "&" - merkkiä koska se on käytettävissä tarkoitukseena. "+" - merkin käyttö aiheuttaa helposti sekaannusta ja heikentää koodin luettavuutta. On parempi käyttää sitä vain laskutoimituksissa.
VB:ssä tosiaan kannattaa käyttää aina &-merkkiä merkkijonojen yhistämiseen. Plussaa käytettäessä voi tulla yllätyksiä. Esim. "1" + "1" olis "2", kun taas "1" & "1" on "11", mitä varmaan halutaan, jos merkkijonona yhdistellään.
Minkä maan logiikalla? Meikäläisen VB kyllä yhdistää "1" + "1" ihan "11":ksi. "1" + 1 sen sijaan palauttaa 2, ja jos 1:sen tilalle laittaa jotain tyyliin "foo", antaa VB Type Mismatch errorin.
Eli tiivistettynä, "&":ää käytettäessä tulos on aina merkkijono, "+":aa käytettäessä tulos voi olla lukuarvo tai merkkijono sen mukaan, mitä parametreja on annettu.
Noh, täytyy sanoa että stringien yhdistelemiseen tuo "&" tosiaan on sopivampi. Itse tykkään (vaikka en VB:tä paljoa käytäkään) konkatenoida stringit juuri tuolla "+"-merkillä.. varmaankin QB:stä jäänyt tapa, siellä ei "&"-merkillä tuota vaikutusta ole.
lainaus:
Minkä maan logiikalla? Meikäläisen VB kyllä yhdistää "1" + "1" ihan "11":ksi. "1" + 1 sen sijaan palauttaa 2, ja jos 1:sen tilalle laittaa jotain tyyliin "foo", antaa VB Type Mismatch errorin.
Hmmm... Näinhän se taitaaki olla. Kerrankos sitä muisti pettää. Viimeks kun on tullu VB:ssä +-merkkiä stringien yhteydessä käytettyä erinäisiä vuosia sitten.
Aihe on jo aika vanha, joten et voi enää vastata siihen.