![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 12/2007
Mesaj: 5
|
JpSozluk programının 1.0 versiyonu pythonla yazılmıştır ve doğrudan www.japonca.da.ru sitesindeki veritabanına bağlanmaktadır. Program joomla / mambo bileşeni olan glossary (2.02 versiyonu) ile uyumlu olarak çalışmaktadır. Programın düzgün çalışabilmesi için: 1-Sisteminizde MySQLdb kütüphanesi (python-mysql adıyla dağıtılan paket) yüklenmemişse onu yükleyiniz. İşletim sisteminiz Windows ise muhtemelen kullandığınız python yorumlayıcısında Tkinter vardır fakat işletim sisteminiz Linux veya başka bir sistemse Tkinter bulunmayabilir. Bu durumda Tkinter kütüphanesini de yükleyiniz. 2-Progamın kodunu UTF8 olarak kaydediniz. 3-Programın bağlandığı veritabanında JpSozluk isimli bir tablo oluşturunuz veya kendi belirlediğiniz isimde bir tablo da olabilir fakat python kodundaki cursor.execute("SELECT alan2, alan3, alan4, alan5, alan6, alan7 FROM JpSozluk WHERE alan1 ='@jp'") satırını buna göre değiştiriniz. Tabloda 7 alan oluşturup bunlara alan1, alan2, alan3, alan4, alan5, alan6 ve alan7 ismini verdikten sonra alan1e @jp, alan2ye programın versiyon bilgilerini, alan3e program linki başlığını ve alan4e program linkini yazınız. İsterseniz bu tabloyu oluşturmak yerine ilgili kısmı python kodundan çıkarabilirsiniz. 4-cPaneldeki Remote MySQLden girip izin verilen host adresi olarak % işaretini ekleyiniz. Sisteminize uzaktan saldırı riskini azaltmak için programda kullanılmak üzere ayrı bir kullanıcı oluşturunuz ve sadece Select için yetki veriniz. Not: Programdaki veritabanı bağlantı ayarları güvenlik nedeniyle burada gösterilmemiştir. Kendi sitenize göre uyarlamak için aşağıdaki satırları kendi veritabanınıza göre değiştiriniz: veritabani="buraya veritabanı ismi yazınız" kullanici = "buraya kullanıcı ismi yazınız" hosturl = "buraya sunucu adresini yazınız" sifre="buraya veritabanı şifresini yazınız" Kod: # -*- coding: utf8 -*-
from Tkinter import *
from tkMessageBox import *
import MySQLdb
import re
import webbrowser
def ekoy(event):
Uz.insert(END, "ə")
def goster2(event):
index = uzl.curselection()[0]
seltext = uzl.get(index)
showinfo("Japonca Sözlük", seltext)
def dag(event):
try:
webbrowser.open(Info3)
except:
showwarning("Japonca Sözlük", "Beklenmeyen hata")
def sil(event):
Tr.delete(0, END)
uzl.delete(0, END)
def arat(event):
Ara()
def Ara():
cat=Dil.get()
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT id FROM mambo_categories WHERE title='" + cat + "'")
C=cursor.fetchmany(1)
cursor.close()
db.close()
catid=C[0]['id']
choice=v.get()
choice=choice.encode('UTF8')
uzG=Uz.get()
Uz.delete(0, END)
if re.search("[.@:<>?*{}/=&%+$^#!]", uzG) or uzG=="":
Tr.delete(0, END)
uzl.delete(0, END)
showwarning('Japonca Sözlük', 'Geçersiz karakter girdiniz veya kelime girmediniz!')
else:
uzG=re.sub("'", "\\'", uzG)
al= uzG #.encode('UTF8')
if choice=="aynısı":
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm='" + al + "' HAVING catid=" + str(catid))
R=cursor.fetchmany(1)
cursor.close()
db.close()
Tr.delete(0, END)
uzl.delete(0, END)
if len(R) == 0:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
else:
if R[0]['catid']==catid:
tr.config(text="Sonuç:", font=("Times New Roman", 10,"bold"))
uzl.insert(END, R[0]['tterm'])
Tr.insert(END, R[0]['tdefinition'])
else:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
if choice=="başlayan":
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm LIKE '" + al + "%' HAVING catid=" + str(catid))
R=cursor.fetchmany(10)
cursor.close()
db.close()
Tr.delete(0, END)
uzl.delete(0, END)
if len(R) == 0:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
else:
for i in range(len(R)):
if R[i]['catid']==catid:
tr.config(text="Sonuç:", font=("Times New Roman", 10,"bold"))
uzl.insert(END, R[i]['tterm'])
Tr.insert(END, R[i]['tdefinition'])
else:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
if choice=="kapsayan":
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm LIKE '%" + al + "%' HAVING catid=" + str(catid))
R=cursor.fetchmany(10)
cursor.close()
db.close()
Tr.delete(0, END)
uzl.delete(0, END)
if len(R) == 0:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
else:
for i in range(len(R)):
if R[i]['catid']==catid:
tr.config(text="Sonuç:", font=("Times New Roman", 10,"bold"))
uzl.insert(END, R[i]['tterm'])
Tr.insert(END, R[i]['tdefinition'])
else:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
if choice=="sonuçlar":
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tdefinition LIKE '%" + al + "%' HAVING catid=" + str(catid))
R=cursor.fetchmany(10)
cursor.close()
db.close()
Tr.delete(0, END)
uzl.delete(0, END)
if len(R) == 0:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
else:
for i in range(len(R)):
if R[i]['catid']==catid:
tr.config(text="Sonuç:", font=("Times New Roman", 10,"bold"))
uzl.insert(END, R[i]['tterm'])
Tr.insert(END, R[i]['tdefinition'])
else:
tr.config(text="Aradığınız kelime bulunamadı", font=("Times New Roman", 10,"bold"))
veritabani="buraya veritabanı ismi yazınız"
kullanici = "buraya kullanıcı ismi yazınız"
hosturl = "buraya sunucu adresini yazınız"
sifre="buraya veritabanı şifresini yazınız"
try:
db = MySQLdb.connect(host=hosturl, user=kullanici, passwd=sifre,db=veritabani, charset="utf8")
cursor=db.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT alan2, alan3, alan4, alan5, alan6, alan7 FROM JpSozluk WHERE alan1 ='@jp'")
R=cursor.fetchmany(1)
Info1 = R[0]['alan2']
Info2 = R[0]['alan3']
Info3 = R[0]['alan4']
Info4 = R[0]['alan5']
Info5 = R[0]['alan6']
Info6 = R[0]['alan7']
cursor.execute("SELECT title FROM mambo_categories WHERE section ='com_glossary' ORDER BY title")
TI=cursor.fetchall()
cursor.close()
db.close()
Sozluk=Tk()
Sozluk.config(width=600, height=400, bg="orange")
Sozluk.title("Japonca Sözlük")
F1=Frame(borderwidth=1, relief=RAISED)
title=[TI[0]['title']]
for i in range(len(TI)):
if title.count(TI[i]['title'])==0:
title.append(TI[i]['title'])
Dil = StringVar(F1)
Dil.set(title[0])
dil = apply(OptionMenu, (F1, Dil) + tuple(title))
dil.config(bg="orange", font=("Times New Roman", 10, "bold"))
dil.place(x=10, y=14)
dil.bind('<Button-1>', sil)
Uz=Entry(F1, font=("Times New Roman", 12, "bold"))
Uz.place(x=200, y=15)
Uz.bind('<Return>', arat)
Uz.bind('<F4>', ekoy)
v=StringVar()
v.set("başlayan")
for d in("başlayan", "kapsayan", "aynısı", "sonuçlar"):
Radiobutton(F1, text=d, value=d, variable=v, font=("Times New Roman", 10,"normal"), bg="orange").pack(side=LEFT, padx=15, pady=50)
ara=Button(F1, text="Ara", font=("Times New Roman", 10, "bold"), command=Ara)
ara.place(x=175, y=85, width=50)
F1.place(x=73, y=2, width=420)
F1.config(bg="orange")
tr=Label(text="Henüz arama yapmadınız", font=("Times New Roman", 10,"bold"))
tr.place(x=25, y=130)
tr.config(bg="orange")
uzl=Listbox(font=("Times New Roman", 12, "bold"))
uzl.place(x=21, y=150, width=250)
uzl.bind('<Double-1>', goster2)
Tr=Listbox(font=("Times New Roman", 12, "normal"))
Tr.place(x=272, y=150, width=308)
info1=Label(text=Info1, font=("Times New Roman", 10,"normal"))
info1.place(x=21, y=360)
info1.config(bg="orange")
info2=Label(text=Info2, font=("Times New Roman", 10,"normal"))
info2.place(x=21, y=377)
info2.config(bg="orange")
info3=Label(text=Info3, font=("Times New Roman", 10,"underline bold"))
info3.place(x=50, y=377)
info3.bind('<Button-1>', dag)
info3.config(bg="orange", fg="blue", cursor="hand2")
Sozluk.resizable(width=False,height=False)
Sozluk.mainloop()
except:
Baglanmadi=Tk()
Baglanmadi.config(width=150, height=75)
Baglanmadi.title("Japonca Sözlük")
bagl=Label(text="Bağlantı kurulamadı", font=("Times New Roman", 10,"normal"))
bagl.place(x=5, y=15)
Baglanmadi.resizable(width=False,height=False)
Baglanmadi.mainloop()
|
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 12/2007
Mesaj: 5
|
JpSozluk 2.0 Beta versiyonu AutoIt betik diliyle yazılmıştır. Program joomla / mambo bileşeni olan glossary (2.02 versiyonu) ile uyumlu olarak çalışmaktadır. JpSozluk.au (ANSI olarak kaydediniz) Kod: #include <INet.au3>
#include <GUIConstants.au3>
GUICreate("JpSözlük v.2.0 Beta ", 600, 400)
WinSetTrans("JpSözlük v.2.0 Beta", "", 250)
GUISetBkColor(0xFF9933)
GUICtrlCreateGroup ( "", 73, 2, 420, 120)
$combo_x=GUICtrlCreateCombo("Japonca-Türkçe", 88, 15, 150,100, 0x0003) ; create first item
GUICtrlSetData(-1, "Türkçe-Japonca")
GUICtrlSetFont(-1,10,600)
$araB=GUICtrlCreateInput("", 268, 15, 200, 25)
GUICtrlSetFont(-1,12,600)
$radio_1 = GUICtrlCreateRadio("başlayan", 88, 50, 80)
GUICtrlSetFont(-1,9,600)
$arama="1"
$sozluk="1"
$radio_2 = GUICtrlCreateRadio("kapsayan", 188, 50, 80)
GUICtrlSetFont(-1,9,600)
$radio_3 = GUICtrlCreateRadio("aynısı", 288, 50, 80)
GUICtrlSetFont(-1,9,600)
$radio_4 = GUICtrlCreateRadio("sonuçlar", 368, 50, 80)
GUICtrlSetFont(-1,9,600)
GUICtrlSetState($radio_1, $GUI_CHECKED)
$button_1 = GUICtrlCreateButton("Ara", 255, 85, 50)
GUICtrlSetFont(-1,9,600)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$list_1=GUICtrlCreateList("", 21, 150, 250,200,0)
GUICtrlSetFont(-1,9,800)
$list_2=GUICtrlCreateList("", 272, 150, 308, 200,0)
GUICtrlSetFont(-1,9,800)
GUISetState(@SW_SHOW)
Func Ara()
GUICtrlSetData($list_1,"")
GUICtrlSetData($list_2,"")
$ara=GUICtrlRead($araB)
if StringLen($ara)<2 Then
MsgBox(48, "JpSözlük", "Arama yaparken en azından iki karakter giriniz!")
Else
$ara=StringReplace($ara, "ş", "%C5%9F")
$ara=StringReplace($ara, "ç", "%C3%A7")
$ara=StringReplace($ara, "ü", "%C3%BC")
$ara=StringReplace($ara, "ö", "%C3%B6")
$ara=StringReplace($ara, "ı", "%C4%B1")
$ara=StringReplace($ara, "ğ", "%C4%9F")
$ara=StringReplace($ara, "û", "%C3%BB")
$ara=StringReplace($ara, "â", "%C3%A2")
$ara=StringReplace($ara, "î", "%C3%AE")
$ara=StringReplace($ara, "Ş", "%C5%9E")
$ara=StringReplace($ara, "Ç", "%C3%A6")
$ara=StringReplace($ara, "Ü", "%C3%BA")
$ara=StringReplace($ara, "Ö", "%C3%B5")
$ara=StringReplace($ara, "İ", "%C4%B0")
$ara=StringReplace($ara, "Ğ", "%C4%9E")
$ara=StringReplace($ara, "Û", "%C3%9B")
$ara=StringReplace($ara, "Â", "%C3%82")
$sonuc=_INetGetSource('sitenizin adresi/ara.php?sozluk=' & $sozluk &'&arama=' & $arama & '&kelime=' & $ara)
$sonuc=StringReplace($sonuc, "ÅŸ", "ş")
$sonuc=StringReplace($sonuc, "ç", "ç")
$sonuc=StringReplace($sonuc, "ü", "ü")
$sonuc=StringReplace($sonuc, "ö", "ö")
$sonuc=StringReplace($sonuc, "ı", "ı")
$sonuc=StringReplace($sonuc, "ÄŸ", "ğ")
$sonuc=StringReplace($sonuc, "É™", "ä")
$sonuc=StringReplace($sonuc, "û", "û")
$sonuc=StringReplace($sonuc, "â", "â")
$sonuc=StringReplace($sonuc, "î", "î")
$sonuc=StringReplace($sonuc, "İ", "İ")
if StringInstr($sonuc, "|")>0 Then
$sonuclar=StringSplit($sonuc, "|")
$son=$sonuclar[0]-1
if $son>13 then $son=13
for $x=1 TO $son
$ekle=StringSplit($sonuclar[$x], ":")
GUICtrlSetData($list_1, $x & " - " & $ekle[1])
GUICtrlSetData($list_2, $x & " - " & $ekle[2])
Next
Else
GUICtrlSetData($list_1, $sonuc)
EndIf
GUICtrlSetData($araB, "")
EndIf
EndFunc
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $button_1
Ara()
Case $msg = $araB
Ara()
Case $msg = $radio_1 And BitAND(GUICtrlRead($radio_1), $GUI_CHECKED) = $GUI_CHECKED
$arama="1"
Case $msg = $radio_2 And BitAND(GUICtrlRead($radio_2), $GUI_CHECKED) = $GUI_CHECKED
$arama="2"
Case $msg = $radio_3 And BitAND(GUICtrlRead($radio_3), $GUI_CHECKED) = $GUI_CHECKED
$arama ="3"
Case $msg = $radio_4 And BitAND(GUICtrlRead($radio_4), $GUI_CHECKED) = $GUI_CHECKED
$arama ="4"
Case $msg = $combo_x
if GUICtrlRead($combo_x)= "Türkçe-Japonca" Then
$sozluk="2"
else
$sozluk="1"
endif
Case $msg = $list_2
msgbox(64, "JpSözlük", GUICtrlRead($list_2))
EndSelect
WEnd
PHP Kodu: |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| I$ ilani (PHP + MySQL + Secure Coding) | ASA | Duyurular & İlanlar | 8 | 15/05/2003 16:37 |
| php kullanarak php.ini de mysql fonksiyonlarını aktive etmek? | mems | PHP | 7 | 03/05/2003 12:22 |
| PHP + Apache + MySQL Kurulum (Windows) | ASA | PHP | 2 | 28/04/2003 14:51 |
| PHP, Apache, MYSql | İnan | PHP | 1 | 28/10/2002 15:52 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |