|
I have created a windows service and I need for that service to run at 10:00 Am and 3:00PM every day.
I tried looking into the timer control but I could not figure out as to how can I schedule a Particular time of the day since the timer intervall starts when timer starts. Can someone please help me with this? Thanks in advance.
|
|
|
|
|
Check out this article: .NET Scheduled Timer[^] Follow the link to the latest source. I'm updating the article now so all the latest article updates should be in place in the next few days.
I can imagine the sinking feeling one would have after ordering my book,
only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
|
|
|
|
|
|
Basically there are two ways you can follow:
Either you calculate the time to the next occurrence of the wanted action and wind up a timer with this interval or you set the interval to smaller time slices (for example, once a minute) and then check the current time if it's between 10:00:00 and 10:01:00 (or 15:00:00 and 15:01:00 resp.).
Regards,
mav
|
|
|
|
|
hi friends
in c# i want to add web reference dynamic through coding.is it possible.
i am creating a client that using web refrence but i don't know where server will placed. please help me
mukesh
|
|
|
|
|
If you just want to point the web reference to a different server, you can set the dynamic property on the web reference property page. This will create an entry in the web/app config file for your project and you can change the server using that.
If that isn't dynamic enough for you you can set the Url property of the web reference proxy class before you call any methods on the proxy.
I can imagine the sinking feeling one would have after ordering my book,
only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
|
|
|
|
|
Hi all!i am using microsoft visual studio.net 2003.i have create a class for communication with serial port via RS-232.It contains read and write function.i run this in the console application.Class 1 is all the function and class 2 is my MAIN.i use Main to call the read and write function.Can someone please please help me how i can read unlimited bytes?How to call the Public MemoryStream Read(int bufSize) to my MAIN?I try it so many time but still fail to do it..Please please help me..Thanks a lot!
This is my Class 1
using System;
using System.Runtime.InteropServices;
using System.IO;
using System.Text;
using System.Globalization;
using System.Threading;
namespace yong
{
public class port
{
/*-- Definition of variables by Programmer --*/
/*-- Setting win32 API constants --*/
private const uint GENERIC_READ = 0x80000000;
private const uint GENERIC_WRITE = 0x40000000;
private const int CREATE_ALWAYS = 2;
private const int INVALID_HANDLE_VALUE = -1;
/*-- End ofSetting win32 API constants --*/
public int PortNum = 1; //-------------Delaring of Port number to 1
public int BaudRate = 9600; //---------Set BaudRate to 9600
public byte ByteSize = 8; //-----------Set ByteSize to 8
public byte Parity = 0; //-------------0-4 = no,odd,even,mark,space
public byte StopBits = 0; //-----------0,1,2 = 1, 1.5, 2
public int ReadTimeout = 1500; //------Set TimeOut to 1500
private int hComm = -1; //-------------Declaring of comm port win32 file handle
public bool Opened = false; //---------Declaring of Opened and set to false
/*-- End of Definition of variables by Programmer --*/
[StructLayout(LayoutKind.Sequential)]
public struct DCB
{
/*-- taken from c struct in platform sdk --*/
public int DCBlength; //-----------Sizeof(DCB)
public int BaudRate; //------------Current baud rate
public uint flags; //--------------Flags
public ushort wReserved; //--------Not currently used
public ushort XonLim; //-----------Transmit XON threshold
public ushort XoffLim; //----------Transmit XOFF threshold
public byte ByteSize; //-----------Number of bits/byte, 4-8
public byte Parity; //-------------0-4 = no,odd,even,mark,space
public byte StopBits; //-----------0,1,2 = 1, 1.5, 2
public char XonChar; //------------Tx and Rx XON character
public char XoffChar; //-----------Tx and Rx XOFF character
public char ErrorChar; //----------Error replacement character
public char EofChar; //------------End of input character
public char EvtChar; //------------Received event character
public ushort wReserved1; //-------Reserved; Do not use
}/*-- End of StructLayout DCB --*/
[StructLayout(LayoutKind.Sequential)]
private struct COMMTIMEOUTS
{
public int ReadIntervalTimeout;
public int ReadTotalTimeoutMultiplier;
public int ReadTotalTimeoutConstant;
public int WriteTotalTimeoutMultiplier;
public int WriteTotalTimeoutConstant;
}/*-- End of StructLayout Commtimeout --*/
[StructLayout(LayoutKind.Sequential)]
private struct OVERLAPPED
{
public int Internal;
public int InternalHigh;
public int Offset;
public int OffsetHigh;
public int hEvent;
}/*-- End of StructLayout Overlapped --*/
/*-- Importing of Kernel32.dll --*/
[DllImport("kernel32.dll")]
private static extern int CreateFile
(
string lpFileName, //--------------File name
uint dwDesiredAccess, //-----------Access mode
int dwShareMode, //----------------Share mode
int lpSecurityAttributes, //-------SD
int dwCreationDisposition, //------How to create
int dwFlagsAndAttributes, //-------File attributes
int hTemplateFile //---------------Handle to template file
);
[DllImport("kernel32.dll")]
private static extern bool GetCommState
(
int hFile, //---------Handle to communications device
ref DCB lpDCB //------Device-control block
);
[DllImport("kernel32.dll")]
private static extern bool BuildCommDCB
(
string lpDef, //------Device-control string
ref DCB lpDCB //------Device-control block
);
[DllImport("kernel32.dll")]
private static extern bool SetCommState
(
int hFile, //---------Handle to communications device
ref DCB lpDCB //------Device-control block
);
[DllImport("kernel32.dll")]
private static extern bool GetCommTimeouts
(
int hFile, //---------------------------Handle to comm device
ref COMMTIMEOUTS lpCommTimeouts //------Time-out values
);
[DllImport("kernel32.dll")]
private static extern bool SetCommTimeouts
(
int hFile, //---------------------------Handle to comm device
ref COMMTIMEOUTS lpCommTimeouts //------Time-out values
);
[DllImport("kernel32.dll")]
private static extern bool ReadFile
(
int hFile, //------------------------Handle to file
byte[] lpBuffer, //------------------Data buffer
int nNumberOfBytesToRead, //---------Number of bytes to read
ref int lpNumberOfBytesRead, //------Number of bytes read
ref OVERLAPPED lpOverlapped //-------Overlapped buffer
);
[DllImport("kernel32.dll")]
private static extern bool WriteFile
(
int hFile, //--------------------------Handle to file
byte[] lpBuffer, //--------------------Data buffer
int nNumberOfBytesToWrite, //----------Number of bytes to write
ref int lpNumberOfBytesWritten, //-----Number of bytes written
ref OVERLAPPED lpOverlapped //---------Overlapped buffer
);
[DllImport("kernel32.dll")]
private static extern bool CloseHandle
(
int hObject //-------Handle to object
);
[DllImport("kernel32.dll")]
private static extern uint GetLastError();
/*-- End of Importing of Kernel32.dll --*/
/*-- Function Open --*/
/*-- To Open the connection between 2 ports via RS232 --*/
public void Open()
{
DCB dcbCommPort = new DCB(); //------Declaring of DCB
COMMTIMEOUTS ctoCommPort = new COMMTIMEOUTS(); //------Declaring of COMMTIMEOUTS
/*-- Open Comm Port --*/
hComm = CreateFile( "COM" + PortNum ,GENERIC_READ | GENERIC_WRITE,0, 0,CREATE_ALWAYS ,0,0 ); //------Open comm port by calling dll from kernel32 and get the handle
/*-- Check port cannot be open --*/
if( hComm == INVALID_HANDLE_VALUE )
{
throw(new ApplicationException("Comm Port Can Not Be Opened"));
}/*-- End of Check port cannot be open --*/
/*-- Set the Time out property --*/
GetCommTimeouts(hComm,ref ctoCommPort);
ctoCommPort.ReadTotalTimeoutConstant = 0;
ctoCommPort.ReadTotalTimeoutMultiplier = 0;
ctoCommPort.WriteTotalTimeoutMultiplier = 0;
ctoCommPort.WriteTotalTimeoutConstant = 0;
SetCommTimeouts(hComm,ref ctoCommPort);
/*-- End of Set the Time out property --*/
/*-- Setting of Baud rate, Parity, Word size and Stop bits --*/
GetCommState(hComm, ref dcbCommPort); //------Get the status of current configuration
dcbCommPort.BaudRate = BaudRate; //------Setting of baud rate
dcbCommPort.flags = 0; //------Setting of Flags
//dcbCommPort.flags = 1;//------Setting of Flags
/*-- Check parity more than 0 --*/
if(Parity > 0)
{
dcbCommPort.flags = 2; //------Setting of Flags
}/*-- End of Check parity more than 0 --*/
dcbCommPort.Parity = Parity; //------Setting of Parity
dcbCommPort.ByteSize = ByteSize; //------Setting of ByteSize
dcbCommPort.StopBits = StopBits; //------Setting of StopBits
/*-- Set property and Check for error --*/
if( !SetCommState(hComm, ref dcbCommPort) )
{
throw(new ApplicationException("Comm Port Can Not Be Opened"));
}/*-- End of Set property and Check for error --*/
/*-- End of Setting of Baud rate, Parity, Word size and Stop bits --*/
//Opened = true; //------Set Opened to true
Opened = true;
}/*-- End of Function Open --*/
/*-- Function Close --*/
/*-- Closing of Comm port --*/
public void Close()
{
/*-- Check Open handle is open --*/
if (hComm != INVALID_HANDLE_VALUE)
{
CloseHandle(hComm); //------Close port
}/*-- End of Check Open handle is open --*/
}/*-- End of Function Close --*/
/*-- Function Read --*/
/*-- For receiving of data from other parties --*/
public MemoryStream Read(int bufSize)
{
byte[] BufBytes = new byte[bufSize];
MemoryStream stream = new MemoryStream();
/*-- Check Port is Open --*/
if( hComm != INVALID_HANDLE_VALUE )
{
OVERLAPPED ovlCommPort = new OVERLAPPED();
int BytesRead = 0;
while(ReadFile(hComm, BufBytes, bufSize, ref BytesRead, ref ovlCommPort) != false /* or true (based on your interop declaration) */)
stream.Read(BufBytes,0,BytesRead);
}
return stream;
}
/*-- Function Write --*/
/*-- For transfering of data from other parties --*/
public void Write(byte[] WriteBytes)
{
/*-- Check Port is Open --*/
if( hComm != INVALID_HANDLE_VALUE )
{
OVERLAPPED ovlCommPort = new OVERLAPPED(); //------Declaring of ovlCommport
int BytesWritten = 0; //------Declaring of BytesWritten and set to 0
WriteFile(hComm, WriteBytes, WriteBytes.Length, ref BytesWritten, ref ovlCommPort); //------Transfer data to RS232
}/*-- End of Check Port is Open --*/
}/*-- End of Function Write --*/
}/*-- End of class Port --*/
}
This is my class 2
using System;
using System.Text;
using System.Threading;
namespace yong
{
public class Class2
{
static void Main(string[] args)
{
port CommPort = new port();
CommPort.Open();
while(true)
{
/*call write function*/
// Convert string to byte array and send
//string x = Console.ReadLine();
//byte[] byteDateLine = Encoding.ASCII.GetBytes( x.ToCharArray() );
//CommPort.Write(byteDateLine);
/*call read function*/
//Convert Byte to String
string sBuffer = Encoding.ASCII.GetString());
Console.WriteLine( sBuffer.ToString() );
}
}
}
|
|
|
|
|
I want to check that the text entered into a TextBox is a valid number.
I know that I can write some control structures to accomplish this but
is there a better method?
Requirements: Must accept positive, negative and decimal point.
Thanks in advance.....
|
|
|
|
|
I'm sure there's articles on how to do this on the site. You have several options, depending on if you want to not allow non-valid chars to be typed ( you need to derive a class from the textbox ), or if you want to validate entry after the user finishes ( catch to focus lost event and use a regular expression, I believe there's a regexValidator in winforms you can use, as there is in ASP.NET. )
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
regexValidator it is... many thanks Boss.....
|
|
|
|
|
I use CR 8.5, for the reports from my C#.NET - windows forms. I use "AxCrystal.AxCrystalReport" component for reporting, whats the way to send the report directly to printer??
"He that is good with a hammer tends to think everything is a nail." - Abraham Maslow
|
|
|
|
|
I am having some problems understanding how to wirte a c program could someone please help me.
Write a C program that displays a title, "Currency Conversion," and then write the names of five currencies and their equivalents to the US dollar. The conversions are hard coded equations. Insert comments in the program to document the program internally.
Design document: This includes a design flowchart, problem statement, list of all acceptable inputs (and their data types), and a list of all expected outputs (and their data types).
Source code: This is the complete source code listing of your program.
Version Control Sheet: This sheet keeps a maintenance log for the
program. It documents the author name, modification date, description of changes, and files changed. You will update this document while you are working on each programming assignment.
Tom J.
|
|
|
|
|
trjskid wrote:
am having some problems understanding how to wirte a c program could someone please help me.
C or C# ? You're in the C# forum
trjskid wrote:
Write a C program that displays a title, "Currency Conversion," and then write the names of five currencies and their equivalents to the US dollar. The conversions are hard coded equations. Insert comments in the program to document the program internally.
Ahh... this is HOMEWORK. Welcome to the real world, kid. This is where you do your own work and only ask questions when you're stuck. If that's too hard for you, cut out the middle man and apply for a job at McDonalds today.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Christian Graus wrote:
Ahh... this is HOMEWORK. Welcome to the real world, kid. This is where you do your own work and only ask questions when you're stuck. If that's too hard for you, cut out the middle man and apply for a job at McDonalds today.
brilliant
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Who is Jewish, the Trivia Game!
Judah Himango
|
|
|
|
|
Okay, I've done the hard part, envisioning and implementing this revolutionary new currency converting technology. I leave it to you to provide the documentation, flowcharts, graphs, PowerPoint slides and theses. I only ask that you mention my name in your acceptance speech for the Nobel Prize in Software (yes, I know there is no such thing now, but surely there will be after this):
class HighTechCurrencyConversionTechnology
{
public static void Main()
{
System.Console.WriteLine( "Currency Conversion" + System.Environment.NewLine +
"-------------------" + System.Environment.NewLine +
"$1 is 110.9900 Yen, 0.8192 Euro, $1.1995" +
" Canadian, 0.5579 UK Pounds, $1.3363 Australian.");
}
}
Matt Gerrans
|
|
|
|
|
If you're attempting to learn programming, you may wish to visit MSDN at Microsoft http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbref/html/vboriVBVCSharpSamples.asp?frame=true[^]. They have quite a lot of free downloads and samples on everything from 'How to declare an object variable and assign an object to it' all the way to full-blown sample applications. As much as I hate research, there's a lot of samples out there you can look at to get the feel for some basic tasks.
Based on your assignment, you may also want to do a little research on standard coding practices - like "best practices" on how to comment, how to name your variables (check out "hungarian notation" versus "camel casing") etc. If you're really into it, try to come up with at least 3 ways to do the same thing.
These tasks in your assignment are honestly useful. In pretty much any company where you are a programmer, you will have to do flowcharts, problem statements, user requirements, use cases, and test cases to some extent, and you will have to do at least some form of documentation, anywhere from commenting your own code well, to writing technical documents on your code.
Good luck, hope you like programming.
-- modified at 21:57 Wednesday 31st August, 2005
|
|
|
|
|
I'm toying with the idea of making an online card game using .NET remoting. Clients should only be able to control their player object and their own deck of cards, but other clients should have access to their events and the "back" of their decks (probably just a count of cards in the hand).
Is there a way to maybe intercept calls on the host and throw an exception if an object is marked with, say, a PlayerOnly attribute? One thing I'm having trouble understanding is how to identify the caller of a remote object.
Thanks in advance.
|
|
|
|
|
Just make all remote method calls contain the ID of the user who initiated the call. That way, you can do your restrictions on the host without any wild remoting hacks.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Who is Jewish, the Trivia Game!
Judah Himango
|
|
|
|
|
Yeah, that's my last resort solution... I wonder if there's a more elegant way to do it with Remoting though?
|
|
|
|
|
When the connection is made, you should be able to get the endpoint of the player connecting, and associate that with a player's name in a hashtable, or something similar, but I'd hardly call that elegant.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Who is Jewish, the Trivia Game!
Judah Himango
|
|
|
|
|
hi
How can I add webusercontrol in project class library
-- modified at 15:59 Tuesday 30th August, 2005
|
|
|
|
|
|
Thanks Alomgir
I don't want add usercontrol in a windows form , i want add usercontrol in a class library
|
|
|
|
|
This applies to classs library as well.
|
|
|
|
|
I have a Windows Form that creates an instance of a class of my own, and within that object I need to call a function that is part of the Windows Form. The problem is I don't know how to give my class a reference to my Windows Form. If this was C++ I'd just pass a pointer through the constructor... but this isn't C++... Anyone know the proper way to get a reference to a parent object so its methods can be called?
Bungo!
|
|
|
|
|