Witam.
Mam kalkulator ( VC++2010 CLR/WFA), w nim 8 textBoxów gdzie są liczby. Tylko do dwóch zawsze wpisuję dane, pozostałe obliczają szukaną. Są 3 radioButtony do przełączania poszczególnych textBoxów, w zależności od tego których danych szukam. U mnie w domu wszystko chodzi jak należy, tzn na klawiaturze numerycznej jak naciskam kropkę to mam przecinek i jest OK, jednak w pracy na komputerze (Win XP), to textBoxów wpisuje się kropka. Niestety nie mam możliwości zmiany ani języka ani klawiatury. Użycie locale
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
Double label1, label2, label3, label4, label7, label8, label9;
Int32 sto, jeden, dycha, label5;
jeden=1;
sto=100;
dycha=10;
CultureInfo^ przecinek = CultureInfo::CreateSpecificCulture("pl-PL");
nie zdało egzaminu. Następnie spróbowałem inaczej:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
Double label1, label2, label3, label4, label7, label8, label9;
Int32 sto, jeden, dycha, label5;
jeden=1;
sto=100;
dycha=10;
NumberFormatInfo^ przecinek = gcnew NumberFormatInfo;
przecinek->NumberDecimalSeparator = ",";
i kalkulator wysypuje się tylko podczas jednego szukania. Pracuje na 90%.
I tu jest dziwna sprawa, przynajmniej dla mnie. W textBoxach aktywnych wpisuję przecinek i jest OK, ale w tych nie aktywnych, gdzie nie mogę ich edytować liczby pokazują się już z kropką. Chyba nie bardzo tak może być.
Przebuszowałem już różne fora i nie mam pomysłów. Replace też nie pomaga, chyba że źle wpisuję:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
Double label1, label2, label3, label4, label7, label8, label9;
Int32 sto, jeden, dycha, label5;
jeden=1;
sto=100;
dycha=10;
Double::TryParse(textBox9->Text->Replace('.',','), label8);
Double::TryParse(textBox10->Text->Replace('.',','), label9);
Double::TryParse(textBox2->Text->Replace('.',','), label2);
Int32::TryParse(textBox6->Text->Replace('.',','), label5);
Proszę o jakieś wskazówki lub propozycje.