Wednesday, March 26, 2014

ANOTHER PROGRAM FOR WORK


from Tkinter import *
import sqlite3
#Witten by Steve Atchison For Shawnee County March 26 2014
def cleargui():
    textwindow.delete("1.0",END)
    addent.delete(0,END)
def connectdb():
    connect = sqlite3.connect("mydata.db")
    cur = connect.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS addressdata(address text)")
def addtodatabase():    
    theadd=addent.get()
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    cur.execute("INSERT INTO addressdata VALUES(?)",([theadd.upper() + " - DELETED FROM GIS"]))
    connect.commit()
    getdata()
def getdata():
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM addressdata")
    cleargui()
    for row in thedata:
        textwindow.insert("100.0",row[0]+"\n")
def findadd():
    cleargui()
    addr=findentry.get()
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM addressdata WHERE address = ?",([addr]))
    for row in thedata:
        textwindow.insert("0.1",row[0])
    addent.delete(0,END)
def delrecord():
    addr=findentry.get()
    connect=sqlite3.connect("mydata.db")
    cur=connect.cursor()
    cur.execute("DELETE FROM addressdata WHERE address = ?",([addr]))
    connect.commit() #will not delete without this!
    cleargui()
    findentry.delete(0,END)
    getdata()

connectdb()#creates a database if none exists.

root=Tk()
root.title("REMOVED ADDRESS POINTS")
root.config(bg='black')
lbl=Label(root,text="ADDRESS TO REMVOE FROM GIS").pack()

menu2=Toplevel(root)
menu2.geometry('200x200')
menu2.config(bg="yellow")

addent=Entry(root,text="ADDRESS TO DELETE")
addent.pack()

textwindow=Text(root,background='white')
textwindow.pack()

btn=Button(root,text='Add to Database ',command=addtodatabase)
btn.pack()

btn2=Button(root,text="Show data",command=getdata)
btn2.pack()

btn3=Button(root,text="Clear window",command=cleargui)
btn3.pack()

findentry=Entry(menu2)
findentry.pack()

btn4=Button(menu2,text="Find Address",command= findadd)
btn4.pack(padx=10,pady=10)

delbutton=Button(menu2,text='DELETE',command=delrecord)
delbutton.pack(padx=10,pady=10)

root.mainloop()


Thursday, January 30, 2014

OLD PROGAM QUIT WORKING, SO I WROTE A NEW AND BETTER ONE.

#written by Steve Atchison for Shawnee County Feb 24 2014
from Tkinter import *
mxd = arcpy.mapping.MapDocument('CURRENT')

def textfunc400():
    thepin=ent1.get() #Get parcel number from the GUI

    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout400()
    layer_control()
    
def layout400():
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    
    mxd.activeView = 'Page_Layout'

    df = arcpy.mapping.ListDataFrames(mxd)[0]
    
    df.scale = 4800
    df.referenceScale = '2400'
    refresh()

def textfunc200():
    thepin=ent1.get() #Get parcel number from the GUI

    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout200()
    layer_control()     
def layout200():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    df.scale = 2400
    df.referenceScale = '1200'
    refresh()
def layout100():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]      
    df.scale = 1200
    df.referenceScale = '600'
    refresh()
def textfunc100():
    thepin=ent1.get() #Get parcel number from the GUI
    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout100()
    layer_control()
def textfunc50():
    thepin=ent1.get() #Get parcel number from the GUI
    for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
        if elm.name == "PIN":
            elm.text = str(thepin)    
    layout50()     
def layout50():
    df = arcpy.mapping.ListDataFrames(mxd)[0]     
    mxd.activeView = 'Page_Layout'
    df = arcpy.mapping.ListDataFrames(mxd)[0]      
    df.scale = 600
    df.referenceScale = '600'
    refresh()
    layer_control()
def layer_control():
    lyr=arcpy.mapping.ListLayers(mxd,'Parcel_Point')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'Parcel_Poly')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=False
    lyr=arcpy.mapping.ListLayers(mxd,'Owners')[0]
    lyr.visible=False
def photoon():
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=True
    refresh()     
def photooff():
    lyr=arcpy.mapping.ListLayers(mxd,'AERIALS_2012')[0]
    lyr.visible=False
    refresh()
def owneron():   
    lyr=arcpy.mapping.ListLayers(mxd,'Owners')[0]
    lyr.visible=True
    refresh()
def refresh():
    arcpy.RefreshActiveView()
    arcpy.RefreshTOC()  
    
layer_control()

root = Tk()
root.title("Steve's Layout Tool")
root.geometry("250x250")
root.config(bg="purple")

