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...
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ä. ;)
tekisin ton ehkä tietokanta sovelluksena.
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 ;)
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 SubKiitos Antti!!!Nyt pääsen jatkamaan mun rojektia. Kiitos sulle :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.