Dodanie wartości(zmiennej) do MessageBoxa

0

Chciałbym w MessageBoxie wyświetlić np. liczbę dodawaną, wiem tylko, że dodaje się + (1,5 godz googlowania :D i szukania rozwiązania).

np. MessageBox(Application.Handle,'To nie był pierwszy, lecz ' + _LICZBA + ' nr. ! :)) ', 'ZAKOŃCZONO', MB_OK + MB_ICONEXCLAMATION)

I wyświetliło by To nie był pierwszy, lecz 7 nr. ! :))

1
var
  Liczba : integer;
begin
  Liczba := 7;
  // SPosób 1
  MessageBox(Application.Handle, PChar('To nie był pierwszy, lecz ' +
    IntToStr(Liczba) + ' numer! :)'),
    'Zakończono', MB_ICONEXCLAMATION + MB_OK);
  // Sposob 2
  MessageBox(Application.Handle,
    PChar(Format('To nie był pierwszy, lecz %d numer! :)', [Liczba])),
    'Zakończono', MB_ICONEXCLAMATION + MB_OK)
end;

A poza tym nie chce mi się wierzyć, że przez tyle czasu nie można było znaleźć informacji na temat konwersji typów. Przecież wystarczy wpisać w googe: delphi convert integer to string i stron z przykładami oraz informacjami masz mnóśtwo.

0

właśnie znajdywałem, lecz patrzałem, na konwertowanie zmiennych i żadnym nie mogłem przerobić tak, aby wyświetliło, sposób 1 - to co sam miałem :D

Rany, teraz działa :D PChar, wcześniej też sam próbowałem, lecz nie działał, a teraz zadziałał !! :)) Dziękuję Ci bardzo :DD Się nad głupotą tyle bawiłem, na necie do konwertowanie szukałem różnych próbowałem i lipa :D

Wcześniej próbowałem na przykładzie jakiegoś programu, co sprawdzał rozmiar plików :D i może dlatego, i miałem zmienną zła, a teraz nie użyłem PChar, aż poczytam do czego on jest taki ważny :D

Ten temat zamykam :))

0

Prosze bardzo, a PChar jest ważny kiedy używamy stringów jako zmiennych, bo MessageBoxA/W to funkcja systemowa ładowana z systemowych bibliotek dll (opis tej funkcji masz na http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx) a dllki systemowe Windowsa są pisane w C, a tam taki typ jak string nie istnieje. PChar jest wskaźnikiem na tablicę Charów i taki typ musi być do tej funkcji przekazany. Więcej poczytasz na masie stron które można wygooglowac. Może coś pomyliłem, to prosze mnie poprawcie. ale późna pora, także też idę spać.

0

I zaś mam problem, niby już coś pokombinowałem z tym pobieraniem z WWW, ale nie potrafię tej cyfry w messboxie wyświetli zaś zły string:

MessageBox(Application.Handle,PChar('Wartosc:' + IntToStr(MemStream)), 'ZAKOŃCZONO', MB_OK + MB_ICONEXCLAMATION);

Incompatibile types String and TMemoryStream

@Edit Znalazłem już: http://stackoverflow.com/questions/732666/converting-tmemorystream-to-string-in-delphi-2009 przedostatnia funkcja :PP

Dobra, z tym sobie chyba już poradzę, Temat do zamknięcia.

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