topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 6:18 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)  (Read 54587 times)

app103

  • That scary taskbar girl
  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 5,884
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #25 on: December 26, 2010, 01:23 AM »
App, what program did you create the icon with?  I don't know much about this, but I assume you set white as the transparent color, and that's what helps make it look good on the form's title bar?

I have never done my icons completely in an icon editor...always did the art in an app more suited to creating art and then importing it into the icon software. There was no setting of any color as transparent.

I used Paintshop Pro v7 to do the actual image, starting with a transparent background and building everything in layers on top of that, saving as a png (auto-merges layers, preserves transparent background), then importing the png into IcoFx

IcoFx is free, and you can use whatever art program you prefer (Photoshop, Gimp, Paintshop Pro, etc).

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #26 on: December 26, 2010, 07:41 AM »
Nice job!  :Thmbsup:  Thanks again  :)

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #27 on: December 26, 2010, 06:41 PM »
Okay, I just released v0.94, a fairly hefty update (adds about another 150 lines of code).  See the Version History of the OP for details, but this newest version includes the ability for the developer to log-in to his email account and selectively download any emails that have been sent by program users (presumably DC members) -- including their individual excuse files as email attachments.

Tested this with eight emails in my Inbox (3 of which matched criteria the program looks for).  Dowloaded 3 sets of email attachments (5 attachments per set), and copied them into a separate subdirectory for each emailer.

Quite pleased with this  :D

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #28 on: December 27, 2010, 03:52 PM »
Version 0.95 doesn't really introduce any new functionality, so far as users would notice, but it's important in that it isolates what can be a moderately intensive foreach-loop (that retrieves and processes emails) into its own BackgroundWorker thread, so that the UI doesn't become "choppy"/unresponsive.

I'm also thankful to fodder and Ath for their help in another thread with some InnoSetup questions I had.  I'm learning a lot by working on this project, and that's what it's all about!

Version 0.96 will examine all downloaded attachments (which are the excuse files that the program's users have emailed to me), and will process them.  This will involve determining:

  • the overall number of excuse files downloaded
  • the total number of program users who have sent excuse files as email attachments
  • how many total excuse files each individual program user has sent
  • the total number of times each individual has sent an email

... that kind of stuff.  I'll use these excuse files to programmatically build a webpage and upload to my website, for everyone to enjoy.

I also plan to make the text boxes for "Excuse" and "Result" multiline-capable, so that those that need to type a bit more can do so.
« Last Edit: December 31, 2010, 06:56 PM by kyrathaba »

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #29 on: December 29, 2010, 05:15 PM »
I've about got NEM wrapped up.  I'll upload installer and screencast either tonight or tomorrow.

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #30 on: December 30, 2010, 10:05 PM »
The OP has been edited to include links to screencasts demonstrating a few program features.  As I've stated in a previous post, I conceived "N.A.N.Y Excuse Manager" in a rather tongue-in-cheek fashion.  I don't expect very many DC members will actually use it.  But it's been a good programming workout for me, and has, in the process, provided me with a foundation upon which I believe I'll be able to build a Play-By-Email game.

Among the new areas I got into in this endeavor, I was able to get my mind around the .NET backgroundWorker object, which can run lengthy processes on a separate thread (so as not to lock-up the UI), while still updating the UI with progress updates.  I also got my hands dirty fooling with a FileSystemWatcher object.  It prevents any non-excuse file from being placed in the Excuses folder.  To be honest, it does this on the basis of filename extension.  It doesn't really scrutinize files at the binary level (although that wouldn't be difficult to code).

Anyway, I've thought of several ways that I should abstract this project's code a bit, so that it could be repurposed in a number of interesting ways.

If anyone thinks they could make use of the code's utility, I can share the code.
« Last Edit: December 31, 2010, 11:04 AM by kyrathaba »

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #31 on: December 31, 2010, 11:06 AM »
It doesn't really scrutinize files at the binary level (although that wouldn't be difficult to code).

Regarding my previous post, note the part I made bold and a hyperlink (the part I quote above).  It got to bothering me that my code just checked file extension, rather than checking a file at the binary level to see if it was of the same type as a custom-defined class.

