|
let say for example, if i want to write a config file to store string, how do i go abt doing that? and how do i read config files after writing them?
im totally new to config files and C++, and i need guidance in understanding them, bear with me pls.
|
|
|
|
|
String ^file = gcnew String ("c:\\config.txt");
FileStream ^fs = gcnew FileStream(file, FileMode::OpenOrCreate, FileAccess::Write);
StreamWriter ^sw = gcnew StreamWriter(fs);
sw->WriteLine("Line1");
sw->WriteLine("Line2");
sw->WriteLine("Line3");
sw->WriteLine();
sw->WriteLine("Line5");
sw->Close();
fs->Close();
fs = gcnew FileStream(file, FileMode::Open, FileAccess::Read);
StreamReader ^sr = gcnew StreamReader(fs);
while (!sr->EndOfStream)
{
MessageBox::Show(sr->ReadLine());
}
sr->Close();
fs->Close();
|
|
|
|
|
mactick wrote: i would like to know how to go about reading and writing config files in C++/CLI.
They hide that information in the documentation[^]
led mike
|
|
|
|
|
ok i am beginner in c programming language can you help with c i have assignment but i cant do it
if you want help me please email me :alisher2005@hotmail.com
|
|
|
|
|
I think you should begin with finding out how message boards work.
First thing is to find the right message board, in this case you are in the wrong one.
This message board is only for C++/cli.
Second thing is that you never ever ask someone to do your homework.
With this said I think you should google a c tutorial or buy a book.
Good luck.
|
|
|
|
|
|
Can I serialize a class object in Dialog based application, if yes, can anybody let me know how to do that one. If not, then how to do it in an alternate way?
Thanks in advance,
Sunil Jampa.
|
|
|
|
|
This is wrong forum for this question. Use VC++ fourm instead.
And have look at this[^] before asking doubts.
|
|
|
|
|
with this example i always get -1 as output.
ListView::ColumnHeaderCollection ^test = lstListUsers->Columns;
Int32 test1 = test->IndexOfKey("ID");
i Want to get index number for Specific Column. Can somebody help me with it?
Thanks in advance
|
|
|
|
|
Can you post the code you're using to create the headers in the control?
System.IO.Path.IsPathRooted() does not behave as I would expect
|
|
|
|
|
Josh Gray wrote: Can you post the code you're using to create the headers in the control?
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_ID)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_ID_DISPLAY_NAME, 50);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_ID)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_USERNAME)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_USERNAME_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_USERNAME)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_PASSWORD)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_PASSWORD_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_PASSWORD)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_FIRSTNAME)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_FIRSTNAME_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_FIRSTNAME)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_LASTNAME)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_LASTNAME_DISPLAY_NAME, 100);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_LASTNAME)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_CITY)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_CITY_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_CITY)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_ADDRESS)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_ADDRESS_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_ADDRESS)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_PHONENUMBER)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_PHONENUMBER_DISPLAY_NAME, 110);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_PHONENUMBER)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_EMAIL)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_EMAIL_DISPLAY_NAME, 150);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_EMAIL)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_JOINDATE)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_JOINDATE_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_JOINDATE)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_LOGINLEVEL)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_LOGINLEVEL_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_LOGINLEVEL)
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_GMT)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_GMT_DISPLAY_NAME, 80);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_GMT
#if defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_COMMENT)
lstListUsers->Columns->Add(TABLE_USERS_COLUMN_COMMENT_DISPLAY_NAME, 150);
#endif //defined(USER_POWER_TABLE_USERS_ENABLE_COLUMN_COMMENT)
|
|
|
|
|
Yuk,
Why are you inserting the column using a #define for the name but then not using the same #define as the key to find the column?
System.IO.Path.IsPathRooted() does not behave as I would expect
|
|
|
|
|
Before i posted in this forum, that was my first choice, but all i tried, put out just -1.
I wan't this index number, when i click on it and then click delete, i woud know, witch cell to read. I am using alot of #define for enormous setting. Some coud be disabled. If i can't find by ID, will try by Username or email. (Only 3 options that can be unique). ps i have almost all Columns enabled, except Comment.
|
|
|
|
|
Try to create a very small test program that has the same problem without all the #defines and post the code
System.IO.Path.IsPathRooted() does not behave as I would expect
|
|
|
|
|
listView1->Dock = DockStyle::Fill;
listView1->View = View::Details;
listView1->FullRowSelect = true;
listView1->Columns->Add("Col1", 100);
listView1->Columns->Add("Col2", 100);
ListViewItem ^lvItem = gcnew ListViewItem();
ListViewItem::ListViewSubItem ^lvSub1 = gcnew ListViewItem::ListViewSubItem();
lvItem->Text = "Cell1";
lvSub1->Text = "Cell2";
lvItem->SubItems->Add(lvSub1);
listView1->Items->Add(lvItem);
ListView::ColumnHeaderCollection ^test = listView1->Columns;
Int32 test1 = test->IndexOfKey("ID");
MessageBox::Show(test1.ToString());
And it is still same. I get -1
|
|
|
|
|
Because your columns are called "Col1" and "Col2" not "ID"
System.IO.Path.IsPathRooted() does not behave as I would expect
|
|
|
|
|
Did you tried example?
In that example i made typo, but even if i change "ID" to "Col2", the result is same.
|
|
|
|
|
bsaksida wrote: Did you tried example?
Nope, dont have time to do that today
Do the columns appear on the screen?
System.IO.Path.IsPathRooted() does not behave as I would expect
|
|
|
|
|
Yes everything was ok, except i cant get Index key for specific column.
|
|
|
|
|
Found a workaround this problem:
MessageBox::Show(listView1->Columns[1]->Text);
If i used it in the for loop, i coud get index ot the columns
|
|
|
|
|
Guys,
I'm trying a little test app in C++. I added a button and an event handler for this button.
I'm creating a test app that has to call some dll functions in late binding. Although I have done this before I tried to do a simple AfxMessageBox just to get the hang of it again. And it fails (yes this line: AfxMessageBox("Test"); fails. Even CString test = "My test here."; fails.)
so what did I forget? (I made a MFC app via the wizard, it gave me an error when adding the control variable for the button, but the rest it did just fine). MSDN says I have to do it like this. (and my memory, pray to God it didn't fail me, says so too;P)
the error message I get is :
Error 1 error C2440: 'initializing' : cannot convert from 'const char [9]' to 'ATL::CSimpleStringT<BaseType>' d:\projects\projects c++\loaddlltest\loaddlltest\loaddlltestdlg.cpp 92
tnx...
[MODIFIED]It doesn't work in 2005, it does work in 6.0 ...[/MODIFIED]
V.
If I don't see you in this world, I'll see you in the next one... And don't be late. (Jimi Hendrix)
|
|
|
|
|
AfxMessageBox(_T("Test"));
CString test = _T("My test here.");
led mike
|
|
|
|
|
works idd, I'll have to look up why some day .
tnx
|
|
|
|
|
I think it is just because the default project settings in VS2005 is UNICODE.
led mike
|
|
|
|
|
BOOL WriteFile(
HANDLE hFile, // handle to file to write to
LPCVOID lpBuffer, // pointer to data to write to file
DWORD nNumberOfBytesToWrite, // number of bytes to write
LPDWORD lpNumberOfBytesWritten, // pointer to number of bytes written
LPOVERLAPPED lpOverlapped // pointer to structure for overlapped I/O
);
When using this function and it's return false (failed) can i rely on lpNumberOfBytesWritten value?
(no answer in MSDN)
|
|
|
|