|
CDateTimeCtrl::SetFormat[^] might be able to help you.
<bold>- Nilesh
<italics>"Reading made Don Quixote a gentleman. Believing what he read made him mad" -George Bernard Shaw
|
|
|
|
|
Thanks for u r Reply...
But I have clearly mention that ... My problem is Parsing the "ambigous" String not the Formating the Date. If I can find the Proper input the Any Constructer of MFC class (like , COLEDateTime, CDateTime , CDateTimeFormatINfo,,... ) then I can Convert to any format of date!!
But My Problem is how to find parse the input Nummeric??
i.e: only number like max-digit(i.e: 06242005) = output Reqired is : mm/dd/yyyy =06/24/2005 to min-digit (i.e : 625) = = output Reqired is : mm/dd/yyyy =06/2/2005.
Can u help me for this ???
|
|
|
|
|
Have a look at COleDateTime class as well.
Steve Mayfield: "Coding in VB is like riding a tricycle...once you figured out how to peddle, its really hard to fall off."
My Articles
|
|
|
|
|
Break the inputs down into what they are/aren't like:
if (first_3_letters_are_a_month)
{
Jan 5th 2005 = January 5, 2005
Jan 2605 = January 26, 2005
Jan of 05 = January 2005
Jan 05 = January 2005
}
else
{
if (first_word_is_this)
this month 6th = July 6, 2005
else if (first_word_is_on)
On 6th of this month = June 6, 2005
else
{
if (first_word_has_th)
{
6th of June = June 6, 2005 or June 6
6th of June 05= June 6, 2005
}
else
{
06242005 = 06/24/2005
625 = 06/2/2005
}
}
} Now you should have an easier time parsing them.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Thanks for u r Reply sir.
But ..still here my patterns are not static ( u assumed by mistake ) my patterns may vary due to human tendecies to speck every time different patterns for the same thing !! so.....I can't make the code based on pre-assumption like u !!
Currently , I m doing the Ambigious rule making for the Text-correction..
But , I m still confused at parsing the only Numbers string ( how to differnceate with numbers for Day,Month,Year...! Can i make Regular Expression to validate the input numbers in to Day, Month, Year?
Can u assist me ?
Cheers,
Rajan Kapadia
|
|
|
|
|
Anonymous wrote:
But , I m still confused at parsing the only Numbers string ( how to differnceate with numbers for Day,Month,Year...!
How about:
CString strDate;
if (strDate.GetLength() == 8)
{
nMonth = atoi(strDate.Left(2));
nDay = atoi(strDate.Mid(2, 2));
nYear = atoi(strDate.Right(4));
}
else if (strDate.GetLength() == 3)
{
nMonth = atoi(strDate.Left(1));
nDay = atoi(strDate.Mid(1, 1));
nYear = atoi(strDate.Right(1));
}
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Thanks for u r reply....
I have done same thing ... just 2-day before... I have written various RE for classifying Input String in to DATE Formats based on it length.
one of possible RE u can see : for 8-digit string :
((^(?<month>10|12|0?[13578])(?<day>3[01]|[12][0-9]|0?[1-9])(?<year>(1[8-9]\\d{2})|([2-9]\\d{3}))$)|(^(?<month>11|0?[469])(?<day>30|[12][0-9]|0?[1-9])(?<year>(1[8-9]\\d{2})|([2-9]\\d{3}))$)|(^(?<month>0?2)(?<day>2[0-8]|1[0-9]|0?[1-9])(?<year>(1[8-9]\\d{2})|([2-9]\\d{3}))$)|(^(?<month>0?2)(?<day>29)(?<year>[2468][048]00)$)|(^(?<month>0?2)(?<day>29)(?<year>[3579][26]00)$)|(^(?<month>0?2)(?<day>29)(?<year>[1][89][0][48])$)|(^(?<month>0?2)(?<day>29)(?<year>[2-9][0-9][0][48])$)|(^(?<month>0?2)(?<day>29)(?<year>[1][89][2468][048])$)|(^(?<month>0?2)(?<day>29)(?<year>[2-9][0-9][2468][048])$)|(^(?<month>0?2)(?<day>29)(?<year>[1][89][13579][26])$)|(^(?<month>0?2)(?<day>29)(?<year>[2-9][0-9][13579][26])$))
This way I have solved my proble ......is it write-way to do it ???
and I want to ask? how to parse the Unkown or Ambigous pattern ....like ?
"on 10th of this month" ----> so I want to find the current system date whenever I found word "this" !!!! is It?? Can I do similar for "next", "previous" ...words???? and for Day,Month,Year ??
can u assist in this similar type of problem ???
Cheers,
Rajan Kapadia
|
|
|
|
|
Rajan Kapadia wrote:
...is it write-way to do it ???
My first response would be no. Since there are only six possibilities, using an if /else construct would be much simpler now and in the future if you or someone else needed to modify it.
Rajan Kapadia wrote:
I want to find the current system date...
That is what time() is for.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Thanks for u r reply....
David Crow Wrote::
using an if/else construct would be much simpler now ???
means what is exact ....?? means ?? --> 8-3 Length string ??
for Current SystemDate I want to Know how i can do for "next","this", "previous" , etc words ??
???
Cheers,
Rajan Kapadia
|
|
|
|
|
Rajan Kapadia wrote:
means what is exact ....?? means ?? --> 8-3 Length string ??
This is a very strange looking sentence, but I think what you are asking looks like this:
if (3 == length)
else if (4 == length)
else if (5 == length)
else if (6 == length)
else if (7 == length)
else if (8 == length) If that is not right, please ask again.
Rajan Kapadia wrote:
for Current SystemDate I want to Know how i can do for "next","this", "previous" , etc words ??
Like I indicated, today's date can be obtained using time() . Yesterday's date can be obtained by subtracting 86400 from that value, and tomorrow's date can be obtained by adding 86400 to that value. Make sense?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
Thanks for u r Reply .....
its good to see u that we r thinking same way...!!
For Only Number- parsing last time I have written , that I have written various Regular-Expression (RE) to parse the given length number in case statment !!! ( one of Example of RE for stringlen(8) I have given last time )
In Last Reply I have asked a'bt how to tekal words like : "this Month" , "this year", "Next Month","Next Year", "Previous Month", "Previous Year", Etc...
Currently I m thinking in a way that, I m Extracting DAY,MONTH,YEAR from the given pattern and then I search for words (this, next, Previous)tide with DAY,MONTH,YEAR word and then from Current system date Extratcion of current DAY, MONTH , YEAR......I m incrementing (+1) or decremanting (-1) by one to corresponding DAY,MONTH,YEAR variable . But,conflict for "next " phares is when we r in Decemeber and "next month " phares occurs then we increment Year and set month to January ......similar problem for "Previous" phares at January month ...? (( ........
Is It I m going right way in my path ? or .....any other good Idea ??
wait for u positive reply and then start implementing this Idea.....
Cheers ,
Rajan Kapadia
|
|
|
|
|
Rajan Kapadia wrote:
I m incrementing (+1) or decremanting (-1) by one to corresponding DAY,MONTH,YEAR variable . But,conflict for "next " phares is when we r in Decemeber and "next month " phares occurs then we increment Year and set month to January ......similar problem for "Previous" phares at January month ...? ........
Is It I m going right way in my path ? or .....any other good Idea ??
This is how I did it some eleven years ago. But since MFC has four date-related classes (I'm not sure if STL does or not), I would use them instead. There's no need to reinvent the wheel.
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
This is how I did it some eleven years ago. But since MFC has four date-related classes (I'm not sure if STL does or not), I would use them instead. There's no need to reinvent the wheel.
I m not Understanding ..? can u Explain me in Deep??
As Mention preiously that how i can code perticular Pattern like this :::
" Next year 10th of January " ------> "Next Year [Day](th)* (of) [Month]" (I m parsing using this rule) and initilize the DataTime strucure with parsed Day,Month and missing term Year with Current System Year with (+/-) corresponding to words like " previous, next, this" phrases.
Replacement pattern is : [Month] [Day], [CurrentSystemYear]
can I stic to this type of staic parsing ?
Is it write way to do it ?
Waits for u r reply!!
Cheers,
Rajan Kapadia
|
|
|
|
|
Rajan Kapadia wrote:
I m not Understanding ..? can u Explain me in Deep??
Instead of doing this:
void IncrementDay( int &nMonth, int &nDay, int &nYear )
{
nDay++;
if (nDay > DaysInMonth(nMonth, nYear))
{
nDay = 1;
nMonth++;
if (nMonth > 12)
{
nMonth = 1;
nYear++;
}
}
} Do something like this instead:
CTime today = CTime::GetCurrentTime();
CTimeSpan oneDay(1, 0, 0, 0);
CTime tomorrow = today + oneDay;
CTime yesterday = today - oneDay; Simpler?
"Ideas are a dime a dozen. People who put them into action are priceless." - Unknown
|
|
|
|
|
this one is simpler ....but how to takel with Month & Year ....increment ....No constructor for which give us month and year initilization.( we can't sent timeticks also ....i.e 30|31 * oneDaytime or 365|366 * onedaytime )
How i can Do increment & decremant Month & Year Now from U r Way ! U make me more confuse by giveing this idea!
also, how u think a'bt my Search-Replace Rule Idea ?
Wait for u r reply here !!
Cheers ,
Rajan Kapadia
|
|
|
|
|
Rajan Kapadia wrote:
How i can Do increment & decremant Month...
By knowing how many days are in each month. If today is July 27th, 2005 and I wanted to advance one month, use:
CTime today = CTime::GetCurrentTime();<br />
CTimeSpan oneMonth(31, 0, 0, 0);<br />
CTime nextMonth = today + oneMonth;
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi all,
I have a program that contains a Server and a Client app.
I want my server app to this:
When I installed my server app it would automatically install the client app
on the all computers in the network.
I mean:
Installing a file on a computer in a network without having a client program!
It's very important,
Cheers,
Thanks,
MILAD.
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
So the server will contain the client app, and will farm it out to all clients on it's network ? Sounds very viral to me. Can you be sure that your server will have the right to perform this action on all clients ? The easiest way would be to copy an installer onto the client machine, and put it's path in the runonce registry key so it installs on the next startup.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Christian Graus wrote:
So the server will contain the client app, and will farm it out to all clients on it's network ?
Yes I want to do this.
Christian Graus wrote:
Sounds very viral to me
No , of course not.My program Is a Network Manager that manages the local network.
Christian Graus wrote:
The easiest way would be to copy an installer onto the client machine, and put it's path in the runonce registry key so it installs on the next startup.
Exactly, But,
How to do this?
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
I believe the CopyFile APIs will take network paths.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Christian Graus wrote:
So the server will contain the client app, and will farm it out to all clients on it's network ?
Yes I want to do this.
Christian Graus wrote:
Sounds very viral to me
No , of course not.My program Is a Network Manager that manages the local network.
Christian Graus wrote:
The easiest way would be to copy an installer onto the client machine, and put it's path in the runonce registry key so it installs on the next startup.
Exactly, But,
How to do this?
Thanks,
MILAD.
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
hum, are you programming a "trojan-like" ???
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
Hi and thanks for your reply,
I don't want to use this code for a Virus or something like that,
I want ir for my program that called Network Manager and I want this program to
Install the client program Automatically on other computers,
Please help me on this,
Very Importent,
Thanks,
MILAD.
Every new thing you learn,Gives you a new personality.
|
|
|
|
|
If you have administrative rights on the machines in the network, you can copy files to them using their administrative shares. If the machine name is "MachineX ", for example, the C: drive on that machine may be accessed using "\\MachineX\C$ ". Note that the administrative shares aren't normally visible in Windows Explorer. This lets you copy an application to each machine in the network. This lets the server put the client application (or at least an installer for it) onto each client.
The other part of the problem is getting each client to run the client application or the installer. There are several possibilities here.
1. You can access the client machine's registry remotely. Use the RegConnectRegistry function to connect to the client's registry, and then create a 'RunOnce' key that will run your application/installer on the next restart. You could conceivably even force the client machine to restart using the InitiateSystemShutdown function.
2. You can use the task scheduler service to create a job on the client machine. The job would run the application.
3. Create your own service that runs the application. Your server can install, start, and stop the service using the service control manager functions.
Software Zen: delete this;
|
|
|
|
|
Hello,
What is the use of the keyword __declspec in C++?
Can u please give an example?
Thnks in Advance
ShijuCK
|
|
|
|
|