ent1=Entry(root)
ent1.pack()
btn3 = Button(root,text = "Map Title 400", command = textfunc400)
btn3.pack(padx=2,pady=2)
btn = Button(root, text = 'Map Title 200 ',command = textfunc200)
btn.pack(padx=2,pady=2)
btn2 = Button(root,text = "Map Title 100", command=  textfunc100)
btn2.pack(padx=2,pady=2)
btn4 = Button(root,text = "Map Title 50", command = textfunc50)
btn4.pack(padx=2,pady=2)
photobtn = Button(root,text = "Photo On", command = photoon)
photobtn.pack(padx=5, pady=5)
photobtn2 = Button(root,text = "Photo Off", command = photooff)
photobtn2.pack(padx=5,pady=5)
ownbtn=Button(root,text = "Show Owners", command = owneron)
ownbtn.pack()

ent1.insert(0,"Map Title")
root.mainloop()
 
#CLEAR REFERENCE SCALE AFTER USING THIS SCRIPT
#BE SURE AND CLOSE THE GUI OR IT WILL LOCK ARC MAP UP!   

Sunday, December 29, 2013

New program to help me with phone calls at work.


#!/usr/bin/python
from Tkinter import *
import sqlite3
#Witten by Steve Atchison 12/28/2013
def cleargui():
    textwindow.delete("1.0",END)
    parnumber.delete(0,END)
def connectdb():
    connect = sqlite3.connect("mydata.db")
    cur = connect.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS phonedata(parcelnum text, description text)")
def addtodatabase():
    parnum=parnumber.get()
    description=textwindow.get("1.0",END)
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    cur.execute("INSERT INTO phonedata VALUES(?,?)",([parnum,description]))
    connect.commit()
    cleargui()
def getdata():
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM phonedata")
    cleargui()
    for row in thedata:
        textwindow.insert("100.0","\n"+row[0]+"\n"+row[1]+"\n---------------------------------------------------------")
def findpar():
    cleargui()
    parnum=findentry.get()
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM phonedata WHERE parcelnum = ?",([parnum]))
    for row in thedata:
        textwindow.insert("0.1",row[0]+'\n\n'+row[1])
    parnumber.delete(0,END)
def delrecord():
    parnum=findentry.get()
    connect=sqlite3.connect("mydata.db")
    cur=connect.cursor()
    cur.execute("DELETE FROM phonedata WHERE parcelnum = ?",([parnum]))
    connect.commit() #will not delete without this!
    cleargui()
    findentry.delete(0,END)
    getdata()

connectdb()#creates a database if none exists.

root=Tk()
root.title("PARCEL INFO")
root.config(bg='dark blue')
lbl=Label(root,text="Parcel number").pack()

menu2=Toplevel(root)
menu2.config(bg="red")

parnumber=Entry(root,text="Deed number")
parnumber.pack()

textwindow=Text(root,background='white')
textwindow.pack()

btn=Button(root,text='Add to Database ',command=addtodatabase)
btn.pack()

btn2=Button(root,text="Show data",command=getdata)
btn2.pack()

btn3=Button(root,text="Clear window",command=cleargui)
btn3.pack()

findentry=Entry(menu2)
findentry.pack()

btn4=Button(menu2,text="Find parcel",command= findpar)
btn4.pack(padx=10,pady=10)

delbutton=Button(menu2,text='DELETE',command=delrecord)
delbutton.pack(padx=10,pady=10)

root.mainloop()


Saturday, November 30, 2013

Working on a database program for work, it saves letters.

from Tkinter import *
import sqlite3
#Witten by Steve Atchison 11/19/2013 for SHAWNEE COUNTY
def listletters():
    connect =sqlite3.connect("LETTER_data.db")
    cur = connect.cursor()
    letter = cur.execute("SELECT * FROM letters")
    cleargui()
    for row in letter:
        textwindow.insert("500.0",row[2])
   
def cleargui():
    textwindow.delete("1.0",END)
    deed.delete(0,END)
    pinnum.delete(0,END)
   
def connectdb():
    connect = sqlite3.connect("LETTER_data.db")
    cur = connect.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS letters(quickref text,pin text, letter text)")

def addtodatabase():
    quickref=deed.get()
    pin=pinnum.get()
    letter=textwindow.get("1.0",END)
   
    connect = sqlite3.connect("LETTER_data.db")
    cur=connect.cursor()
    cur.execute("INSERT INTO letters VALUES(?,?,?)",([quickref,pin,letter]))
    connect.commit()
    cleargui()

def getdata():
    connect = sqlite3.connect("LETTER_data.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM letters")
    for row in thedata:
        textwindow.insert("500.0",row[0]+"\n"+row[1]+"\n")

def addlettertotext():
    f=open('theletter.txt','r')
    for line in f:
        textwindow.insert("50.0",line)

