Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tekstinkääntö ohjelma

Sivun loppuun

ZcMander [08.01.2004 14:29:55]

#

Minulla on tekstin kääntöohjelma. Siinä on virhe muta en älyä mikä se vois olla.

Tämä tarttee 2 text boxsia (txtKaannettava, txtKaannettu) sekä Kääntö napin (cmdKäännä)

Ja koodi:

Private Sub cmdKäännä_Click()
Dim kaannettava As String
Dim kaannettu As String
Dim alusta As String
Dim lopusta As String
Dim kirjain As String
'Paljon dimmejä 8|

kaannettava = txtKaannettava.Text
lopusta = kaannettava

For i = 0 To Len(kaannettava)
    kirjain = Mid(kaannettava, alusta, alusta + 1)
    kaannettu = Mid(kaannettu, lopusta - 1, lopusta)
    alusta = alusta + 1
    lopusta = lopusta + 1
Next
txtKaannettu.Text = kaannettu
End Sub

Antti Laaksonen [08.01.2004 14:37:51]

#

Tekstin kääntäminen tapahtuu esim. näin:

Dim teksti As String, kaannetty As String
Dim i As Integer 'huom! kokonaislukutyyppi

teksti = "esimerkki"

'käydään jokainen merkkijonon kirjain läpi
For i = 1 To Len(teksti)
    'lisätään kirjain uuden merkkijonon alkuun
    kaannetty = Mid(teksti, i, 1) & kaannetty
Next

MsgBox kaannetty

Tai Visual Basicin kuutosversiossa näin:

Dim teksti As String, kaannetty As String

teksti = "esimerkki"

kaannetty = StrReverse(teksti)

MsgBox kaannetty

ZcMander [08.01.2004 14:40:26]

#

Jotenkin muistin että joku reverse hommase oli jolla tekstin saa nurinpäin... Kiitos vinkistä (taas) Antti. ja Hyvää uuttavuotta ohjelmointiputkaan ;)

Jasmin [10.01.2004 18:03:07]

#

Tämä muistuttaa hieman omaa ongelmaani. Kaikki on muuten hyvä, mutta tämä kääntää vain kirjaimet kerrallaan numeroiksi

If Text1.Text = "a" Then
Text2.Text = Text2.Text + "1"
End If
    If Text1.Text = "b" Then
Text2.Text = Text2.Text + "2"
    End If
    If Text1.Text = "c" Then
Text2.Text = Text2.Text + "3"
    End If

mikä vikana?

Antti Laaksonen [10.01.2004 21:41:01]

#

Kerropa hieman tarkemmin ongelmastasi, mitä ohjelman on tarkoitus tehdä?

Jasmin [11.01.2004 20:02:13]

#

o.k.... Minulla on kaksi laatikkoa. kun kirjoitan toiseen a niin 2 seen pitäisi tulla 1 ja kun kirjoitan heti jälkeen b niin kakkoseen pitäisi tulla 1 SEN jälkeen 2.

setä [11.01.2004 22:37:22]

#

Haluat siis, että kirjaimet korvautuvat aakkosjärjestyksen mukaisin numeroin.

Private Sub Text1_Change
    Text2 = ""
    For I = 1 to Len(Text1)
       Text2 = Text2 + Cstr(Asc(Mid(Text1, I, 1))-96)
    next
End Sub

Tämä toimii noilla pikkukirjaimilla

Jasmin [12.01.2004 15:17:28]

#

ei vaan että kun painan aata tulee toiseen tekstikenttään vaikka aapo yhdistelmä

setä [12.01.2004 16:37:27]

#

laitappa näin mitä haluat

Text1  Text2
  a      1
  b      2
  c      3
  ab     12
 aata   aapo

En minä ainakaan tiedä vielä mitä tarkoitat


Sivun alkuun

Vastaus

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

Tietoa sivustosta