PDA

View Full Version : Tự gán ngày kỷ niệm vào lịch (adding anniversaries to Calendar)


ynguyenvn
09-04-2013, 09:32 AM
Tự gán ngày kỷ niệm vào lịch (adding anniversaries to Calendar)
Chào mọi người,

Trong tuần này tôi đã viết xong 1 chương trình nhỏ bằng ngôn ngữ Python có thể chạy trên nền PyS60 (Python for S60).
Tôi sử dụng chương trình như sau:
1) Nhập ngày giỗ (âm lịch) và các ngày sinh nhật (dương lịch) vào 1 file văn bản. Ví dụ:

Trích dẫn:
10/03: Giỗ tổ
01/01*: Tết tây
....
; ngày/tháng có dấu * là ngày dương lịch.
2) Chạy chương trình: Nhập năm cần xử lý, ví dụ 2008
Chương trình sẽ đọc từng dòng từ file văn bản và đổi ngày âm lịch sang ngày dương lịch rồi tự gán vào ngày dương lịch trên Calendar của điện thoại.
Sau đó khi mở Calendar, ta sẽ thấy ngày giỗ, sinh nhật tương ứng.
Tôi không biết là diễn tả như vậy mọi người có nắm được hay không.
Nhận thấy là chương trình này cũng có ích vì lâu lâu ta chỉ phải cập nhật lại file văn bản và cho chạy chương trình thì sẽ không quên ngày giỗ, sinh nhật.
Chỉ cần chỉnh sửa chút ít là ta có thể gán ngày âm cho từng ngày dương lịch trên Calendar.
Phần đổi âm lịch sang dương lịch tôi dùng thuật toán Hồ Ngọc Đức (http://www.informatik.uni-leipzig.de/~duc/amlich/ (http://www.informatik.uni-leipzig.de/%7Educ/amlich/)) mô tả.
Nếu mọi người quan tâm, chúng ta sẽ trao đổi thêm.
(Tôi sẽ post source code lên diễn đàn sau).

Nguyễn Quốc Sản
(Dầu Tiếng - Bình Dương)
quocsan@gmail.com
Hình đính kèm http://www.pdaviet.net/attachment.php?attachmentid=102495&stc=1&d=1228572322 http://www.pdaviet.net/attachment.php?attachmentid=102496&stc=1&d=1228572322 http://www.pdaviet.net/attachment.php?attachmentid=102497&stc=1&d=1228572322


Source code
Các bạn tải file Lunar2Calendar.rar đính kèm và giải nén thành:
1) al.py: Thuật toán tính âm-dương lịch
2) AnnFrFile.py: Chương trình chính.
Trên máy các bạn cần cài pyS60 (python for S60). Hiện đã có bản 1.45
- Chép file al.py vào E:\python\Lib
- Nhập các ngày kỷ niệm và lưu theo dạng unicode vào file E:\Documents\Anni.txt
- Chạy chương trình.
- Nhập năm cần xử lý. Nếu bấm cancel thì sẽ dừng.
* Chú ý: Khi chương trình chạy, nó sẽ tìm và xóa các mục anniversary bắt đầu bằng ký tự "¤ " (xem AnnFrFile.py).
Vì vậy để chắc ăn, các bạn sao lưu các PIM của mình nhé.

Quốc Sản.

vntsinh
09-04-2013, 09:32 AM
Có ai dùng cái này chưa thì cho mình ý kiến đê.Nếu hay thì cài vào máy còn không thì thôi ( vì còn phải cài thêm python nữa).

ntungco-ltd
09-04-2013, 09:32 AM
Cái này hay lắm bạn à. Tạo 1 file text ghi các ngày cần lưu ý (kể cả AL lẫn DL) rồi sau đó xài hoài được. Tiện dụng vô cùng :)

trhai_co
09-04-2013, 09:32 AM
Tại sao bác không phát triển thành một phần mềm trong đó nhập luôn ngày kỷ niệm trong phần mềm đó nhỉ? Lúc đo có phải là chỉ cần chạy phần mềm không, không cần rắc rói như bây giờ!
PIM là gì vậy bác và làm thế nào để sao lưu và nhập lại? thứ lỗi cho em ngu muội!

ctymaythanhdat
09-04-2013, 09:32 AM
Xin trả lời ngắn ngắn:

PIM = Personal Information Management, nó bao gồm các thứ như danh bạ (contact), lịch hẹn (appointment), ... Để sao lưu có thể dùng chức năng backup của điện thoại.
Vì sao không viết thành phần mềm: Tôi cũng đang định tìm cách viết lại bằng C++ để dễ cài trên điện thoại nhưng cần có thời gian.
Hiện tại bạn chỉ chịu cực như sau:

Cài Python: Chỉ 1 lần cài
Tạo 1 file text chứa ngày kỷ niệm (có thể tạo từ PC rồi chuyển qua thẻ)
Chạy chương trình
Như vậy lâu lâu mới phải chỉnh file text 1 lần rồi chạy chương trình.
Để chương trình ở dạng file Python cũng có cái lợi: Dễ sửa đổi và bổ sung (nếu bạn biết lập trình).

Nguyễn Quốc Sản.

anhvuco
09-04-2013, 09:32 AM
sao mình cài py xong, không thấy icon nào hết, cũng không có thư mục E:\python\lib,
Mình đã tự tạo thư mục E:\python\lib để copy file AL.py vô, đã copy file anni.txt vô E:\documents nhưng chạy chương trình theo bạn nói là chạy cái gì vậy? chẳng có icon gì hết?:-/

nhungnguyen122
09-04-2013, 09:32 AM
Bạn copy AnnFrFile.py vô thư mục E:\python (nếu bạn cài python ở thẻ nhớ). Chạy python, vô option chọn Run script chọn AnnFrFile là xong ngay. Chúnc thành công :>

ctyxdcaosu
09-04-2013, 09:33 AM
a quốc sản ới ời !
năm kỷ sửu 2009 này có đến 2 tháng 5 lận
vậy muốn nó nhắc cho tháng 5 nhuận thì gõ làm sao?
10/03: Giỗ tổ
01/01*: Tết tây
05/05: tết đoan ngọ (trừ sâu bọ)
OK

còn mùng 5 tháng 5 nhuận (pó tay)****?

xnchebien
09-04-2013, 09:33 AM
Ồ! Dạo này mình khá bận.
Cũng đã sửa 1 ít, khi xong sẽ post lại.

factec2003
09-04-2013, 09:33 AM
Cho mình hỏi có chương trình nhắc nhở nào tương tự hoạt động trên cả âm lịch và dương lịch. Mà nó hoạt động năm (dành cho ngày giỗ, SN...)
Thanks