|
TripShock wrote: Could someone please explain it to me?
They implemented stack semantics[^] in C++/CLI
|
|
|
|
|
Why is it that I can't do this:
String yo;
|
|
|
|
|
From the docs[^]:
The following reference types are not available for use with stack semantics:
*delegate
*array (Visual C++)
*String
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Welcome to CodeProject
TripShock wrote: Why is it that I can't do this:
Because you need to do this:
String^ yo;
That said, if you had spent like 10 minutes reading any of the tons of beginner material here on this site and all over the internet related to the CLI subject, you would already know that. 10 minutes rather than the 3 hours you have waited for an answer from an internet forum.
10 minutes or 3 hours, you decide.
|
|
|
|
|
hi guys,
i am creating a VC++ program that connect to mysql database on remote server.i have tried few steps but it didnt work.i need advice on which database i should use and it must be in a remore location.
i create a mysql database on speedhosting.co.cc but its a database for php. Is it possible for a C++ program connect to it and get data from there ??
|
|
|
|
|
Thilek wrote: i am creating a VC++ program
Why have you moved this topic to the Managed C++/CLI forum? Are you doing CLI development?
Thilek wrote: i have tried few steps but it didnt work
We are not mystical beings and therefore have no idea what you have tried unless you provide that information.
|
|
|
|
|
i use .net for this program..
below is my coding :-
#pragma once
#include <mysql.h>
namespace trialcpp {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace MySql::Data::MySqlClient;
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
}
protected:
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ cmdLogin;
private: System::Windows::Forms::Button^ cmdExit;
protected:
private:
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
void InitializeComponent(void)
{
this->cmdLogin = (gcnew System::Windows::Forms::Button());
this->cmdExit = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
this->cmdLogin->Location = System::Drawing::Point(52, 190);
this->cmdLogin->Name = L"cmdLogin";
this->cmdLogin->Size = System::Drawing::Size(75, 23);
this->cmdLogin->TabIndex = 0;
this->cmdLogin->Text = L"Login";
this->cmdLogin->UseVisualStyleBackColor = true;
this->cmdLogin->Click += gcnew System::EventHandler(this, &Form1::cmdLogin_Click);
this->cmdExit->Location = System::Drawing::Point(175, 190);
this->cmdExit->Name = L"cmdExit";
this->cmdExit->Size = System::Drawing::Size(75, 23);
this->cmdExit->TabIndex = 1;
this->cmdExit->Text = L"Exit";
this->cmdExit->UseVisualStyleBackColor = true;
this->cmdExit->Click += gcnew System::EventHandler(this, &Form1::Exit_Click);
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(326, 266);
this->Controls->Add(this->cmdExit);
this->Controls->Add(this->cmdLogin);
this->Name = L"Form1";
this->Text = L"Form1";
this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
this->ResumeLayout(false);
}
#pragma endregion
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void Exit_Click(System::Object^ sender, System::EventArgs^ e) {
this->Close();
}
private: System::Void cmdLogin_Click(System::Object^ sender, System::EventArgs^ e) {
MySqlDataAdapter^ mySqlDataAdapter=gcnew MySqlDataAdapter();
MySqlConnection ^conDatabase = gcnew MySqlConnection("Server=sql304.speedhosting.co.cc;Uid='speed_2972829';Pwd='kettavan'; Protocol=tcp; Pooling=false");
conDatabase->Open();
System::Windows::Forms::MessageBox::Show("Connection Successful");
conDatabase->Close();
}
};
|
|
|
|
|
led mike wrote: We are not mystical beings
speak for yourself...
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I knew there was something different about you!
|
|
|
|
|
about who ???
|
|
|
|
|
int BigNumber = Convert::ToInt64(BigString);
I am trying to create an Int (BigNumber) from a very long String (BigString, which is made up of let's say ~25 characters).
Should I use ToInt64 or ToInt32?
What are the character limits of the two? What's better?
Thank you!
|
|
|
|
|
Hi,
you probably know what the largest value is a 32-bit int can hold; if not look at Int32.MaxValue.
a 64-bit int can hold about the square of that.
Neither will reach a 25-digit string representation assuming decimal and no leading zeroes.
Also it does not make sense to call ToInt64 and store the result in an int; the compiler will object
to that.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Neither Int32 or Int64 are going to hold a ~25 digit number.
2^32 = 4294967296
2^64 = 18446744073709551616
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: 2^32 = 4294967296
2^64 = 18446744073709551616
Actually for signed integers the maximum values are one less than half of those numbers.
BTW: you should use thousand separator characters to keep such numbers somewhat readable...
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Yeah.....um....thanks for the tips Luc
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
You err are welcome.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Mark Salsbery wrote: thanks for the tips
Here's another:
If you give a man a fish he'll stink up the whole village, but give him a fishing rod, see where I'm going with this? Give him a fishing rod and he'll poke yer eye out.
|
|
|
|
|
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
One should always wear safety glasses when using hazardous equipment, such as Windows PCs.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
int MyInt;
String^ MyString = MyInt.ToString();
Guys, I need some help on C++/CLI please.
Given an Int ("MyInt") how can I generate a string called "MyString" which is made up of only the first let's say 5 digits of the Int? I guess there must be a simple attribute that I can specify in the line above but I cannot find the right sintax. Any help would be appreciated. Many thanks.
|
|
|
|
|
Hi,
no there is no optional parameter that lets you specify that you only are interested in the N
leftmost or N rightmost digits; ToString() will give all of them, you can throw away the part you
do not want using string::SubString(). Not sure it makes much sense to do so.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
One could go totally overkill and implement an IFormatProvider/ICustomFormatter
that automatically trims the string (using Convert.ToString(Intxx, IFormatProvider)).
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
hi guys,
i am writing a directory scanning program.. my program will scan the entire directory and list down the file names. i am using a listbox to show the filenames.
Currently the program will do the entire searching then will list down the file names after complete. the program should show the filenames one by one while searching the directory.
how can i do that guys..help me plz..
Below is my coding :-
wstring directory =(L"C:\\Windows\\system32");
if (ListFiles(directory, L"*", files)) {
for (vector<wstring>::iterator it = files.begin();
it != files.end();
++it) {
std::string filename = WStringToString(it->c_str());;
std::string s=filename;
String ^someString= gcnew String(s.c_str());
listBox1->Items->Add(String::Concat(someString));
}
}
listBox1->EndUpdate();
Regards,
Thilek
|
|
|
|
|
Maybe try updating the control after each item is added, something like:
listBox1->Items->Add(String::Concat(someString));
listBox1->SelectedIndex = index;
listBox1->Update();
I'm curious - why all the string conversions in there?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
what should i replace the index with..
when i compile it its showing :-
error C2065: 'index' : undeclared identifier
Help me plz and thanks ya.
|
|
|
|