topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • Friday May 16, 2025, 1:38 am
  • 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

Recent Posts

Pages: prev1 ... 59 60 61 62 63 [64] 65 66 67 68 69 ... 122next
1576
Version 1.0.1.2

Ok, now, by default, files in the /obj/ subdirectory of your project are excluded. You can uncheck the checkbox if you want to count them.

sclc1012.png
1577
Newest version available for download is v1.0.0.3, and adds the ability to import Historical Event files (*.hevnt). The key combination Ctrl-I brings up the Import file-open dialog.
1578
Easy enough. I'll try to get to it in the day few hours.
1579
Living Room / Re: Who's up for a DonationCoder talk show?
« Last post by kyrathaba on January 20, 2012, 01:07 PM »
Maybe one of your segments could feature a brief interview with one or two NANY 2012 devs.
1580
Okay, I've updated the program to scan XAML files. You can redownload, or you should just be able to update the program using the "Update" button in the About dialog, accessible under the Help menu.

Lines as found in the file should be good enough, I guess.

Does this.
1581
Unfinished Requests / Re: idea: time between two time & dates
« Last post by kyrathaba on January 20, 2012, 07:26 AM »
@tomos: "How Long Since?" lives in this thread.
1582
Application Name BlackJack
Version 1.1
Short Description my implementation of the classic Black Jack card game
Supported OSes Windows XP forward
Download Link A link to the game executable (no setup) {won't function if you don't have .NET Framework 4.0 installed} (~117 Kb)
Setup File A link to the Setup program {will check for absence of .NET Framework 4.0 and download if needed} (419 Kb)
System Requirements

Author kyrathaba Profile page Kyrathaba DC page


Description
This was a project I did for C# Programming School

Destined to replace those oh-too-flashy Black Jack derivatives that have come out over the years, this minimalist implementation is a breath of fresh air! -- PC Magazine.

What!  This program is FREE!??  A crime, that's what it is!  Someone slap the developer around until he starts showing some sense and charging for this gem of genius! -- Gamasutra



Features


+ a smart-ass card Dealer
+ a functional card Class in the source code
+ ability to place bets of differing amounts based upon the first card you're dealt
+ intuitive GUI
+ source code: download link

Planned Features

+ I may add option for Vegas casino music
+ May add option to change starting Max cash available to player
+ Add ability to whip out a pistol and waste the smart-ass Dealer
+ An option for the Dealer to cheat by using a marked deck of playing cards.

I would appreciate suggestions for future features of the program.

Screenshots




Usage

Installation

Download and run the Setup installer. Alternatively, download the ZIP file and extract BlackJack.exe wherever you wish. Keep the directory structure intact when unzipping.  Run the program.

Using the Application

The GUI is super-intuitive.

Uninstallation

Use the uninstall Program Files menuitem; or, if you didn't use the setup installer, just delete the extracted file.

No registry entries or INI files are written by the Black Jack program itself.

Known Issues

None.


1583
Application Name N.A.N.Y. Excuse Manager
Version
The most recent version is 0.96q
Short Description Manage your excuses for not producing a N.A.N.Y. application
Supported OSes WinXP, Vista, 7
Download LinkExcuse Manager (zipped) (75.5 Kb) will not check for presence of .NET Framework 4.0
Download LinkExcuse Manager Inno Setup (409 Kb) will check for presence of .NET Framework 4.0
Download Link Although I'm not releasing the entire project source code, here is a download link for the Excuse class  :P
The Big Picture


The program is intended to be used not only by end-users, but also by the developer.  End-users create/edit/email their excuses.  The developer programmatically retrieves Excuse files and downloads these email attachments, where the developer's copy of the program processes them and creates HTML reports of the data, publishing it online for the edification of all program users.


Important Note: Although not yet implemented as of v0.96q, which was my final submission before the contest ended, I do have test-code written and will be implementing functionality wherein the program takes the processed Excuses that it receives by email, collates the processed data into a nice HTML file, uploads it to my website, an then emails users of the program the link to the online report.






Webcast InfoThe following screencasts should be viewed in the order listed, beginning with "Installing the Program"
Webcastinstalling the program
Webcastrunning the program for the first time
Webcastsending excuse files via email
Webcastretrieving excuse files via email
Version HistoryVersion 0.9 (released 12-24-2010)
  • basic creation and editing of excuses
  • serialization of excuses
  • ability to browse for subdirectory of choice for storing excuses
Version 0.91 (released 12-24-2010)
  • fixed three bugs
  • added ability to email excuses to developer
  • added notification, to form Title Bar, of number of excuses found in selected directory
