Minggu, 28 Mei 2017

Kode Program Membuat Aplikasi Database Satu Tabel Dengan Bahasa Pemrograman Python

Kode Program Membuat Aplikasi Database Satu Tabel Dengan Bahasa Pemrograman Python

Python


Kode Program (Listing kode) nya untuk form barang dengan python :
File Frame1.py
#Boa:Frame:Frame1

import wx
import wx.grid

def create(parent):
    return Frame1(parent)

[wxID_FRAME1, wxID_FRAME1BITMAPBUTTON1, wxID_FRAME1BITMAPBUTTON2,
 wxID_FRAME1BITMAPBUTTON3, wxID_FRAME1BITMAPBUTTON4, wxID_FRAME1BUTTON1,
 wxID_FRAME1BUTTON2, wxID_FRAME1BUTTON3, wxID_FRAME1BUTTON4,
 wxID_FRAME1BUTTON5, wxID_FRAME1BUTTON6, wxID_FRAME1GRID1, wxID_FRAME1PANEL1,
 wxID_FRAME1STATICBITMAP1, wxID_FRAME1STATICTEXT1, wxID_FRAME1STATICTEXT10,
 wxID_FRAME1STATICTEXT2, wxID_FRAME1STATICTEXT3, wxID_FRAME1STATICTEXT4,
 wxID_FRAME1STATICTEXT5, wxID_FRAME1STATICTEXT6, wxID_FRAME1STATICTEXT7,
 wxID_FRAME1STATICTEXT8, wxID_FRAME1STATICTEXT9, wxID_FRAME1TEXTCTRL1,
 wxID_FRAME1TEXTCTRL2, wxID_FRAME1TEXTCTRL3, wxID_FRAME1TEXTCTRL4,
 wxID_FRAME1TEXTCTRL5, wxID_FRAME1TEXTCTRL6,
] = [wx.NewId() for _init_ctrls in range(30)]

