Solved

How to run same application as a console(scheduled application) and in windows form(manual)

Posted on 2006-07-17
8
220 Views
Last Modified: 2010-04-16
I want to develop an application. Basic thing to do for it is to look for files in a folder. When it finds files, do some action and delete files. However, this is an scheduled once a day routine. Sometimes, I should be able to forcefully run this application and enter the filename and do action only to that filename without bothering other files. How can I utilize these both events in one application.
Please help.
0
Comment
Question by:sovroc81
  • 5
  • 3
8 Comments
 

Author Comment

by:sovroc81
ID: 17124855
Same question can be asked this way.

In the start of the console window application, can I make user to input filename by waiting for 15 seconds or so. If I don't get the input within that time, can I proceed with Process1 else proceed with Process2.

The input can be accepted in the form of any keystroke (if not the whole fileName).

I don't how to make them wait for 15 second for the response.
0
 
LVL 25

Expert Comment

by:dstanley9
ID: 17125315
Why not just make the filename an input argument, and have another input argument to tell in to run in "auto" mode (so you don't accidentally run in auto mode if you forget to add parameters)?

e.g.

MyApp.exe -f *.txt   // process all text files
MyApp.exe -f textfile.txt // process single file
MyApp.exe -a // Auto processing (maybe with defaults specified in config.xml)
MyApp.exe -? // Show syntax and options.
0
 

Author Comment

by:sovroc81
ID: 17125352
Can you give an example of what you are trying to say?
Thank you!!!
0
Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

 

Author Comment

by:sovroc81
ID: 17125375
According to your example, you are asking me to input value in commandline for each time I call manually. Is their a easier way to invoke exe file with parameters. Can I do it in a small window application instead, obtaining the parameter from a textbox.
0
 
LVL 25

Accepted Solution

by:
dstanley9 earned 500 total points
ID: 17125479
the args parameter of the Main method is where the command-line arguments are stored:

 static void Main(string[] args)
 {

     if (args.Length < 1)
         ShowUsage();
     switch (args[0])
     {
         case "-?":
             ShowUsage();
             break;
         case "-f":
             // process one file or several files using mask from args[1]
             break;
         case "-a":
             // Automatic mode - use defaults from somewhere (e.g. config.xml)
             break;
         default:
             ShowUsage();
             break;
     }
     return;
 }
 private void ShowUsage()
 {
     Console.WriteLine("");
     Console.WriteLine("usage: MyApp.exe  {option}");
     Console.WriteLine("  options:");
     Console.WriteLine("-? Show this help information");
     Console.WriteLine("-a Run in automatic mode");
     Console.WriteLine("-f {filemask} process one file or all files matching the file mask");
     Console.WriteLine("");
 }

If you have a certain filename that you process regularly, you could add an option to process that without having to supply the name of the file.


For your other question, sure you can put it in a Windwos app, but if you want to run it as a scheduled task, a Console app would work much better.
0
 

Author Comment

by:sovroc81
ID: 17125606
Thanks for your promptness.
Can you show me how to put this into a separate window application and call from there?
0
 
LVL 25

Expert Comment

by:dstanley9
ID: 17125637
Build the logic pieces as a class library (DLL), then reference the class library from your console app, and also create a Windows app that references and uses the classes.  There's not really a "cookie-cutter" way to do it.

To be honest, the console app with parameters will be much easier to build; adding on a GUI after the fact will take some re-writing.
0
 

Author Comment

by:sovroc81
ID: 17125964
You are right. It is definitely a painstaking process, but at this time, I got the answer and I got it right.

Thanks for your help for showing the insight.
0

Featured Post

VMware Disaster Recovery and Data Protection

In this expert guide, you’ll learn about the components of a Modern Data Center. You will use cases for the value-added capabilities of Veeam®, including combining backup and replication for VMware disaster recovery and using replication for data center migration.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question