Version 0.92 (released 12-25-2010)
  • added splash screen
  • added menu option to show splash screen infrequently (you're welcome)
Version 0.93 (released 12-25-2010)
  • added the excellent icon by App103 (thank you!)
  • added menu options to vary splash screen duration
Version 0.94 (released 12-26-2010) -- the code to download multiple emails from multiple DC users was quite involved
  • removed unused using statements from source code files
  • added error-checking to method querying DC username before emailing the developer with copies of your excuse files
  • added the ability for the developer to retrieve (after supplying a password) all excuse files that have been emailed to him as attachments
  • added convenient keyboard shortcut: Escape key exits application
Version 0.95 (released 12-27-2010)
  • placed code that retrieves and processes multiple emails in its own BackgroundWorker thread, so as not to destabilize the UI
  • modified InnoSetup so that it uses the correct icon, such that the icon displays prettily (with transparency in the right places) in the Desktop shortcut (see screenshot below)
Version 0.96 (released 12-30-2010)
  • corrected error of omission: program will NOW update title bar with # excuses found, just as soon as you select a directory using Folder button and the BrowseForDirectory dialog.
  • added a mutex synchronization primitive to guard against multiple instances of our program running simultaneously.
  • renamed some #regions and some variable names, to improve source code clarity
  • commented the code more significantly
  • implemented a FileSystemWatcher object, with related event handlers, so that even if a file gets added or deleted (or even changed) from outside our program (say, from Windows Explorer, for instance), our program's UI reflects this and/or alerts us appropriately
  • made the form slightly taller, so that the text boxes could be multiline.
  • used a boolean in conjunction with Form1_Activated() to ensure description textbox gets focus when program first loads.
  • added option to view, via Windows Explorer, the contents of the application data folder
  • added menu item to allow developer to process downloaded excuse files.  Uses a second BackgroundWorker object -- again, to keep UI from freezing.
  • the biggest feature of 0.96 over 0.95 is the addition of the ability to process retrieved emails' attachments and generate a report.  Unfortunately for most end-users, other than the developer, this feature won't be accessible.
  • used an obfuscating routine to better protect a password included in the installation.
System Requirements

Author kyrathaba Profile page Kyrathaba DC page

Description
The purpose of this little program is to allow you to record the many excuses you've come up with for why you're not writing a N.A.N.Y. entry.  Of course, I've written the program to be able to handle excuses for just about anything, but its intent is as stated above.


Features

See the Version History information above.

Planned Features

I welcome your suggestions.

One idea I had was to have the program check my website for uploaded excuses, and launch the user's default browser to view them.  Perhaps the program would download a local copy and allow the user to vote for their favorites, then email the developer these ratings for later inclusion in the webpage...

Usage
Installation
How do you install and run the Application for the first time?

Use either of the two links above that you wish.  You can either install manually, which merely involves extracting the zipped folder and its contents to your desired location, then running the app.  Or, you can download and run the Inno Setup file and run it.

Using the Application

See the "About" menu for brief instructions.

Uninstallation

Either delete the manually extracted folder, which contains the applications and its files; or, run the uninstaller from your Program Files menu.

Known Issues

You tell me.  Seems to be working well.
1584
Living Room / Re: As a counter-point to the SOPA/PIPA demonstration
« Last post by kyrathaba on January 20, 2012, 07:06 AM »
I agree that 2012 will be pivotal. The hideous shadow of world government is looming. It's becoming (well, has been becoming for years) a world of sheeple ruled by the elite.
1585
Kyrathaba Software / Re: Kyrathasoft Source Code Line Counter
« Last post by kyrathaba on January 20, 2012, 06:56 AM »
Do you have such a project handy? If you could zip the entire project folder with its subfolders and post it here, I'll download it and use it as a test case.
1586
Kyrathaba Software / Re: Kyrathasoft How Long Since?
« Last post by kyrathaba on January 19, 2012, 08:46 PM »
New version prevents illegal characters from being used for the short description, since the short description is used as a file-name when a historical event is saved to disk.

Also, be aware that the conversion of the time from local PC time to UTC can have the effect of shifting the day's date forward 1 day. For example, if you entered December 28, 1970 11:57 PM and saved it while running the program on a PC set to Central Standard Time, when you clicked on the saved item in the listbox, you'll see the Date and Time change to Dec. 29, 1970 5:57 AM.  Same moment in history, but the shift occurs because we've converted to UTC.

Also, be aware that one year is actually 365.25 days, which is why every 4 years is a Leap Year, and adds a 29th day to February.  So if you're watching the one-year-elapsed-time mark arrive on one of your events, you're going to see this:

howLongSince1YearAgo.png

"0y" doesn't change to "1y" until the Days part of the elapsed time TimeSpan  is 91.25.
1587
Kyrathaba Software / Re: Kyrathasoft Crocus Contacts
« Last post by kyrathaba on January 19, 2012, 07:58 PM »
That's me alright, although I'd just trimmed my horns off and had the nubs dermabrased  :P
1588
Announce Your Software/Service/Product / Re: Debut of "How Long Since?"
« Last post by kyrathaba on January 19, 2012, 07:51 PM »
sinceDcEstablished.png
1589
Application Name Found Money
Version 1.0.1.6
Short Descriptionmanage your pocket change or "found money" and track it over time...
Supported OSes Windows XP forward
Setup File link to download setup file
PAD file URLhttp://kyrathaba.dcm...y/FoundMoney_PAD.xml
System Requirementsrequires .NET 4.0 Framework (installer will D/L and install it if needed)
Author Infocoded by kyrathaba | Profile page | Kyrathaba DC page | author of Kyrathaba's Source Code Line Counter. My past NANY entries include: Crocus Contacts, Blackjack, and NANY Excuse Manager.
DescriptionWe all do it: find a dime on the sidewalk, or a quarter in the floorboard of our vehicle.  Lots of people pick these up as "found money".  Superstitious people sometimes make sure the coin is heads-up first, though :)  And many people empty their pockets at the end of the work-day, and save their pocket change.  I myself have a separate coffee mug for each coin type: pennies, nickels, dimes, quarters.  Naturally, each mug is a DC mug...

