moltenx Publish time 8-3-2012 01:00 PM

Dictionary menggunakan vb. minta tolong kepada yang mahir.

masalah saya skrg ni, bila saya debug je program ni dan tekan perkataan untuk mencari maksudnya dalam bahasa inggeris, ianya akan load lama sgt. kadang2 sampai not responding. ini contoh code yang saya guna. boleh tk bg tips untuk ringkaskan lagi code ni dan mempercepatkan lagi program ni.


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      If TextBox1.Text = "a" Then
            TextBox2.Text = "Huruf pertama dalam abjad rumi dan juga bermaksud sebuah, suatu, seorang, sebiji dll"
      ElseIf TextBox1.Text = "abaca" Then
            TextBox2.Text = "abaka, sejenis pokok"
      ElseIf TextBox1.Text = "aback" Then
            TextBox2.Text = "kebelakang"
      ElseIf TextBox1.Text = "abacus" Then
            TextBox2.Text = "detak-detak, sempoa sejenis alat penghitung"
      ElseIf TextBox1.Text = "abaft" Then
            TextBox2.Text = "pada (dekat) bunyikan kapal"

       End If
    End Sub
End Class

otai_g Publish time 8-3-2012 10:57 PM

program ni bleh translate 5 perkataan jer ker?

btw utk terjemahan tu x profesional di masukkan sebagai hard code. kan lebih elok kalo dimasukkan ke dalam fail lain such as text fail ker...

moltenx Publish time 8-3-2012 11:49 PM

eh tak laa. kalau boleh nak buat kamus sebetul-betul kamusnya. hee. dari A sampai Z.

"kan lebih elok kalo dimasukkan ke dalam fail lain such as text fail ker..."
tk berapa faham la. boleh jelaskan lebih detail tak?

terima kasih kerana sudi menjawab soalan saya ini.

otai_g Publish time 9-3-2012 12:23 AM

"kan lebih elok kalo dimasukkan ke dalam fail lain such as text fail ker..."
moltenx Post at 8-3-2012 23:49 http://mforum.cari.com.my/images/common/back.gif

what i mean is part of software design n maintenance.

dr segi design kalo nak masukkan perkataan huruf dr A smpi Z ke dalam hardcord, coding tu akan jd panjang dan next time susah nak edit takrifan perkataan dlm kamus tu.
so, bg memudahkan design, hard code just main peranan utk cari perkataan dan memaparkan perkataan sahaja. so maklumat2 semua disimpan di dalam 1 fail lain. fail lain ni kira mcm database. nak best pki databse yg canggih skit mcm sql, kureng skit amik excel or access atau paling cikai amik notepad pun blh.

err kalo x paham jgk, i cant help u la....

moltenx Publish time 9-3-2012 12:32 AM

Reply 4# otai_g


   ohh. okay. skrg da faham! sori2 blur sikit tadi. hm thanks! ianya sangat berguna. huhu. terima kasih sgt2.

meritokrasi Publish time 9-3-2012 12:37 AM

TT dah belajar database ke?
Dah belajar dah ke nak connect VB tu dengan database?
MySQL ke SQLite ke Access ke?

Paling cikai pun guna ajerlah TXT file, isi dictionary tu line by line, lepas tu baca file guna VB.

errrr... TT dah belajar bukak TXT file guna VB ke?

moltenx Publish time 9-3-2012 12:48 AM

tgh belajar kat youtube on how to connect vb with access. sql belum mahir lagi.

meritokrasi Publish time 9-3-2012 12:51 AM

Selamat beraccess...{:1_152:}

otai_g Publish time 9-3-2012 09:30 AM

nanti malam sy akan buatkan coding utk dictionary nih..

otai_g Publish time 9-3-2012 11:46 PM

Edited by otai_g at 17-8-2023 08:41 AM

Post Last Edit by otai_g at 17-3-2012 20:45

okies siap jgk akhirnya.

1st copy file database dulu dlm notepad dan namakan sebagai kamus.txt -> letakkan fail ni dlm partition C:\
cth fail :-


abaca=abaka, sejenis pokok
aback=kebelakang
abacus=detak-detak, sempoa sejenis alat penghitung
abaft=pada (dekat) bunyikan kapal         


my vb coding. x brp kemas, maybe otai2 leh cunkan skit coding ni. p/s: coding ni ada bug.


'copyright reserved
Private Sub Command1_Click()

'data initialize
DBPath = "c:\"
strBackSlash = IIf(Right$(DBPath, 1) = "\", "", "\")
strFileName = DBPath & strBackSlash & "kamus.txt"

'routine to calculate total lines of dictionary file
Dim counter As Long, tmp As String
counter = 0
Open strFileName For Input As #1
While Not EOF(1)
      Line Input #1, tmp
      counter = counter + 1
Wend
Close #1

'routine to store every line into array
Dim strArray() As String
Open strFileName For Input As #1
strArray = Split(Input(LOF(1), 1), vbCrLf)
Close #1

'routine to searching data
For i% = 0 To counter
    If Split(strArray(i%), "=")(0) = Text1.Text Then
      found% = i
      Text2.Text = Split(strArray(found%), "=")(1)
      Exit For
      
'   Else
'       MsgBox "Words Not Found. Try Again.", 0
'      Exit For
      
    End If
Next

End Sub

Private Sub exit_Click()
    Unload Me
End Sub

Public Sub Form_Load()

Text1.Text = "<words>"
Text2.Text = "<translation>"

End Sub


cth hasil akhir, program yg dah siap :-

http://s18.postimage.org/93rm9d6rt/dic.jpg

moltenx Publish time 12-3-2012 06:06 PM

Reply 10# otai_g


   hm. terima kasih byk2 otai_g. walaupun mcm blur sikit baca kod2 tu. tp skrg da faham =D

otai_g Publish time 13-3-2012 11:08 AM

Reply 11# moltenx

senang je algorithm program ni.

1. dia akan kira brp total line yg ada dlm kamus.txt
2. dia akan simpan setiap line dlm 1 array. thats mean kalo ada 100 line, 100 array la -> cr ni x brp baik sbb lg bnyk array lg slow performance.
3. dia akan search perkataan yg kita nak cr dlm array tu n display maknanya. makna setiap perkataan adalah selepas simbol =

actually coding ni bkn 100% aku buat. ada certain2 part rembat dr internet jah. n then sbg programmer kita x perlu la tau for every single line, kalo tau apa function tu buat pun da cukup sbb dlm certain2 situation kena pki jgk outsourcing like api, database engine n so on..

abundek Publish time 1-4-2012 10:39 PM

tak bagus ke guna collection?

http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

meritokrasi Publish time 1-4-2012 11:59 PM

tak bagus ke guna collection?
abundek Post at 1/4/2012 10:39 PM http://mforum.cari.com.my/images/common/back.gif


memanglah bagus Collection tu (malah lagi efisyen daripada Array) tapi otai_g bagi contoh yang basic, tak payah nak bergantung kepada mana-mana external library, kurang sikit dependency hell tu.....

naz0203 Publish time 2-10-2013 08:37 AM

haaa....mcm nie la baru bagus....
nak tanya tapi beri satu bukti yg mana ko dh usaha... gud!!!
teruskan... {:1_132:}


Pages: [1]
View full version: Dictionary menggunakan vb. minta tolong kepada yang mahir.


ADVERTISEMENT