Hi Everybody,
I would appreciate it if you can give me a hand here.
I want to use the two codes, below, together to do the following
when the "IN" button is clicked (InBtn_Click):-
1- Create (or open) output.txt, and
2- Type the current time (hour only) in it.
I tried to include the first code inside the handle function in the second
code, but it does not work. Can anybody tell me who I am going to work the
two codes together?
Each code works fine by itself. The message box inside the
handler works fine when "IN" button is clicked. The the output.txt file
open and the current time will be stamped inside it when I use it in a
different function. But if I put the first code inside the handler function
of the second code, then, when I click the "IN" button, I would not get what
I am expecting, Which is to open output.txt and stamp the current time.
First code:
FileStream* fs = new FileStream(S"output.txt", FileMode::Create);
StreamWriter* sw = new StreamWriter(fs);
String* TimeString = System::DateTime::Now.ToString("HH");
sw->WriteLine(TimeString);
sw->Flush();
sw->Close();
Second Code:
private: System::Void InBtn_Click(System::Object * sender,
System::EventArgs * e)
{
// If I put the first code here, output.txt would not be created and current
time
//would not be stamped.
if ( mark == '-')
{
MessageBox::Show(" You can't sign in twice! ",S" Error ");
}
}

Signature
Thanks
Allen
Barry Kelly - 03 Dec 2007 16:59 GMT
> I would appreciate it if you can give me a hand here.
The error messages you're getting would help us out.
> I tried to include the first code inside the handle function in the second
> code, but it does not work. Can anybody tell me who I am going to work the
[quoted text clipped - 15 lines]
> sw->Flush();
> sw->Close();
This is using the obsolete VS 2003 C++ syntax (/clr:oldSyntax).
AFAIK, for a modern project, you'd need to manually configure the
compiler to support the old syntax. Current syntax looks more like:
---8<---
using namespace System;
using namespace System::IO;
// ...
// use new C++/CLI syntax for managed references (for illustration only;
// disposable objects like FileStream should use stack-style as
// illustrated in the next line, where possible.
FileStream^ fs = gcnew FileStream("output.txt", FileMode::Create);
// Use new C++/CLI stack-style objects for automatic disposal.
StreamWriter sw(fs);
sw.WriteLine(DateTime::Now.ToString("HH")); // note '.' in stack-style.
// Because StreamWriter implements IDisposable and is allocated in stack
// style, an IDisposable.Dispose call will automatically occur when the
// stack-style object go out of scope. The flush and close are implicit
// in the disposal of a stream.
--->8---
> Second Code:
>
[quoted text clipped - 11 lines]
> }
> }
I expect that in the source code file properties in the project for this
form, the syntax is configured for modern C++/CLI, rather than the
obsolete syntax, and that's the reason it's not working.
Without showing us your compiler error(s), though, it's hard to be
certain.
-- Barry

Signature
http://barrkel.blogspot.com/