So, I've updated my C# Errata to include a solution.  The entire posting is here.

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #32 on: December 31, 2010, 11:17 AM »
Go do it the fancy way and use layered windows instead. UpdateLayeredWindow is the epic function you want. It's a pain to use, but you can get really pretty results with it. smiley

@worstje:  I wound up rolling-my-own (uncomment the line assigning an image to splash.BackgroundImage; of course, you have to embed an image resource in your application, first):

Code: C# [Select]
  1. public Form1() {
  2.             InitializeComponent();
  3.             this.StartPosition = FormStartPosition.CenterScreen;
  4.         }
  5.        
  6.  
  7.         private void Form1_Load(object sender, EventArgs e) {
  8.            
  9.             Form splash = new Form();
  10.             splash.Size = this.Size;
  11.             splash.StartPosition = this.StartPosition; //same as Form1
  12.             splash.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
  13.             //splash.BackgroundImage = ExcuseManager.Properties.Resources.kyr_splash;
  14.  
  15.             this.Hide();    //hide our main form...
  16.             splash.Show();  //...and show splash screen
  17.  
  18.             System.Threading.Thread.Sleep(3000);
  19.             splash.Dispose(); //leaving Form1 visible
  20.          
  21.         }
« Last Edit: December 31, 2010, 06:59 PM by kyrathaba »

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #33 on: December 31, 2010, 06:10 PM »
ALL, best wishes for a wonderful New Year!  My family and I will be departing shortly for a New Year's Eve church service.

I've updated the OP considerably today.  The final N.A.N.Y. 2011 release version is v0.96q.  Yeah, I did a lot of revision work on v0.96, probably as much as v0.9 through v0.95 all combined.

Congratulations to all the folks who are submitting New Apps for the New Year!  I'm looking forward to seeing everyone's submission, and the reviews!  Thanks to Perry for all the time and energy he's spent coordinating things.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #34 on: January 07, 2011, 05:41 PM »
such a strange program.. it might be interesting to see if you could put some of this code to use in a more general purpose application :)

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #35 on: January 07, 2011, 07:43 PM »
Well, as I've said in some of my previous posts, I didn't really expect this program to be much-used by DCers.  It was pledged rather tongue-in-cheek (reading the program's Description).  That said, I've learned the following things while coding it, which certainly can (and hopefully will) be put to a useful application in the near future):

  • How to programmatically send and retrieve Gmail using C#
  • How to download/upload files programmatically using C#
  • How to make use of separate threads for intensive tasks, using C#
  • How to use a FileSystemWatcher object to monitor file changes, using C#

As I think I posted elsewhere, I'm hoping to use what I've learned to development a play-by-email game.  Had there been any interest shown, I'd have fully fleshed out the reporting features of the program, collating the excuses generated by DCers and maybe adding a vote-for-your-favorite feature.

So, I think I agree with you that it's a strange program, in that it probably isn't going to appeal much in its current incarnation.  I see it as a good foundational work for the following future applications:

  • a group novel-writing app, that keeps all group members in synch with what the others have written (includes version control)
  • as I've said, I have a couple ideas for play-by-email games
  • a few more ideas, still rather nebulous

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #36 on: January 07, 2011, 07:50 PM »
I see it as a good foundational work for the following future applications

yep -- those sound really interesting and cool, and i definitely think you'll find use for those functions.  looking forward to it.

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #37 on: December 14, 2011, 08:23 PM »
I'll upload an excuse. I can't program. Leeeeeech! : )

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: NANY 2011 Release: NANY Excuse Manager (v0.96 as of 12/30/10)
« Reply #38 on: December 14, 2011, 08:27 PM »
I'll Upload an excuse.

":I can\'t program.excuse.
You cannot upload that type of file. The only allowed extensions are txt,jpg,gif,mpg,png,zip,rar,7z,ahk,fbs,mov,avi,mpg,rm,exe,mid,mp3,wav,grid,opml,wmv,tgz,gz,xml,ini,alias,wma,ogg. "

Doesn't take native excuses!