I've been doing this for a long time.  Several times over the years I've emptied a big jar of coins and cashed out $200 to $350 at my local bank.  Wouldn't it be nice if there was a program, preferably FREE, that tracked this "found money" (or the money your kid sticks in his or her piggy-bank)?  Well, thankfully, DC member caddo requested just such an app and, intrigued, I created it.  I give you "Found Money"!  For anyone wanting background on this app, you may refer to this link.
Features
  • add each "find", specifying the number of each type of coin and bill found, the location it was found, and the date.
  • edit previously saved files (maybe you accidentally assigned the wrong date, or got the number of quarters wrong, etc.)
  • show and browse data for all saved records, or for a subset of those records falling inclusively between two dates
  • intelligently query the records: "Now what day was that when I found the silver dollar in the men's lavatory?"
  • pie charts visually show the ratio of coins to other coins, bills to other bills
  • alongside the pie charts is a textual breakdown of coin/bill percentages, both of total coins vs bills, and in terms of overall money
  • allows you to set a backup directory (I recommend using this with a Dropbox subdirectory)
Screenshots
Installationuse the Inno Setup installer
Using the applicationAny special pointers about using the app should go here...
Uninstallinguse Windows' Add/Remove Programs applet, or your favorite uninstaller, or the built-in Inno Setup uninstaller
Known Issuesnone known: please report any your find, preferably with specific steps to reproduce the error, and a screenshot of the problem
Notable mentionsdotTech article
Alternative Software[url=https://www.donationcoder.com/forum/index.php?topic=21021.0]Skwire's "Piggy Bank"


1590
Kyrathaba Software / Kyrathasoft Christian Prayer Minder (a NANY 2012 entry)
« Last post by kyrathaba on January 19, 2012, 06:27 PM »
Application Name Christian Prayer Minder
Version 1.0.7.3 (attention: prayer files from versions prior to 1.0.0.9 aren't compatible with later versions of the program; If you currently have v1.0.1.1 or earlier installed, please manually install version 1.0.6.9 after uninstalling any previous version. From now on, you should be able to update from within the program as usual. If you have v1.0.1.2 or later installer, you should be able to download the updated installer from within your currently running program.)
Short Descriptionprovides informative texts on prayer-related topics, plus enables easy save/retrieve/edit prayer files, and searching prayer files based on tags and/or author
Supported OSes Windows XP forward
Setup File (4.95 M) http://kyrathaba.dcm...count/click.php?id=8
Memory Footprintroughly 10 Mb
System Requirementsrequires .NET Framework v4.0 (program detects if absent, and will download/install it if permission is given)
Author InfoDC member kyrathaba, developer of these other NANY 2012 entries: Found Money, Kyrathaba's Hangman, and Source Code Line Counter. My past NANY entries include: Crocus Contacts, Blackjack, and NANY Excuse Manager. Later NANY entries include 2x2 List Sorter (download here), and KyrTTS (Kyrathasoft's Text-to-Sound) (download here).
DescriptionI realize that there are relatively few Christianity adherents here. Nevertheless, for those of us who are, I believe that this program offers something valuable. I began thinking about writing this application several weeks ago, after a series of conversations with my pastor in which we discussed how it's often difficult to concentrate while trying to pray. We've also discussed the need for a tool that acts as a prayer reminder, and one that can track written prayers and offer search functionality. Finally, we wanted a tool that allows the user to come back at a later time to a prayer and offer thoughts/insights into prayer-answers, or meditations on the prayer itself.  This tool will also, in future updates, allow the user to customize prompts and prompt-frequencies for various types of prayer (praise, intercession, supplication, etc.) The program could also be used to store diary/journal entries, although that isn't its intended purpose.
Screencast
Features
  • built-in CHM Help file
  • pray at the speed of typing (for me, that's about 85 wpm)
  • enter author, and any related tags to help in future searches (or omit them)
  • main form features fantastic background images, many of them by [url=http://www.jrbell.com/]J. R. Bell
  • twelve fore-/back-color schemes for the "My Prayers" panel
  • option to launch application when Windows starts
  • ten in-depth articles on prayer-related topics
  • articles on spiritual disciplines, and the Biblical plan of salvation
  • ability to print the article, or whatever portion of its text is selected
  • recommended further reading (some titles with accompanying URLs)
  • real-time filesystem watcher monitors for creation/deletion/renaming of prayer files
  • informative message-boxes
  • program uses index files to make searching for specific prayer files faster
  • warns user if they attempt to save a prayer file in a non-MyPrayers directory
  • error-trapping correctly detects and handles case where user attempts to load a non-PrayerMinder file
  • click a Search result in ListBox to view its filename, lastModified date, path to file, Author, and tags
  • double-click the Search result entry to load that prayer file
  • zero Registry footprint
  • you can now increase or decrease font size in the MyPrayers textbox by selecting your desired font size in Options
  • three ways to exit application: close button, file menu, or Escape key
  • optional "Did You Know" dialog at program startup
  • search either by author and/or tags, using indexes (fast: on the order of milliseconds)
  • search within prayer file contents for a search phrase, returning all files that contain that search phrase (slow: seconds, not milliseconds)
  • if you double-click a Search results listbox entry and it is the result of a search-within-for-phrase Search, the search-phrase is highlighted when the prayer file is loaded
  • smart-saving removes any excess whitespace from the prayer before saving it
  • option to set a backup directory (makes program compatible with using Dropbox for backing up the program's data files)
  • option to password individual author-name, so that user can't create files with that author name or load files authored by that author without the proper password
Favorite method in this project: bgWorkerSearch_DoWork()
Spoiler
Code: C# [Select]
  1. void bgWorkerSearch_DoWork (object sender, DoWorkEventArgs e) {
  2.  
  3.             log.write("We have entered the background worker that does the heavy-lifting in Searches...");
  4.             DateTime _start = DateTime.Now;
  5.             clsSearcherArgument arg = (clsSearcherArgument)e.Argument;
  6.  
  7.             #region ifDebuggerAttachedGiveSomeInfo
  8.  
  9.             if (Debugger.IsAttached) {
  10.  
  11.                 string msg = "Search type: " + ((SearchType)arg.SearchType).ToString() + Environment.NewLine;
  12.  
  13.                 msg += "Search ";
  14.                 msg += (arg.SearchType == (int)SearchType.SearchWithinFiles) ? " phrase: " : " tag(s): ";
  15.                 if (arg.searchPhraseOrTags.Length > 0) {
  16.                     msg += arg.searchPhraseOrTags + Environment.NewLine;
  17.                 } else {
  18.                     msg += "[none]" + Environment.NewLine;
  19.                 }
  20.  
  21.                 msg += "Author filter: ";
  22.                 if (arg.searchedForAuthor.Length > 0) {
  23.                     msg += arg.searchedForAuthor + Environment.NewLine;
  24.                 } else {
  25.                     msg += "[none]" + Environment.NewLine;
  26.                 }
  27.  
  28.                 msg += "Time constraint: " + ((TimeConstraint)arg.timeConstraint).ToString();
  29.  
  30.                 MessageBox.Show(msg);
  31.  
  32.             }
  33.  
  34.             #endregion
  35.  
  36.             #region setUpNeededVariables            
  37.  
  38.             DirectoryInfo di = new DirectoryInfo(pathToMyPrayers);
  39.             FileInfo[] fi = di.GetFiles();
  40.             List<clsPrayerInfo> information = new List<clsPrayerInfo>();
  41.            
  42.             int totalPrayerFiles = fi.GetLength(0);
  43.             string searchedForAuthor = arg.searchedForAuthor.Trim().ToLower();
  44.             string searchedForPhrase = arg.searchPhraseOrTags.Trim().ToLower();            
  45.             int examined_so_far = 0;
  46.             int hits = 0;
  47.             int time_constraint = arg.timeConstraint;
  48.             double totalSeconds = 0;
  49.             bool blnPassesTimeConstraint;
  50.             bool blnPassesAuthor;
  51.             bool blnPassesSearchPhrase;
  52.             decimal fraction = 0;
  53.             int the_percent = 0;
  54.  
  55.             for (int i = 0; i < totalPrayerFiles; i++) {
  56.                 if (fi[i].FullName.ToLower().Contains("thumbs.db")) { totalPrayerFiles--; }
  57.             }
  58.  
  59.             #endregion
  60.  
  61.             if (arg.SearchType == (int)SearchType.SearchWithinFiles) {
  62.  
  63.                 log.write("About to enter foreach loop for searching within files...");
  64.                
  65.                 foreach (FileInfo f in fi) {
  66.                
  67.                     blnPassesTimeConstraint = false;
  68.                     blnPassesAuthor = false;
  69.                     blnPassesSearchPhrase = false;
  70.                    
  71.                     if (f.FullName.ToLower().Contains("thumbs.db")) { continue; }
  72.                    
  73.                     #region codeForExaminingWithinPrayerFileContents
  74.                    
  75.                     blnPassesAuthor = true; //because SearchWithinFiles doesn't care about the author                  
  76.                     FileStream fs = new FileStream(f.FullName, FileMode.Open, FileAccess.Read, FileShare.None);
  77.                     clsPrayerInfo oInfo = new clsPrayerInfo();                    
  78.  
  79.                     try {
  80.                         BinaryFormatter bFormatter = new BinaryFormatter();
  81.                         clsPrayer prayer = (clsPrayer)bFormatter.Deserialize(fs);
  82.                         string contents = prayer.content.Trim().ToLower();
  83.                         if (contents.Contains(searchedForPhrase)) {
  84.                             blnPassesSearchPhrase = true;
  85.                             oInfo = new clsPrayerInfo(prayer, f.FullName);
  86.                             int selStart = contents.IndexOf(searchedForPhrase);
  87.                             oInfo.StartOfSelection = selStart;                            
  88.                             #region determineIfWePassTheTimeConstraint
  89.                             if (time_constraint == (int)TimeConstraint.NoConstraint) {
  90.                                 blnPassesTimeConstraint = true;
  91.                             } else {
  92.                                 DateTime rightNow = DateTime.Now;
  93.                                 TimeSpan ts = rightNow.Subtract(oInfo.lastModified);
  94.                                 totalSeconds = ts.TotalSeconds;
  95.                                 switch (time_constraint) {
  96.                                     case (int)TimeConstraint.PastWeek:
  97.                                         if (totalSeconds <= 604800) { blnPassesTimeConstraint = true; }
  98.                                         break;
  99.                                     case (int)TimeConstraint.PastMonth:
  100.                                         if (totalSeconds <= 2592000) { blnPassesTimeConstraint = true; }
  101.                                         break;
  102.                                     case (int)TimeConstraint.PastYear:
  103.                                         if (totalSeconds <= 31536000) { blnPassesTimeConstraint = true; }
  104.                                         break;
  105.                                 }
  106.                             }
  107.                             #endregion
  108.                         } else {
  109.                             blnPassesSearchPhrase = false;
  110.                         }
  111.  
  112.                         examined_so_far++;
  113.                         log.write("We have examined this many files: " + examined_so_far.ToString());
  114.  
  115.                         if (blnPassesTimeConstraint && blnPassesSearchPhrase && blnPassesAuthor) {
  116.                             information.Add(oInfo);                            
  117.                             hits++;
  118.                         }
  119.  
  120.                     } catch (Exception exceptionOpeningPrayerFile) {
  121.                         string msgWithinFilesException = "Error in SearchWithinFiles portion of code in method bgWorkerSearch_DoWork(): " + exceptionOpeningPrayerFile.Message;
  122.                         log.write(msgWithinFilesException);
  123.                         MessageBox.Show(msgWithinFilesException, "Error Opening Prayer File During Search");
  124.                     }
  125.                     finally {
  126.                         if (fs != null) { fs.Close(); }
  127.                     }
  128.                     #endregion
  129.  
  130.                     fraction = (decimal)examined_so_far / (decimal)totalPrayerFiles;
  131.                     the_percent = Convert.ToInt32(fraction * 100);
  132.                     bgWorkerSearch.ReportProgress(the_percent);
  133.                     log.write("Records counted: " + examined_so_far.ToString() + " of " + totalPrayerFiles.ToString() + " (hits: " + hits.ToString() + ") -- " + the_percent.ToString() + " % complete...");
  134.                 }
  135.            
  136.             } else {
  137.  
  138.                 log.write("About to enter foreach loop for searching via tracking files...");
  139.                
  140.                 foreach (FileInfo f in fi) {
  141.  
  142.                     blnPassesTimeConstraint = false;
  143.                     blnPassesAuthor = false;
  144.                     blnPassesSearchPhrase = false;
  145.  
  146.                     if (f.FullName.ToLower().Contains("thumbs.db")) { continue; }
  147.                    
  148.                     #region codeForSearchingAgainstAuthorAndOrTagsUsingTrackingFiles
  149.                    
  150.                     clsPrayerInfo oInfo = new clsPrayerInfo();
  151.                     string pathToTracker = Path.Combine(pathToTrackingDirectory, Path.GetFileNameWithoutExtension(f.FullName));
  152.                     if (!File.Exists(pathToTracker)) {
  153.                         log.write("Tracking file doesn't exist: " + pathToTracker);
  154.                         continue;
  155.                     } else {
  156.                         log.write("The following tracking file DOES exist: " + pathToTracker);
  157.                     }
  158.                    
  159.                     FileStream fs = new FileStream(pathToTracker, FileMode.Open, FileAccess.Read, FileShare.None);
  160.                     try {
  161.  
  162.                         BinaryFormatter bFormatter = new BinaryFormatter();
  163.                         oInfo = (clsPrayerInfo)bFormatter.Deserialize(fs);
  164.                         oInfo.StartOfSelection = -1;
  165.                         DateTime rightNow = DateTime.Now;
  166.                         TimeSpan ts = rightNow.Subtract(oInfo.lastModified);
  167.                         totalSeconds = ts.TotalSeconds;
  168.  
  169.                         log.write("We were able to open the tracker...");
  170.  
  171.                         #region determineIfTheTimeConstraintPasses
  172.                         if (time_constraint == (int)TimeConstraint.NoConstraint) {
  173.                             blnPassesTimeConstraint = true;
  174.                         } else {
  175.                             switch (time_constraint) {
  176.                                 case (int)TimeConstraint.PastWeek:
  177.                                     if (totalSeconds <= 604800) { blnPassesTimeConstraint = true; }
  178.                                     break;
  179.                                 case (int)TimeConstraint.PastMonth:
  180.                                     if (totalSeconds <= 2592000) { blnPassesTimeConstraint = true; }
  181.                                     break;
  182.                                 case (int)TimeConstraint.PastYear:
  183.                                     if (totalSeconds <= 31536000) { blnPassesTimeConstraint = true; }
  184.                                     break;
  185.                             }
  186.                         }
  187.                         #endregion
  188.                         if (blnPassesTimeConstraint) {
  189.                             log.write("TimeConstraint passed in Search using Mode Normal or ExactMatch...");
  190.                             #region determineIfAuthorPasses
  191.                             if (searchedForAuthor.Length == 0) {
  192.                                 blnPassesAuthor = true;
  193.                             } else {
  194.                                 if (searchedForAuthor == oInfo.author.Trim().ToLower()) { blnPassesAuthor = true; }
  195.                             }
  196.                             #endregion
  197.                             if (blnPassesAuthor) {
  198.                                 #region determineIfSearchPhrasePasses
  199.                                 if (searchedForPhrase.Length == 0) {
  200.                                     blnPassesSearchPhrase = (arg.SearchType == (int)SearchType.Normal) ? true : false;
  201.                                 } else {
  202.                                     if (arg.SearchType == (int)SearchType.ExactMatch) {
  203.                                         blnPassesSearchPhrase = (searchedForPhrase == oInfo.tags.Trim().ToLower()) ? true : false;
  204.                                     } else {
  205.                                         blnPassesSearchPhrase = (oInfo.tags.Trim().ToLower().Contains(searchedForPhrase)) ? true : false;
  206.                                     }
  207.                                 }
  208.                                 #endregion
  209.                             }//end if (blnPassesAuthor)
  210.                         }//end if (blnPassesTimeContraint)
  211.  
  212.                         if (blnPassesSearchPhrase && blnPassesAuthor && blnPassesTimeConstraint) {
  213.                             information.Add(oInfo);
  214.                             hits++;
  215.                         }
  216.  
  217.                         examined_so_far++;
  218.                         log.write("We have examined this many files: " + examined_so_far.ToString());
  219.  
  220.                     } catch (Exception exception) {
  221.                         log.write("Exception caught while trying to load clsPrayerInfo data from this tracking file in bgWorkerSearch_DoWork(): " + Path.GetFileName(pathToTracker));
  222.                         log.write(exception.Message);
  223.                     }
  224.                     finally {
  225.                         if (fs != null) { fs.Close(); }
  226.                     }
  227.  
  228.                     #endregion
  229.                    
  230.                     fraction = (decimal)examined_so_far / (decimal)totalPrayerFiles;
  231.                     the_percent = Convert.ToInt32(fraction * 100);
  232.                     bgWorkerSearch.ReportProgress(the_percent);
  233.                     log.write("Records counted: " + examined_so_far.ToString() + " of " + totalPrayerFiles.ToString() + " (hits: " + hits.ToString() + ") -- " + the_percent.ToString() + " % complete...");
  234.                
  235.                 }
  236.            
  237.             }
  238.  
  239.             DateTime _finished = DateTime.Now;
  240.             TimeSpan tsOverall = _finished.Subtract(_start);
  241.             string duration = clsGetDurationDesc.getDurationDesc(tsOverall.TotalMilliseconds);
  242.  
  243.             clsSearcherResults oResults = new clsSearcherResults(information, duration, examined_so_far, hits);
  244.             e.Result = oResults;
  245.  
  246.             log.write("Now exiting bgWorkerSearch_DoWork()...");
  247.  
  248.         }

Screenshots (there are more images in addition to those shown here, but you'll have to download/install the program to discover them...)
Installationrun the Inno Setup installer
Using the applicationpretty standard Windows application menu system, with some additional options.  Should be straightforward, although I intend to author a help file.
UninstallingRun the uninstaller that the installation provides
Known IssuesI've fixed quite a few minor issues. Let me know if you think you've found a bug: it's probably a feature ;)
1591
Kyrathaba Software / Kyrathasoft Hangman (a NANY 2012 entry)
« Last post by kyrathaba on January 19, 2012, 06:25 PM »
Fun Twist On A Classic Game!My program, Kyrathaba's Hangman, allows you to register a user-name.  If you do, the High Score on your particular installation of the application will always be sent to the online database.

For the Highest Scoring DC member, as found here, I will donate up to 25 hours of programming for FREE on a small to mid-size project of your choice!!  I reserve the right to determine what is within my skills, however.  The top-three high-scoring DC members will receive an additional prize from the site.

I reserve the right to throw out a score that has obviously been obtained through some hack: being intimately conversant with the program's level of difficulty, I have a keen idea what's humanly possible.

On the last day of each month between now and the culmination of the NANY 2012 event, I will donate $5 DonationCredits to the highest scorer showing on the scoreboard, provided that the scorer is a DC member.  Visitors who may be reading this: join now!  The first disbursement will be on July 31st, the final one December 31st.  That's an opportunity for someone to win up to $30, not to mention bragging rights!
Application Name Kyrathaba's Hangman
Version 1.0.4.5 (released 8/21/11)
Short Description competitive Hangman with prizes for highest scorers (see blog entry)
Supported OSes Windows XP forward
Setup File A link to the Setup program {will check for absence of .NET Framework 4.0 and download if needed} (1.41 Mb)
PAD file URLhttp://kyrathaba.dcm...tups/hangman_PAD.xml
System Requirements
Author Infocoded by kyrathaba | Profile page | Kyrathaba DC page | author of Kyrathaba's Source Code Line Counter. My past NANY entries include: Crocus Contacts, Blackjack, and NANY Excuse Manager.
DescriptionThis was a project I did for the Boss Assignment of C# Programming School, Phase I.  I liked it so much that I continued to develop it, eventually bringing in cranioscopical for some expert testing.  I owe him a debt for the many bugs he made me aware of; and to mouser I say "thank you" for encouraging me not to give up in learning enough PHP to build the online scripts and database to implement my desired features-set.

Destined to replace time wasted by people watching "Wheel Of Fortune"! -- PC Magazine.

What!  This program is FREE!??  A crime, that's what it is!  Someone slap the developer around until he starts showing some sense and charging for this gem of genius! -- Gamasutra

Features+ choose between an Individual Word or a Phrase, and try to solve before you are hanged!
+ optional audio cues
+ option to register a user-name with online database, so that you can submit your High Score and compete against all other players!
+ option to use mouse or keyboard for input
+ Highest Scorer, as recorded on the online database will receive free coding of a small-to-medium sized project of his/her choice!
+ ToolTips and context-sensitive help for each control in the application's interface

I would appreciate suggestions for future features of the program.

Please consider donating.
Screenshotsscreenshot collage
Online Helphttp://kyrathaba.dcmembers.com/my_programs/KyrHangmanSetups/HangmanHelp.pdf
InstallationSimply use the installer created by Inno Setup
Using the applicationThe GUI is fairly intuitive.  However, there is a textual help file under the "Help" menu, and a more in-depth PDF help file (with screenshots) available via the F1 key.
UninstallingUse the uninstall Program Files menu-item.
Known IssuesWhat?  You mean like bugs?  None (but please make me aware of any that you may find...)
Notable mentionsdotTech article

1592
Kyrathaba Software / Kyrathasoft Source Code Line Counter (a NANY 2012 entry)
« Last post by kyrathaba on January 19, 2012, 06:23 PM »
Application NameKyrathasoft Source Code Line Counter
Version 1.0.1.4 (last updated 27th June 2016
Short Descriptioncounts lines of source code across all files in a project (or even across multiple projects) using physical SLOC
Supported OSes Windows XP forward
Setup File KyrSrcLineCounterSetup.zip (~332 Kb)
System Requirementsrequires .NET Framework 4.0; the setup program detects the absence of .NET Framework 4.0 and installs if necessary
Author Infokyrathaba, author of Kyrathaba's Hangman. My past NANY entries include: Crocus Contacts, Blackjack, and NANY Excuse Manager.
DescriptionOption to count or not-count comments and blank lines.
Use standard folder-selection dialog, or drop folder on the listview
Automatically recounts when file extension is changed in the dropdown combo box
Automatically recounts when a folder is dropped on listview
Ability to count files/lines across multiple top-level directories
Supports C, C#, C++, VB, Delphi/Pascal, Bash, Java, AHK, Auto-It
Screenshots
Installationuse the Setup file created by Visual Studio 2015 Community Edition IDE
Using the applicationShould be highly intuitive; I await feedback ([email protected])
Uninstallinguse the uninstaller
Known Issuesnone
Notable mentionsdotTech article


1593
Kyrathaba Software / Kyrathasoft KyrCrypt (a 2011 donationware release)
« Last post by kyrathaba on January 19, 2012, 06:22 PM »


"Its function is to encrypt/decrypt individual files or entire directories of files using 168-bit TripleDES encryption. It offers an optional virtual keyboard for entering passwords with the mouse or touchpad, so that the actual computer keyboard doesn't have to be utilized for this purpose, thereby negating the threat of keyloggers."

Online Help for KyrCrypt
1594
Kyrathaba Software / Kyrathasoft Crocus Contacts (a NANY 2007 entry)
« Last post by kyrathaba on January 19, 2012, 06:21 PM »
One of my earliest C# programming efforts, the program, as the name implies, stores information about your personal contacts. It's sort of like a digital rolodex. It allows you to store name, address, email, etc., plus a photograph of the person. You have the option of passwording the contact. Contacts are saved to disk in binary format, so only this program can open them. The program supports creating new contact files, opening existing contact files, browsing for and selecting a jpg photo, saving contacts to disk, and deleting existing contact files. A sample contact, "Dr. Beverly Crusher.crf" is included. Contact files have the CRF extension. Supports emailing contacts.

This download is the complete installer. It creates program group, file association, etc., using Inno Setup Builder.

This was my very first NANY submission, in the 2007 event.

1595
How Long Since? is a tool for finding the time that has elapsed since a particular date-time; you set the name of the event, its description, and the exact date and time on which the event occurred. Clicking a given event in the listbox, you'll be presented with time elapsed since that date. This value updates each second. You can delete a particular item by double-clicking it in the listbox. When entering the time component of the DateTime of an event you're about to save, simply enter the time as it would be in the local time used by your PC. The program will convert this to UTC, and any items in the listbox that you click upon will show the UTC version of the time.



click to download
1596
Unfinished Requests / Re: idea: time between two time & dates
« Last post by kyrathaba on January 19, 2012, 06:17 PM »
You still save a new event by setting the time part of the DateTime to the correct value (if the event happened in a timezone other the one to which your PC clock is set, make adjustments accordingly).

By saving an event in UTC time, the program will report accurate time spans, even if you later change your PC's clock to a different timezone.
1597
Unfinished Requests / Re: idea: time between two time & dates
« Last post by kyrathaba on January 19, 2012, 06:14 PM »
I've updated the program so that the two DateTime values it compares are both in Universal Coordinated Time.
1598
Announce Your Software/Service/Product / Debut of "How Long Since?"
« Last post by kyrathaba on January 19, 2012, 08:36 AM »
I've responded to an old Coding Snack Request with a small utility that some may find useful and/or fun. You can also find it here and here.

How Long Since? is a tool for finding the time that has elapsed since a particular date-time; you set the name of the event, its description, and the exact date and time on which the event occurred. Clicking a given event in the listbox, you'll be presented with time elapsed since that date. This value updates each second. You can delete a particular item by double-clicking it in the listbox.

1599
Living Room / Re: Sorry, This Post Has Been Censored
« Last post by kyrathaba on January 19, 2012, 08:17 AM »
Societies eventually crumble under the evil weight of their own decadent greed. Human history shows this to be true. Woe to our children's children if the good old US of A doesn't shape up.
1600
Unfinished Requests / Re: idea: time between two time & dates
« Last post by kyrathaba on January 19, 2012, 07:50 AM »
Added to my downloads page.
Pages: prev1 ... 59 60 61 62 63 [64] 65 66 67 68 69 ... 122next