class Frame1(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(195, 68), size=wx.Size(793, 642),
              style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
        self.SetClientSize(wx.Size(785, 608))
        self.Show(True)

        self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self,
              pos=wx.Point(0, 0), size=wx.Size(785, 608),
              style=wx.TAB_TRAVERSAL)

        self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label='Add',
              name='button1', parent=self.panel1, pos=wx.Point(64, 392),
              size=wx.Size(56, 23), style=0)
        self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button,
              id=wxID_FRAME1BUTTON1)

        self.button2 = wx.Button(id=wxID_FRAME1BUTTON2, label='Save',
              name='button2', parent=self.panel1, pos=wx.Point(128, 392),
              size=wx.Size(56, 23), style=0)
        self.button2.Bind(wx.EVT_BUTTON, self.OnButton2Button,
              id=wxID_FRAME1BUTTON2)

        self.button3 = wx.Button(id=wxID_FRAME1BUTTON3, label='Edit',
              name='button3', parent=self.panel1, pos=wx.Point(192, 392),
              size=wx.Size(56, 23), style=0)
        self.button3.Bind(wx.EVT_BUTTON, self.OnButton3Button,
              id=wxID_FRAME1BUTTON3)

        self.button4 = wx.Button(id=wxID_FRAME1BUTTON4, label='Delete',
              name='button4', parent=self.panel1, pos=wx.Point(256, 392),
              size=wx.Size(56, 23), style=0)
        self.button4.Bind(wx.EVT_BUTTON, self.OnButton4Button,
              id=wxID_FRAME1BUTTON4)

        self.textCtrl1 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL1, name='textCtrl1',
              parent=self.panel1, pos=wx.Point(200, 80), size=wx.Size(152, 21),
              style=0, value='')

        self.textCtrl2 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL2, name='textCtrl2',
              parent=self.panel1, pos=wx.Point(200, 120), size=wx.Size(152, 21),
              style=0, value='')

        self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1,
              label='Data Barang', name='staticText1', parent=self.panel1,
              pos=wx.Point(304, 16), size=wx.Size(132, 25), style=0)
        self.staticText1.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.BOLD,
              False, 'Tahoma'))

        self.textCtrl3 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL3, name='textCtrl3',
              parent=self.panel1, pos=wx.Point(200, 160), size=wx.Size(152, 21),
              style=0, value='')

        self.textCtrl4 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL4, name='textCtrl4',
              parent=self.panel1, pos=wx.Point(200, 200), size=wx.Size(152, 21),
              style=0, value='')

        self.textCtrl5 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL5, name='textCtrl5',
              parent=self.panel1, pos=wx.Point(200, 240), size=wx.Size(152, 21),
              style=0, value='')

        self.textCtrl6 = wx.TextCtrl(id=wxID_FRAME1TEXTCTRL6, name='textCtrl6',
              parent=self.panel1, pos=wx.Point(200, 280), size=wx.Size(152, 21),
              style=0, value='')

        self.staticText2 = wx.StaticText(id=wxID_FRAME1STATICTEXT2,
              label='Kode Barang', name='staticText2', parent=self.panel1,
              pos=wx.Point(64, 80), size=wx.Size(61, 13), style=0)

        self.staticText3 = wx.StaticText(id=wxID_FRAME1STATICTEXT3,
              label='Nama Barang', name='staticText3', parent=self.panel1,
              pos=wx.Point(64, 120), size=wx.Size(64, 13), style=0)

        self.staticText4 = wx.StaticText(id=wxID_FRAME1STATICTEXT4,
              label='Type Barang', name='staticText4', parent=self.panel1,
              pos=wx.Point(64, 160), size=wx.Size(61, 13), style=0)

        self.staticText5 = wx.StaticText(id=wxID_FRAME1STATICTEXT5,
              label='Picture File', name='staticText5', parent=self.panel1,
              pos=wx.Point(64, 200), size=wx.Size(52, 13), style=0)

        self.staticText6 = wx.StaticText(id=wxID_FRAME1STATICTEXT6,
              label='VA Barang', name='staticText6', parent=self.panel1,
              pos=wx.Point(64, 248), size=wx.Size(51, 13), style=0)

        self.staticText7 = wx.StaticText(id=wxID_FRAME1STATICTEXT7,
              label='Picture Web', name='staticText7', parent=self.panel1,
              pos=wx.Point(64, 288), size=wx.Size(58, 13), style=0)

        self.bitmapButton1 = wx.BitmapButton(bitmap=wx.Bitmap(u'C:/boa project/ico/top.gif',
              wx.BITMAP_TYPE_GIF), id=wxID_FRAME1BITMAPBUTTON1,
              name='bitmapButton1', parent=self.panel1, pos=wx.Point(64, 344),
              size=wx.Size(56, 24), style=wx.BU_AUTODRAW)
        self.bitmapButton1.Bind(wx.EVT_BUTTON, self.OnBitmapButton1Button,
              id=wxID_FRAME1BITMAPBUTTON1)

        self.bitmapButton2 = wx.BitmapButton(bitmap=wx.Bitmap(u'C:/boa project/ico/previous.gif',
              wx.BITMAP_TYPE_GIF), id=wxID_FRAME1BITMAPBUTTON2,
              name='bitmapButton2', parent=self.panel1, pos=wx.Point(128, 344),
              size=wx.Size(56, 24), style=wx.BU_AUTODRAW)
        self.bitmapButton2.Bind(wx.EVT_BUTTON, self.OnBitmapButton2Button,
              id=wxID_FRAME1BITMAPBUTTON2)

        self.bitmapButton3 = wx.BitmapButton(bitmap=wx.Bitmap(u'C:/boa project/ico/next.gif',
              wx.BITMAP_TYPE_GIF), id=wxID_FRAME1BITMAPBUTTON3,
              name='bitmapButton3', parent=self.panel1, pos=wx.Point(192, 344),
              size=wx.Size(56, 24), style=wx.BU_AUTODRAW)
        self.bitmapButton3.Bind(wx.EVT_BUTTON, self.OnBitmapButton3Button,
              id=wxID_FRAME1BITMAPBUTTON3)

        self.bitmapButton4 = wx.BitmapButton(bitmap=wx.Bitmap(u'C:/boa project/ico/bottom.gif',
              wx.BITMAP_TYPE_GIF), id=wxID_FRAME1BITMAPBUTTON4,
              name='bitmapButton4', parent=self.panel1, pos=wx.Point(256, 344),
              size=wx.Size(56, 24), style=wx.BU_AUTODRAW)
        self.bitmapButton4.Bind(wx.EVT_BUTTON, self.OnBitmapButton4Button,
              id=wxID_FRAME1BITMAPBUTTON4)

        self.staticText8 = wx.StaticText(id=wxID_FRAME1STATICTEXT8, label='0',
              name='staticText8', parent=self.panel1, pos=wx.Point(208, 312),
              size=wx.Size(78, 13), style=0)

        self.staticText9 = wx.StaticText(id=wxID_FRAME1STATICTEXT9,
              label='dari', name='staticText9', parent=self.panel1,
              pos=wx.Point(304, 312), size=wx.Size(18, 13), style=0)

        self.staticText10 = wx.StaticText(id=wxID_FRAME1STATICTEXT10, label='0',
              name='staticText10', parent=self.panel1, pos=wx.Point(344, 312),
              size=wx.Size(6, 13), style=0)

        self.button5 = wx.Button(id=wxID_FRAME1BUTTON5, label='Exit',
              name='button5', parent=self.panel1, pos=wx.Point(384, 392),
              size=wx.Size(56, 23), style=0)
        self.button5.Bind(wx.EVT_BUTTON, self.OnButton5Button,
              id=wxID_FRAME1BUTTON5)

        self.staticBitmap1 = wx.StaticBitmap(bitmap=wx.NullBitmap,
              id=wxID_FRAME1STATICBITMAP1, name='staticBitmap1',
              parent=self.panel1, pos=wx.Point(544, 232), size=wx.Size(184,
              160), style=0)

        self.grid1 = wx.grid.Grid(id=wxID_FRAME1GRID1, name='grid1',
              parent=self.panel1, pos=wx.Point(40, 440), size=wx.Size(568, 136),
              style=0)

        self.button6 = wx.Button(id=wxID_FRAME1BUTTON6, label='button6',
              name='button6', parent=self.panel1, pos=wx.Point(432, 240),
              size=wx.Size(75, 23), style=0)
        self.button6.Bind(wx.EVT_BUTTON, self.OnButton6Button,
              id=wxID_FRAME1BUTTON6)

    def __init__(self, parent):
        self._init_ctrls(parent)
        self.SetupDB()
      
  
        self.grid1.CreateGrid(self.JumlahRecord,6)
        self.grid1.SetColLabelValue(0,"Kode Barang")
        self.grid1.SetColLabelValue(1,"Nama Barang")
        self.grid1.SetColLabelValue(2,"Type Barang")
        self.grid1.SetColLabelValue(3,"Picture File")
        self.grid1.SetColLabelValue(4,"VA Barang")
        self.grid1.SetColLabelValue(5,"Picture Web")
        self.nn()
        self.SetGrid()
        self.nt()
  
    def SetupDB(self):
        import MySQLdb
        #import sqlite3
        self.db=MySQLdb.connect(host="localhost",user="root",passwd="awsm",db="ptun")
        #self.db=sqlite3.connect("C:/Documents and Settings/agus/My Documents/ptun.sqlite")
        self.cursor = self.db.cursor ()
        self.cursor.execute("""SELECT * FROM brgptun""")
        self.rows = self.cursor.fetchall ()
        self.row = self.rows[0]
        self.JumlahRecord = len(self.rows)
        self.PosisiRecord = -1
       
           
   
       
    def SetGrid(self):
        from reportlab.pdfgen import canvas
      
        c = canvas.Canvas("C:/dd.pdf")
        c.setLineWidth(3)
        c.setFont('Helvetica', 12)
        c.drawString(100,100,"dddddddddd")
      
       
        c2 = canvas.Canvas("C:/dd.pdf")
        c2.setLineWidth(3)
        c2.setFont('Helvetica', 12)
        c2.drawString(300,300,"xxxxxxxxxxxxxxxxx")
       
       
        
       
        baris = 0
        #bb=0
        while baris < self.JumlahRecord:
            self.grid1.SetCellValue(baris,0,"%s"%self.row[0])
            self.grid1.SetCellValue(baris,1,"%s"%self.row[1])
            self.grid1.SetCellValue(baris,2,"%s"%self.row[2])
            self.grid1.SetCellValue(baris,3,"%s"%self.row[3])
            self.grid1.SetCellValue(baris,4,"%s"%self.row[4])
            self.grid1.SetCellValue(baris,5,"%s"%self.row[5])
           
           
            #bb=150*baris
          
            #c.drawString(bb,500,self.row[0])
            #c.drawString(bb,400,self.row[1])
            #c.drawString(bb,300,self.row[2])
            #c.drawString(bb,200,self.row[3])
            #c.drawString(bb,100,self.row[4])
            #c.drawString(bb,0,self.row[5])
            c.save()
            c2.save()
            self.nn()
          
            baris = baris + 1  
           
       
           
        #c.save()
           
    def nn(self):
        if self.PosisiRecord < self.JumlahRecord-1:
            self.PosisiRecord = self.PosisiRecord + 1
            self.row = self.rows[self.PosisiRecord]
            self.textCtrl1.SetValue("%s"%self.row[0])
            self.textCtrl2.SetValue("%s"%self.row[1])
            self.textCtrl3.SetValue("%s"%self.row[2])
            self.textCtrl4.SetValue("%s"%self.row[3])
            self.textCtrl5.SetValue("%s"%self.row[4])
            self.textCtrl6.SetValue("%s"%self.row[5])
       
    def nt(self):  
        nt=self.JumlahRecord
        self.staticText10.SetLabel("%s"%nt)
       
    def OnBitmapButton2Button(self, event):
        if self.PosisiRecord > 0 :
            self.PosisiRecord = self.PosisiRecord - 1
            self.row = self.rows[self.PosisiRecord]
            self.textCtrl1.SetValue("%s"%self.row[0])
            self.textCtrl2.SetValue("%s"%self.row[1])
            self.textCtrl3.SetValue("%s"%self.row[2])
            self.textCtrl4.SetValue("%s"%self.row[3])
            self.textCtrl5.SetValue("%s"%self.row[4])
            self.textCtrl6.SetValue("%s"%self.row[5])
            nb=self.PosisiRecord+1
            self.staticText8.SetLabel("%s"%nb)
        event.Skip()

    def OnBitmapButton3Button(self, event):
       
        if self.PosisiRecord < self.JumlahRecord-1:
            self.PosisiRecord = self.PosisiRecord + 1
            self.row = self.rows[self.PosisiRecord]
            self.textCtrl1.SetValue("%s"%self.row[0])
            self.textCtrl2.SetValue("%s"%self.row[1])
            self.textCtrl3.SetValue("%s"%self.row[2])
            self.textCtrl4.SetValue("%s"%self.row[3])
            self.textCtrl5.SetValue("%s"%self.row[4])
            self.textCtrl6.SetValue("%s"%self.row[5])
          
            nb=self.PosisiRecord+1
            self.staticText8.SetLabel("%s"%nb)
        event.Skip()

    def OnBitmapButton1Button(self, event):
        self.PosisiRecord = 0
        self.row = self.rows[self.PosisiRecord]
        self.textCtrl1.SetValue("%s"%self.row[0])
        self.textCtrl2.SetValue("%s"%self.row[1])
        self.textCtrl3.SetValue("%s"%self.row[2])
        self.textCtrl4.SetValue("%s"%self.row[3])
        self.textCtrl5.SetValue("%s"%self.row[4])
        self.textCtrl6.SetValue("%s"%self.row[5])
        nb=self.PosisiRecord+1
        self.staticText8.SetLabel("%s"%nb)
        event.Skip()

    def OnBitmapButton4Button(self, event):
        self.PosisiRecord = self.JumlahRecord-1
        self.row = self.rows[self.PosisiRecord]
        self.textCtrl1.SetValue("%s"%self.row[0])
        self.textCtrl2.SetValue("%s"%self.row[1])
        self.textCtrl3.SetValue("%s"%self.row[2])
        self.textCtrl4.SetValue("%s"%self.row[3])
        self.textCtrl5.SetValue("%s"%self.row[4])
        self.textCtrl6.SetValue("%s"%self.row[5])
        nb=self.PosisiRecord+1
        self.staticText8.SetLabel("%s"%nb)
        event.Skip()

    def OnButton1Button(self, event):
        self.textCtrl1.SetValue("")
        self.textCtrl2.SetValue("")
        self.textCtrl3.SetValue("")
        self.textCtrl4.SetValue("")
        self.textCtrl5.SetValue("")
        self.textCtrl6.SetValue("")
        self.textCtrl1.SetFocus()
        event.Skip()

    def OnButton2Button(self, event):
        fin = open(self.textCtrl4.GetValue())
        img = fin.read()
        fin.close()
       
       
       
        sql="INSERT INTO brgptun(kbrgptun,nmbrgptun,typebrgptun,pictfilebrgptun,vabrgptun,pictfilewebbrgptun,pictbrgptun)VALUES('%s','%s','%s','%s','%s','%s','%s')"%(self.textCtrl1.GetValue(),self.textCtrl2.GetValue(),self.textCtrl3.GetValue(),self.textCtrl4.GetValue(),self.textCtrl5.GetValue(),self.textCtrl6.GetValue(),self.db.escape_string(img))
        #sql="INSERT INTO brgptun(kbrgptun,nmbrgptun,typebrgptun,pictfilebrgptun,vabrgptun,pictfilewebbrgptun)VALUES('%s','%s','%s','%s','%s','%s')"%(self.textCtrl1.GetValue(),self.textCtrl2.GetValue(),self.textCtrl3.GetValue(),self.textCtrl4.GetValue(),self.textCtrl5.GetValue(),self.textCtrl6.GetValue())
        
        self.cursor.execute(sql)
        self.db.commit()
       
        #self.SetupDB()      
        event.Skip()

    def OnButton3Button(self, event):
       
        self.cursor.execute("SELECT pictbrgptun FROM brgptun LIMIT 1")

        self.fout = open('D:/datasem/htdocs/fox.gif','wb')
        self.fout.write(cursor.fetchone()[0])
        self.fout.close()

        #fin = open(self.textCtrl4.GetValue())
        #img = fin.read()
        #bb=wx.Bitmap(u'D:/datasem/htdocs/fox.gif',wx.BITMAP_TYPE_GIF)
        bb=wx.Bitmap(cursor.fetchone()[0])
        self.staticBitmap1.SetBitmap(bb)
        event.Skip()

    def OnButton4Button(self, event):
        sql = "DELETE FROM brgptun WHERE kbrgptun ='%s'"%(self.textCtrl1.GetValue())
      
        self.cursor.execute(sql)
        self.db.commit()
       
        #self.SetupDB()
        event.Skip()

    def OnButton5Button(self, event):
        self.Destroy()
        event.Skip()

    def OnButton6Button(self, event):
      
        event.Skip()

  

   

   
       


app = wx.App(0)
Frame1(None)
app.MainLoop()

Tidak ada komentar:

Posting Komentar