Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Suomi-Englanti kääntäjän sanat?

p-p [16.11.2004 21:01:37]

#

Miten olis järkevintä tehdä Suomi-Englanti sanakirjan sanat?

if suomisana.text = "jee" or ensana.text = "yeah" then
suomisana = "jee"
ensana = "yeah"
end if

Vähän kun arvelen että tuommoista koodia ei kannata tehdä noin 10k zipaletta...Oliskos järkevää laittaa motuuliin?Voitteko pistää nyypälle esimerkkiä?

Tiedän...Ei mun kannattais tämmöst käy tekemään...

Antti Laaksonen [16.11.2004 21:04:46]

#

Tallenna sanat ja niiden käännökset tiedostoon ja lataa ne taulukkoon ohjelman alussa. Ei kannata kirjoittaa erillistä If-lausetta joka sanaa kohden, sillä se tietää paljon ylimääräistä kirjoittamista ja ohjelman koko kasvaa suureksi. Kunnollisessa sanakirjassa on tietenkin useampia merkityksiä samalle sanalle ja käyttöesimerkkejä. ;)

maka78 [17.11.2004 00:01:11]

#

tekisin ton ehkä tietokanta sovelluksena.

p-p [17.11.2004 19:19:15]

#

Antti Laaksonen kirjoitti:

Tallenna sanat ja niiden käännökset tiedostoon ja lataa ne taulukkoon ohjelman alussa.

Voitko pistää erkki esimerkkiä?

Antti Laaksonen kirjoitti:

Kunnollisessa sanakirjassa on tietenkin useampia merkityksiä samalle sanalle ja käyttöesimerkkejä. ;)

Hoidettu on ;)

Antti Laaksonen [17.11.2004 20:02:29]

#

Tässä tulee esimerkki. Tiedosto sanat.txt on:

kivi|stone
metsä|forest
puu|tree

Ja tämä ohjelma kysyy sanan ja kääntää sen englanniksi:

Dim sanat(1 To 100, 1 To 2) As String
Dim sanamaara As Integer

Sub LataaSanat()
    Dim rivi As String, i As Integer, k As Integer

    Open "sanat.txt" For Input As #1

    While Not EOF(1)
        i = i + 1
        Input #1, rivi
        k = InStr(rivi, "|")
        sanat(i, 1) = Left(rivi, k - 1)
        sanat(i, 2) = Mid(rivi, k + 1)
    Wend

    sanamaara = i

    Close #1
End Sub

Function HaeSana(sana As String) As String
    Dim k As Integer

    For k = 1 To sanamaara
        If sanat(k, 1) = sana Then
            HaeSana = sanat(k, 2)
            Exit Function
        End If
    Next
End Function

Private Sub Form_Load()
    LataaSanat
    MsgBox "Käännös: " & HaeSana(InputBox("Kirjoita sana:"))
End Sub

p-p [17.11.2004 20:43:05]

#

Kiitos Antti!!!Nyt pääsen jatkamaan mun rojektia. Kiitos sulle :D

Vastaus

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

Tietoa sivustosta