def findquick():  
    cleargui()
    pinnum=quickent.get()
    connect = sqlite3.connect("LETTER_data.db")
    cur=connect.cursor()
    theletter = cur.execute("SELECT letter FROM letters where pin = (?)",([pinnum]))
    for line in theletter:
        textwindow.insert("50.0",line)
    quickent.delete(0,END)

def listpins():
    cleargui()
    connect=sqlite3.connect("LETTER_data.db")
    cur=connect.cursor()
    parcelnum = cur.execute("SELECT pin FROM letters")
    for row in parcelnum:
        print(row[0])
        textwindow.insert("100.0",row[0]+"\n")   

   
connectdb()#creates a database if none exists.

root=Tk()
root.title("LETTER DATABASE")
root.config(bg='green')
root.geometry('900x700')

top=Toplevel(root)
top.geometry("300x200")
top.config(bg="orange")
top.title("Add letter to database form")

top2=Toplevel(root)
top2.geometry("300x100")
top2.config(bg="light blue")
top2.title("List options")

lbl=Label(top,text="Quick Ref Number").pack()

deed=Entry(top)
deed.pack()

lbl2=Label(top,text="Parcel number").pack()
pinnum=Entry(top)
pinnum.pack()

textwindow=Text(root,width='800',height=35,background='white')
textwindow.pack()

add_to_txt=Button(top,text="IMPORT theletter.txt", command=addlettertotext)
add_to_txt.pack()

addtodatabase=Button(top,text='Add letter to Database ',command=addtodatabase)
addtodatabase.pack()

getpidbtn=Button(top2,text="List Letters", command= listletters)
getpidbtn.pack()

btn3=Button(root,text="Clear window",command=cleargui)
btn3.pack()

btn5=Button(root,text="Find using PIN", command=findquick)
btn5.pack()

listpinbtn=Button(top2,text="List PIN numbers",command=listpins)
listpinbtn.pack()

quickent=Entry(root)
quickent.pack()
root.mainloop()
#DON'T FORGET TO ADD THE QUICK REF NUMBER

Saturday, November 16, 2013

VIDEO OF MY PROGRAM


MY PROGRAM NOW SAVES TO A DATA BASE


from Tkinter import *
import sqlite3
#Witten by Steve Atchison 11/16/2013
def cleargui():
    textwindow.delete("1.0",END)
    deed.delete(0,END)

def connectdb():
    connect = sqlite3.connect("mydata.db")
    cur = connect.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS mytable(bookpage text, description text)")

def addtodatabase():
    deednum=deed.get()
    description=textwindow.get("1.0",END)
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    cur.execute("INSERT INTO mytable VALUES(?,?)",([deednum,description]))
    connect.commit()
    cleargui()

def getdata():
    connect = sqlite3.connect("mydata.db")
    cur=connect.cursor()
    thedata = cur.execute("SELECT * FROM mytable")
    for row in thedata:
        textwindow.insert("100.0",row[0]+"\n"+row[1]+"\n")

connectdb()#creates a database if none exists.

root=Tk()
root.title("PROPERTY DESCRIPTION DATABASE")
root.config(bg='lightblue')
lbl=Label(root,text="Deed number").pack()
deed=Entry(root,text="Deed number")
deed.pack()

textwindow=Text(root,background='white')
textwindow.pack()

btn=Button(root,text='Add to Database ',command=addtodatabase)
btn.pack()

btn2=Button(root,text="Show data",command=getdata)
btn2.pack()

btn3=Button(root,text="Clear window",command=cleargui)
btn3.pack()
root.mainloop()

Added Buttons and new functions to my Text Editor

from Tkinter import *
def cleargui():
    textwindow.delete("1.0",END)

def createfile(): #Creates a text file if none exitst.
    f=open('propertydescripts.txt','a')
   
   
def save_changes():
    f=open('propertydescripts.txt','a')
    theletter=textwindow.get("1.0",END)
    f.write('-----------------------------------------------------\n')
    f.write(theletter)
    f.close()
    cleargui()
    print("Edits saved ")

def loadletter():
    f=open('propertydescripts.txt','r')
  
    for line in f:
        textwindow.insert("300.0",line)#change the 300 to match file length

def showtext():
    f=open('propertydescripts.txt','a')
   
createfile()  
root=Tk()
root.title("Steve's simple text editor.")
root.config(bg='lightblue')
textwindow=Text(root,background='white')
textwindow.pack()
btn=Button(root,text='Append ',command=save_changes)
btn.pack()

btn2=Button(root,text="Show ", command=loadletter)
btn2.pack()

btn3=Button(root,text="Clear ", command=cleargui)
btn3.pack()

showtext()

root.mainloop()

Followers

Blog Archive

About Me

My photo
Biking helps me to cope with life.