
pitek3010 napisał(a):Problem z Application->MessageBox jest rozwiązany trzeba wstawić dwa razy L tylko w tedy wyskakują duże okna dlatego używam MessageBox.
A moje pytanie o zmienną w MessageBox było po to żeby wyeliminować te duże okna i tyle.
pitek3010 napisał(a):Niestety w przypadku mojego Znajdź mam dalej duże okna bo nie wiem czy da się zastosować zmienną w MessageBox.
///---------------------------------------------------------------------------
void __fastcall TForm4::Button1Click(TObject *Sender)
{
static const wchar_t * NIE_ZNALEZIONO = L"Nie można odnaleźć \"%s\" ";
static const wchar_t * ZNALEZIONO = L"Odnaleziono szukany tekst \"%s\", "
L"Kolumna: %d Wiersz: %d";
UnicodeString msg;
msg.sprintf(NIE_ZNALEZIONO, LabeledEdit3->Text);
MessageBox (NULL, msg.t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);
msg.sprintf(ZNALEZIONO, LabeledEdit3->Text, fc.Col, fc.Row);
MessageBox (NULL, msg.t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);
msg.sprintf(ZNALEZIONO, LabeledEdit3->Text, fc.Col, fc.Row);
Application->MessageBox(msg.c_str(), L"Info...", MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------

[""] ??
Application->MessageBox(UnicodeString("Treść komunikatu.\nzłamana linia").t_str(), UnicodeString("Tytuł okna").t_str(), MB_OK | MB_ICONINFORMATION);
Application->MessageBox(TEXT("Treść komunikatu.\nzłamana linia"), TEXT("Tytuł okna"), MB_OK | MB_ICONINFORMATION);
Application->MessageBox(TEXT( ("Pole Edit1 zawiera tekst: \"" + Edit1->Text + "\"").c_str() ), TEXT("Tytuł okna"), MB_OK | MB_ICONSTOP); // może .t_str() zamiast .c_str()

Application->MessageBox(TEXT( ("Nie można odnaleźć teksu: \„" + LabeledEdit3->Text + "\”").c_str() ),
TEXT(L"Znajdź"), MB_OK | MB_ICONINFORMATION);

pitek3010 napisał(a):Jeżeli tego naprawde sie nie da to pozostane przy sposobie Witolda chyba że ktoś jeszcze potrafi pomóc, jak nie to proszę na odpowidz co z tym "null"
UnicodeString msg;
msg = L"Nie można odnalźć " + LabeledEdit3->Text;
MessageBox (NULL, msg.t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);
//itd.MessageBox (NULL, ("Nie można odnalźć " + LabeledEdit3->Text).t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);
Cyfrowy Baron napisał(a):Może tak:


pitek3010 napisał(a):Działa ostatnie po małej modyfikacji [...]
TEXT(("Nie można odnaleźć teksu: \„" + LabeledEdit3->Text + "\”").c_str())
Cyfrowy Baron napisał(a):Na pewno istnieje prosty sposób, ale trzeba poszukać w pliku pomocy.
::MessageBox(0, _TEXT("The message"), _TEXT("The caption"), MB_OK);

MessageBox (NULL, ("Nie można odnalźć " + LabeledEdit3->Text).t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);

MessageBox (NULL, ("Nie można odnalźć " + LabeledEdit3->Text).t_str() ,TEXT("Znajdź"), MB_ICONINFORMATION);::MessageBox(0, _TEXT("The message"),
_TEXT("The caption"), MB_OK);
Widać makro to _TEXT lub _T, nie TEXT (które jest chyba z windows’a) – działają chyba tak samo.


Korzystam z BDS2009 i tam w Project->Options jest pierwsza zakładka Directories and Conditionals. Mam ustawienie _TCHAR maps to char


Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 5 gości