import datetime import os import tkinter as tk from tkinter import messagebox baslangic_saati = None log_kaydedildi = False def hesapla_sure(baslangic_saati): bitis_saati = datetime.datetime.now() sure = bitis_saati - baslangic_saati return sure def hesapla_ucret(sure): dakika = sure.total_seconds() / 60 if dakika <= 30: fiyat = 5.0 else: ek_dakika = (dakika - 30) // 10 fiyat = 5.0 + ek_dakika * 1.0 return fiyat def uygulamayi_kapat(): cevap = messagebox.askquestion("Çıkış", "Çıkmak istediğinizden emin misiniz?") if cevap == "yes": pencere.destroy() def log_kaydet(): global log_kaydedildi if not log_kaydedildi: baslangic_saati_str = baslangic_saati.strftime("%d/%m/%Y %H:%M:%S") bitis_saati = datetime.datetime.now() sure = hesapla_sure(baslangic_saati) ucret = hesapla_ucret(sure) tarih_saat = datetime.datetime.now().strftime("%Y%m%d_%H%M%S") log_dosya = os.path.expanduser(r"C:\Users\Ahmet\AppData\Roaming\secret\log_{}.txt".format(tarih_saat)) with open(log_dosya, "w") as dosya: dosya.write("Başlangıç Saati: {}\n".format(baslangic_saati_str)) dosya.write("Bitiş Saati: {}\n".format(bitis_saati.strftime("%d/%m/%Y %H:%M:%S"))) dosya.write("Geçen Süre: {}\n".format(sure)) dosya.write("Ücret: {} TL\n".format(ucret)) log_kaydedildi = True def baslat(): global baslangic_saati, log_kaydedildi baslangic_saati = datetime.datetime.now() log_kaydedildi = False baslatma_zamani = baslangic_saati.strftime("%d/%m/%Y %H:%M:%S") baslatma_zamani_label.config(text="Başlangıç Saati: " + baslatma_zamani) baslat_button.config(state=tk.DISABLED) bitir_button.config(state=tk.NORMAL) def bitir(): log_kaydet() bitis_saati = datetime.datetime.now() sure = hesapla_sure(baslangic_saati) ucret = hesapla_ucret(sure) bitis_saati_label.config(text="Bitiş Saati: " + bitis_saati.strftime("%d/%m/%Y %H:%M:%S")) sure_label.config(text="Geçen Süre: {}".format(sure)) ucret_label.config(text="Ücret: {} TL".format(ucret)) baslatma_zamani_label.config(text="") bitis_saati_label.config(text="") sure_label.config(text="") ucret_label.config(text="") baslat_button.config(state=tk.NORMAL) bitir_button.config(state=tk.DISABLED) cevap = messagebox.askquestion("İşlem", "Başka bir işlem yapmak istiyor musunuz?") if cevap == "no": uygulamayi_kapat() pencere = tk.Tk() pencere.title("Internet Cafe Sistemi") pencere.geometry("600x400+360+100") pencere.configure(bg="#444444") saatlik_ucret_label = tk.Label(pencere, text="Saatlik ücret: 8 TL", pady=10, bg="#444444", fg="white") saatlik_ucret_label.pack() baslat_button = tk.Button(pencere, text="Başlat", command=baslat, width=20, height=2) baslat_button.pack(pady=20) bitir_button = tk.Button(pencere, text="Bitir", command=bitir, state=tk.DISABLED, width=20, height=2) bitir_button.pack() baslangic_frame = tk.Frame(pencere, bg="#333333") baslangic_frame.pack(pady=10) baslatma_zamani_label = tk.Label(baslangic_frame, text="Başlangıç Saati: ", bg="#333333", fg="white") baslatma_zamani_label.pack() bitis_frame = tk.Frame(pencere, bg="#333333") bitis_frame.pack(pady=10) bitis_saati_label = tk.Label(bitis_frame, text="Bitiş Saati: ", bg="#333333", fg="white") bitis_saati_label.pack() sure_label = tk.Label(pencere, bg="#444444", fg="white") sure_label.pack(pady=10) ucret_label = tk.Label(pencere, bg="#444444", fg="white") ucret_label.pack(pady=10) pencere.protocol("WM_DELETE_WINDOW", uygulamayi_kapat) pencere.mainloop()