• Dastur oynasi.
  • Pythonda matnni kirildan lotinga va lotindan kiril alifbosiga o'tkazuvchi dastur yaratish




    Download 0.87 Mb.
    bet7/10
    Sana10.04.2023
    Hajmi0.87 Mb.
    #50154
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    Raximova Sanobar
    893429, Ijtimoiy pedagogik texnalogiyasi strukturasi va mazmuni, Sheriyatda petik uslub va ijodiy individuallik, TOʻPLAMLAR USTIDA AMALLAR, SHAXSIY ISH REJA yangi. X. Maxmudov (3), 1-Internet ma`lum, Mustaqillik yillarida ijrochilik (1), АндДУ 1-сонли баён ижроси, Ochiq dars 2021 Pilla chuvish sexida hosil boladigan chiqindilar, 1.Ахборот ва унинг ахамияти, АСТРОФИЗИКА, Xakimova Gulchiroy, Kurs ishi titul yangi, Turgunova Madina
    2. Pythonda matnni kirildan lotinga va lotindan kiril alifbosiga o'tkazuvchi dastur yaratish.
    Idora va ofislarda ishlovchi hodimlar yoki boshqa shunga o'xshash soha egalari kompyuterda matnni kirildan lotinga va aksincha o'tkazishiga to'g'ri keladi. Har xil dasturlash tillari yordamida ko'plab kiril-lotin dasturlari yaratilgan. Men ham oldingi maqolalarimda JavaScript tilida kiril-lotin web sahifasini yaratgan edim(bu yerda). Bu maqolada python dasturlash tilida shu dasturni yaratishni o'rganamiz.

    Dastur oynasi.
    Ishni modullarni bog'lash va dastur oynasini yaratishdan boshlaymiz.
    from tkinter import *# tkinter moduuliga bog'laymiz
    from tkinter.filedialog import *
    oyna=Tk() #Oyna yaratib olamiz.
    oyna.title("Kiril-Lot dasturi")#dastur sarlavhasi;
    oyna.geometry("860x400")#oyna o'lchamlari;
    oyna.configure(bg="dodger blue")#fon rangi.
    Dasturda matn yozish va tahrirlash uchun bitta Text vidjetini joylashtirib olamiz. Dastur oynasiga matn joylashtirish uchun Label dan foydalanamiz.
    Label(oyna, text="Matnni kirildan lotinga va lotindan kirilga o'tkazishingiz mumkin.",bg="dodger blue").place(x=20, y=10)#Label vidjeti;
    scrollbar = Scrollbar(oyna)#Scrollbar vidjeti;
    scrollbar.pack(side=RIGHT, fill=Y)
    matn=Text(oyna, height=20, width=100)#Text vidjetini yaratish.
    matn.place(x=20, y=30)
    matn.config(yscrollcommand=scrollbar.set)
    scrollbar.config(command=matn.yview)
    Text vidjetiga ko'p qatorli matn yozilganda uning maydonga sig'magan qismlarini ko'rish uchun Scrollbar vidjetini joylashtirdik. Harflarni saqlash uchun kiril va lot listlarini yaratib olamiz. Bu listlar yordamida matndagi harflar bir-biri bilan almashtiriladi.
    Matndagi harflarni almashtirish uchun 2 ta funksiya yaratib olamiz.
    #Kirildan lotinga o'tkazish funksiyasi.
    def lotinga():
    s=matn.get(1.0,END)
    for i in range(len(kiril)):#list uzunligiga mos sikl yaratamiz
    s=s.replace(kiril[i],lot[i])#replace orqali matnni almashtirib chiqaramiz
    matn.delete(1.0,END)#oldingi matnni o'chirib tashlaymiz
    matn.insert(END,s)#yangi matnni joylashtiramiz
    #Lotindan kirilga o'tkazish funksiyasi.
    def kirilga():
    s=matn.get(1.0,END)
    for i in range(len(kiril)):
    s=s.replace(lot[i],kiril[i])
    matn.delete(1.0,END)
    matn.insert(END,s)
    Matnni boshqa alifbo harflariga o'tkazish uchun replace() almashtirish funksiyasidan foydalanamiz. Barcha harflar almashishi uchun for sikliga joylashtiriladi. len(kiril)-orqali takrorlanishlar soni harflar soni bo'yicha aniqlanadi.
    Dasturimizga matnni saqlash va fayldan ochish imkoniyatini ham qo'shamiz.
    def ochish():#fayldan ochish funksiyasini yaratamiz
    fayl=askopenfilename(filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")])#ochish dialog oynasini hosil qilamiz
    if not fayl:
    return
    matn.delete(1.0,END)
    with open(fayl,"r") as faylga:#fayl o'zgaruvchisi orqali fayllga bog'laymiz
    mtn=faylga.read()#fayldan matnni o'qish olish
    matn.insert(END,mtn)#fayldagi ma'lumotni Text vidjetiga yozamiz
    #Matnni xotiraga saqlash.
    def saqlash():#faylga saqlash funksiyasini yaratamiz
    fayl=asksaveasfilename(defaultextension="txt",filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")],)#saqlash dialog oynasini hosil qilamiz
    if not fayl:
    return
    with open(fayl,"w",encoding="utf-8") as fayldan:#faylni ochamiz
    mtn=matn.get(1.0,END)
    fayldan.write(mtn)#faylga ma'lumot yoziladi
    Button vidjeti yordamida 4ta boshqarish tugmalarini joylashtiramiz.
    Button(oyna, text="Fayldan ochish", command=ochish).place(x=40, y=360)
    Button(oyna, text="Faylga saqlash", command=saqlash).place(x=150, y=360)
    Button(oyna, text="Kirildan lotinga o'tkazish", command=lotinga).place(x=290, y=360)
    Button(oyna, text="Lotindan kirilga o'tkazish", command=kirilga).place(x=450, y=360)
    va oyna.mainloop()-dastur oynasini ekranga chiqaramiz.
    Dasturimiz tayyor. Dasturning to'liq kodi:
    from tkinter import *#tkinter modulini bog'lab olamiz
    from tkinter.filedialog import *
    oyna=Tk() #Oyna yaratib olamiz.
    oyna.title("Kiril-Lot dasturi")#Oyna sarlavhasi
    oyna.geometry("860x400")#Oyna o'lchamlari
    oyna.configure(bg="dodger blue")#dastur fon rangi
    Label(oyna, text="Matnni kirildan lotinga va lotindan kirilga o'tkazishingiz mumkin.",bg="dodger blue").place(x=20, y=10)#label yordamida oynada matn chiqaramiz
    scrollbar = Scrollbar(oyna)#ko'p qatorli matnni ko'rish uchun scrollbar joylashtiramiz
    scrollbar.pack(side=RIGHT, fill=Y)
    matn=Text(oyna, height=20, width=100)#matn kiritish va tahrirlash maydoni hosil qilamiz
    matn.place(x=20, y=30)#matn maydoni kordinatalari
    matn.config(yscrollcommand=scrollbar.set)
    scrollbar.config(command=matn.yview)
    #Kiril harflar listini yaratib olamiz.
    kiril=["ю","Ю","я","Я","ё","Ё","ш","Ш","ч","Ч","ў","Ў",
    "қ","Қ","ғ","Ғ","ц","Ц","й","Й","у","У","к","К",
    "е","Е","н","Н","г","Г","щ","Щ","з","З","х","Х",
    "э","Э","ж","Ж","д","Д","л","Л","о","О","р","Р",
    "п","П","а","А","в","В","ф","Ф","с","С","м","М",
    "и","И","т","Т","б","Б","қ","Қ","ҳ","Ҳ","ғ","Ғ","ь"]
    #Lotin harflar listini yaratib olamiz.
    lot=["yu","Yu","ya","Ya","yo","Yo","sh","Sh","ch","Ch","o'","O'",
    "q","Q","g'","G'","ts","Ts","y","Y","u","U","k","K","e","E",
    "n","N","g","G","sh","Sh","z","Z","x","X","e","E","j","J",
    "d","D","l","L","o","O","r","R","p","P","a","A","v","V","f",
    "F","s","S","m","M","i","I","t","T","b","B","q","Q","h","H",
    "g'","G'","`"]
    #Kirildan lotinga o'tkazish funksiyasi.
    def lotinga():
    s=matn.get(1.0,END)
    for i in range(len(kiril)):#list uzunligiga mos sikl yaratamiz
    s=s.replace(kiril[i],lot[i])#replace orqali matnni almashtirib chiqaramiz
    matn.delete(1.0,END)#oldingi matnni o'chirib tashlaymiz
    matn.insert(END,s)#yangi matnni joylashtiramiz
    #Lotindan kirilga o'tkazish funksiyasi.
    def kirilga():
    s=matn.get(1.0,END)
    for i in range(len(kiril)):
    s=s.replace(lot[i],kiril[i])
    matn.delete(1.0,END)
    matn.insert(END,s)
    #Xotiradan matn faylini ochish.
    def ochish():#fayldan ochish funksiyasini yaratamiz
    fayl=askopenfilename(filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")])#ochish dialog oynasini hosil qilamiz
    if not fayl:
    return
    matn.delete(1.0,END)
    with open(fayl,"r") as faylga:#fayl o'zgaruvchisi orqali fayllga bog'laymiz
    mtn=faylga.read()#fayldan matnni o'qish olish
    matn.insert(END,mtn)#fayldagi ma'lumotni Text vidjetiga yozamiz
    #Matnni xotiraga saqlash.
    def saqlash():#faylga saqlash funksiyasini yaratamiz
    fayl=asksaveasfilename(defaultextension="txt",filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")],)#saqlash dialog oynasini hosil qilamiz
    if not fayl:
    return
    with open(fayl,"w",encoding="utf-8") as fayldan:#faylni ochamiz
    mtn=matn.get(1.0,END)
    fayldan.write(mtn)#faylga ma'lumot yoziladi
    #Boshqarish uchun tugmalar joylashtiramiz.
    Button(oyna, text="Fayldan ochish", command=ochish).place(x=40, y=360)#ochish tugmasi place-kordinatalari
    Button(oyna, text="Faylga saqlash", command=saqlash).place(x=150, y=360)
    Button(oyna, text="Kirildan lotinga o'tkazish", command=lotinga).place(x=290, y=360)
    Button(oyna, text="Lotindan kirilga o'tkazish", command=kirilga).place(x=450, y=360)
    oyna.mainloop()#yaratgan forma oynamiz namoish etiladi
    Bu dastur python o'rnatilgan kompyuterlarda ishlaydi. Foydalanish qulay bo'lishi uchun alohida .exe ilova ko'rinishiga o'tkazib olamiz. Buning uchun pyinstaller kutubxonasi kerak bo'ladi. Bu kutubxonani o'rnatish uchun buyruqlar satriga pip install pyinstaller buyrug'ini kiritamiz.
    Pyinstaller kutubxonasi bir marta o'rnatiladi va to'liq o'rnatilgandan so'ng undan bemalol foydalanishingiz mumkin.
    Pythonda yaratgan dasturimizni bitta exe fayliga o'tkazamiz. Dastur kodlari saqlangan papkani buyruqlar satrida ochib olamiz. 

    Download 0.87 Mb.
    1   2   3   4   5   6   7   8   9   10




    Download 0.87 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Pythonda matnni kirildan lotinga va lotindan kiril alifbosiga o'tkazuvchi dastur yaratish

    Download 0.87 Mb.