MFC - nie wypisuje mi danych do Edit Controla

0

Witam.
Tak jak w temacie, zacząłem troszkę programować w MFC.
Chce napisać program liczący pochodna danej funkcji dla jakiegoś kąta.
Grafika i wszystkie algorytmy napisałem, niestety nie wiem czemu nie wypisuje mi efektu do Edit Controla.
Chciałbym prosić o sprawdzenie kodu
Mam jeszcze pytanie.
Chce zrobić, by w przypadku niezaznaczonego żadnego radio buttona wywaliło komunikat (dodatkowe okienko) z błędem, prosiłbym o składnie funkcji do wywołania takiego okienka.

pozdrawiam i czekam na odpowiedź,
Kwapa

0

Zaznać programowo na starcie jeden z nich i użytkownik nie będzie miał szansy "nic nie wybrać".

0

wolałbym, żeby wywaliło błąd :)
@Edit:
ale przede wszystkim to muszę ogarnąć to, żeby mi zwracało wynik do tych edit controlow

0

Ręce takim (które specjalnie na ekranie podpuchę projektują aby później błąd wywalić) programistom z d**y trza powyrywać.

0

Kolego, a czy moglibyśmy najpierw rozwiązać pierwszy problem? a zabezpieczenia przeciw idiotom zrobi się później :)

0

Nie ma pierwszego problemu, nie wypisuje ci efektu do Edit Controla, ponieważ nic nie wypisujesz do Edit Controla.

0

jak to? a

 
m_pochodna1.GetWindowTextW(cpochodna1[i]+L"%");
m_pochodna2.GetWindowTextW(cpochodna2[i]+L"%");

?

0

http://msdn.microsoft.com/en-us/library/db50wx7h%28v=vs.90%29.aspx
CWnd::GetWindowText
Copies the CWnd caption title (if it has one) into the buffer pointed to by lpszStringBuf or into the destination string rString.
Przetłumaczyć na polski?

0

dobra nieważne
zbyt długo nad tym siedzę i z jednego projektu przepisałem do drugiego, z tym że zamiast SetWindowText przepisałem Get...
czy dopisane "\n" w edit controlu spowoduje przejscie do nastepnej lini?

0

Get - pobiera i nie ma możliwości aby ustawiał.
Więc jest tylko jedna możliwość - chrzani waść!

0

w zasadzie mógłbym sprawdzić \n i \r, ale mam problem z wypisywaniem linijka po linijce w edit controllu.

for (int i=0; i<n; i++)
	{
		cpochodna1[i].Format(_T("%.2f"), Tpochodna1[i]);
		cpochodna2[i].Format(_T("%.2f"), Tpochodna2[i]);
		m_pochodna1.SetWindowTextW(cpochodna1[i]);
		m_pochodna2.SetWindowTextW(cpochodna2[i]+"\r");
	} 

jak to ugryźć?
i drugie pytanie:
czy przy rzutowaniu doubla na cstringa tracimy jakieś rozwinięcie po przecinku?

0

Ad.1. Może spróbuj wyjaśnić to pytanie w języku polskim.
Ad.2. Sam się zastanów jak masz zapisane w tekście 3.14 to czy da się z tego odtworzyć dalszy ciąg liczby π ?

0

jeśli chodzi o pierwsze pytanie, to chodziło mi o to, aby w edit controlu wypisywać wyniki jeden pod drugim (wartość pochodnej dla różnego dx)

natomiast jeśli chodzi o rozwinięcie to czy dałoby rade w jakiś inny sposób wyświetlić więcej, niż 2 miejsca po przecinku? w przypadku pochodnych to wyświetlenie 2 cyfr traci sens

0
CString all,row;
for(int i=0;i<n;++i,all+=row+"\n";) row.Format(_T("%.2f"),Tpochodna1[i]);
m_pochodna1.SetWindowTextW(all);
0

czy do tej składni nie wkradła się jakaś literówka?
all jest całym tekstem, który chcemy wrzucić w edit controla, natomiast row jest pojedynczą linijką, tak?

//edit:

 
for(int i=0;i<5;++i)
{
	all+=row+"\n"; 
	row.Format(_T("%.2f"),Tpochodna1[i]);
}
m_pochodna1.SetWindowTextW(all);

w takiej postaci wyrzuca mi błąd, że operator += jest niejednoznaczny

0
CString all,row;
for(int i=0;i<n;++i,all+=row) row.Format(_T("%.2f\n"),Tpochodna1[i]);
m_pochodna1.SetWindowTextW(all);
0

wszystko pięknie, ale nie dodaje znaku końca linii
Format(_T("%.2f) wskazuje do ilu miejsc po przecinku ma zaokrąglić, tak?

//edit: dobra działa, w opcjach Edit Control miałem multiline ustawione jako false

1 użytkowników online, w tym zalogowanych: 0, gości: 1