Hiya,
When I was first learning to budget I would get gift certificates for everything that I had budgeted for the week- groceries, cloths, entertainment ect. Then I would take out a small amount in emergency and spending cash. Then I would turn my debit and credit card over to my boyfriend. It may seem extreme and time consuming but it made me accountable to someone, forced me to stick to a budget and gave me time to work on the issues that were causing me to overspend.
It's taken a while, but I can now pull out more cash during the week ( and have some left over at the end of the week - yeah

) I'm also thinking about regaining "control" of my debit card- at least for a couple of trial weeks.
Best of luck, it can be a hard thing to stop compusive spending, but I believe that you can do it!