Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB (3) TextBox rivin vaihto

Sivun loppuun

Tehy [30.06.2004 14:37:01]

#

Miten tossa Visual Basicissa(3) saa kirjoitettua TextBoxiin valmiiksi tekstiä usealle riville? Eli tarkoitan sitä, että teksti on siinä textboxissa jo silloin kun ohjelma avataan. Osaan kirjoitaa siihen tekstiä, mutta aina kun kirjoitan uuden rivin niin se teksti ei mene uudelle riville vaan samalle, jossa entinen teksti. Teksti menee kaikenlisäksi vielä entisen päälle...

eli kirjoitain formiin:
text1 = "Moi!"
text1 = "Terve!"

mutta textboxissa lukee vain Terve! ekalla rivillä, eli miten voin kirjoittaa tekstiä seuraavalle riville. Toivottavasti tajusitte.

hunajavohveli [30.06.2004 15:47:59]

#

Ensinnäkin: Aseta TextBoxin MultiLine-ominaisuus Trueksi.
Toiseksi: Jos haluat ohjelmakoodilla lisätä rivin, kirjoitat:

Text1.Text = Text1.Text + Chr(13)

Antti Laaksonen [30.06.2004 15:55:39]

#

Rivinvaihto on kahden merkin (koodit 13 ja 10) yhdistelmä. Tässä pari esimerkkiä:

'tapa 1: kaikki rivit samalla kertaa
Text1 = "Eka rivi" & Chr(13) & Chr(10) & "Toka rivi" & Chr(13) & Chr(10) & "Kolmas rivi" & Chr(13) & Chr(10)

'tapa 2: rivit lisätään erikseen
Text1 = "Eka rivi" & Chr(13) & Chr(10)
Text1 = Text1 & "Toka rivi" & Chr(13) & Chr(10)
Text1 = Text1 & "Kolmas rivi" & Chr(13) & Chr(10)

Jos noita rivivaihtoja tulee enemmän, kannattaa toki tehdä erillinen muuttuja, jossa on tuo merkkiyhdistelmä. Uudemmissa VB:n versioissa onkin valmiiksi vakio vbCrLf.

Tehy [30.06.2004 15:59:06]

#

Kiitos neuvoista, nyt toimii!

hunajavohveli [30.06.2004 16:00:16]

#

Mitä tuo Chr(10) saa aikaan? Itselläni on ainakin riittänyt pelkkä 13.

Tehy [30.06.2004 16:15:06]

#

Miten voi tallentaa kaiken textboxiin kirjoitetun tekstin tiedostoon?

zigilii [30.06.2004 16:51:17]

#

Käytä Hakua

Blaze [30.06.2004 17:31:31]

#

hunajavohveli kirjoitti:

Mitä tuo Chr(10) saa aikaan? Itselläni on ainakin riittänyt pelkkä 13.

Ajatellaan jotain mekaanista laitetta, joka printtaa tekstiä: Kymppi on linefeed. Se pyöräyttää telaa yhden rivin alaspäin. Kolmetoista taas on carriage return, joka palauttaa kirjoituspään rivin alkuun. Ilman kymppiä tuollainen vehje siis kirjoittaisi uuden rivin aina sen vanhan päälle.

IRC:ssä roikkuminen ja viznutin höpinöiden lukeminen on sivistävää :)

Antti Laaksonen [30.06.2004 17:41:04]

#

Blaze kirjoitti:

Mitä tuo Chr(10) saa aikaan? Itselläni on ainakin riittänyt pelkkä 13.

Ainakin minulla tulee vaan tumma suorakulmion muotoinen merkki, jos ei laita molempia. QBasicissa tosin taitaa riittää pelkkä 13.

Tehy kirjoitti:

Miten voi tallentaa kaiken textboxiin kirjoitetun tekstin tiedostoon?

Näin:

Open "tiedosto.txt" For Output As #1
Print #1, Text1
Close #1

hunajavohveli [30.06.2004 18:50:47]

#

Antti Laaksonen kirjoitti:

Ainakin minulla tulee vaan tumma suorakulmion muotoinen merkki, jos ei laita molempia. QBasicissa tosin taitaa riittää pelkkä 13.

Taisipa sitten olla kyseessä MsgBox, jossa käytin tuota Chr(13):a. Siinä ainakin toimi ilman kymppiä, TextBoxissa en kai sitten ole kokeillut.

Antti Laaksonen [30.06.2004 19:12:09]

#

Joo, MsgBoxissa näyttää toimivan pelkkä Chr(13). Ja onnistuinpa kirjoittamaan väärän nimen tuon edellisen viestin lainaukseen.


Sivun alkuun

Vastaus

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

Tietoa sivustosta