Ceviz Forum

Geri Dön   Ceviz Forum > Sistem > Uygulama Yazılımları / Hazır Betikler

Cevapla
 
LinkBack Seçenekler
Eski 19/08/2008, 16:11   #1 (permalink)
Üye
 
Üyelik Tarihi: 12/2007
Mesaj: 5
Varsayılan JpSozluk python + mysql, AutoIt + php kodları

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()
kasıb hatta değil   Alıntı Yaparak Yanıtla
Eski 19/08/2008, 16:29   #2 (permalink)
Üye
 
Üyelik Tarihi: 12/2007
Mesaj: 5
Varsayılan

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
ara.php (UTF8 olarak kaydediniz)
PHP Kodu:
<?php
$kelime
=$_GET['kelime'];
$arama=$_GET['arama'];
$sozluk=$_GET['sozluk'];
$kelime=trim($kelime);

if (
strlen($kelime) < 2)
{
echo 
'Arama yaparken en azından 2 harf giriniz';
} else {

$dbhost 'buraya sunucu adresini yazınız ';
$dbuser 'buraya kullanıcı ismi yazınız';
$dbpass 'buraya veritabanı şifresini yazınız';
if (
$sozluk=="1")
{
$catid="58";
}
if (
$sozluk=="2")
{
$catid="59";
}
$conn mysql_connect($dbhost$dbuser$dbpass) or die('Error connecting to mysql');
$dbname 'buraya veritabanı ismi yazınız';
mysql_select_db($dbname);
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_general_ci'");
if (
$arama=="1")
{
$query "SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm LIKE '".$kelime."%' HAVING catid=".$catid;
$result mysql_query($query);
while(
$row mysql_fetch_row($result))
{
    
$name    $row[0];
    
$subject $row[1];
    echo 
"$name:" .
         
"$subject|";

if (
strlen($name)==0)
{
echo 
"sonuç yok!";
}
mysql_close($conn);
}

if (
$arama=="2")
{
$query "SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm LIKE '%".$kelime."%' HAVING catid=".$catid;
$result mysql_query($query);
while(
$row mysql_fetch_row($result))
{
    
$name    $row[0];
    
$subject $row[1];
    echo 
"$name:" .
         
"$subject|";


if (
strlen($name)==0)
{
echo 
"sonuç yok!";
}
mysql_close($conn);
}

if (
$arama=="3")
{
$query "SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tterm='".$kelime."' HAVING catid=".$catid;
$result mysql_query($query);
while(
$row mysql_fetch_row($result))
{
    
$name    $row[0];
    
$subject $row[1];
    echo 
"$name:" .
         
"$subject|";


if (
strlen($name)==0)
{
echo 
"sonuç yok!";
}
mysql_close($conn);
}

if (
$arama=="4")
{
$query "SELECT tterm, tdefinition, catid FROM mambo_glossary WHERE tdefinition LIKE '%".$kelime."%' HAVING catid=".$catid;
$result mysql_query($query);
while(
$row mysql_fetch_row($result))
{
    
$name    $row[0];
    
$subject $row[1];
    echo 
"$name:" .
         
"$subject|";


if (
strlen($name)==0)
{
echo 
"sonuç yok!";
}
mysql_close($conn);
}
}
?>
kasıb hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

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


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 03:05.

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 |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net