└── wordcounter.py /wordcounter.py: -------------------------------------------------------------------------------- 1 | import tkinter as tk 2 | import tkinter.messagebox 3 | import tkinter.filedialog 4 | import pyperclip 5 | 6 | class MultiCounterApp: 7 | def __init__(self, root): 8 | self.root = root 9 | self.root.title("Multi-Word Counter v1.5 by @FreddyDeveloper") 10 | 11 | self.label = tk.Label(root, text="Enter The Text:", fg="black", bg="lightgray") 12 | self.label.config(font=("Helvetica", 12, "bold")) 13 | self.label.pack(pady=10) 14 | 15 | self.text_box = tk.Text(root, height=30, width=80, fg="white", bg="blue") 16 | self.text_box.pack(padx=10) 17 | 18 | self.count_button = tk.Button(root, text="Analyze Text", command=self.count_all, fg="white", bg="green", width=15) 19 | self.count_button.pack(pady=5) 20 | 21 | self.clear_button = tk.Button(root, text="Clear Text", command=self.clear_text, fg="white", bg="blue", width=15) 22 | self.clear_button.pack(pady=5) 23 | 24 | self.result_label = tk.Label(root, text="Count: 0", fg="white", bg="red", width=100) 25 | self.result_label.pack(pady=10) 26 | 27 | self.paste_button = tk.Button(root, text="Paste Clipboard Text", command=self.paste_text, fg="white", bg="black") 28 | self.paste_button.pack(pady=5) 29 | 30 | self.save_button = tk.Button(root, text="Save As...", command=self.save_text, fg="white", bg="green", width=15) 31 | self.save_button.pack(pady=5) 32 | 33 | def count_all(self): 34 | text = self.text_box.get("1.0", "end-1c") 35 | char_count = len(text) 36 | self.result_label.config(text=f"Count: {char_count} characters") 37 | 38 | def clear_text(self): 39 | self.text_box.delete("1.0", "end") 40 | self.result_label.config(text="Count: 0 characters") 41 | 42 | def paste_text(self): 43 | clipboard_text = pyperclip.paste() 44 | self.text_box.delete("1.0", "end") 45 | self.text_box.insert("1.0", clipboard_text) 46 | 47 | text = self.text_box.get("1.0", "end-1c") 48 | char_count = len(text) 49 | self.result_label.config(text=f"Count: {char_count} characters") 50 | 51 | def save_text(self): 52 | text = self.text_box.get("1.0", "end-1c") 53 | file_types = [ 54 | ("Python", "*.py"), 55 | ("PHP", "*.php"), 56 | ("HTML", "*.html"), 57 | ("Text", "*.txt"), 58 | ("Word Document", "*.doc"), 59 | ("PDF", "*.pdf"), 60 | ("HTAccess", ".htaccess"), 61 | ("SQL", "*.sql"), 62 | ] 63 | file_path = tkinter.filedialog.asksaveasfilename(filetypes=file_types, defaultextension=".txt") 64 | 65 | if file_path: 66 | try: 67 | with open(file_path, "w") as file: 68 | file.write(text) 69 | tkinter.messagebox.showinfo("Saved", "Text saved successfully.") 70 | except Exception as e: 71 | tkinter.messagebox.showerror("Error", f"Error saving the file: {e}") 72 | 73 | if __name__ == "__main__": 74 | root = tk.Tk() 75 | app = MultiCounterApp(root) 76 | root.configure(bg="lightgray") 77 | root.mainloop() 78 | --------------------------------------------------------------------------------