Cześc.
Jak wiecie staram się sobie na ogół radzić sam, ale tutaj pomimo kombinowania nie za bardzo znowu mi wychodzi. Tym razem problem nie z WinAPI, a z UNICODE. Do tej pory pod Delphi 7 potrzebowałem wsparcia i wyświetlania takich znaków jak ta dziwna, ruska Cyrylica w jednym z projektów. I to głownie za namową @Marooned'a, który jako aktywny użytkownik mojego programu do pobierania zdjęć znajomych z FaceBooka ma decydujące zdanie :) Ale do rzeczy. Chodzi o kod: http://4programmers.net/Pastebin/2280 - załączyłęm go w module ashellctrls.pas
wraz z testowym programem w Delphi 7 i exekiem w pliku unicode_stv.rar
. Przycisk Button1
tworzy nam katalog na dysku D:\ poprzedzony !_
i tym ruskim tekstem. Nie wiem nawet co to znaczy - nie sprawdzałęm. Zostało to skopiowane na szybko z pliku pomocy do nowego FAR Managera. Chodziło tylko o szybki test. Kiedy wejdziemy do tego katalogu, jak widać przycisk Button7
pokazuje nam prawidłową śieżkę w komponencie typu TTntLabel
. Jakby ktoś nie miał TNT w tej wersji ze źródłem większości modułów (ale bez tntnitfiles
, który sobie wygooglowałem w jakiejś wersji i tam dodałem), ktorej użyłem to dodałem ją w archiwum tnt.rar
. Najlepiej wrzucić do $(Delphi)\LIB\TNT\
i zapisać cały projekt i przebudować, bo Search Path jest dodane, tylko w pliku *.cfg może się nie odświeżyć. Ok, problem jest oczywisty. Jak sprawić aby katalog również wyświetlił się w Cyrylicy? Pozmieniałem możliwe typy ze string
na WideString
. Funkcje WinAPI jakie znalazłem z tych bez sufixu (czyli pod Delphi 7 z "A", takie jak FindFirstFileA
) na te z W. czyli z przykładowo FindFirstFileA
na FindFirstFileW
. To samo z typami. Ale mogłem coś przeoczyć. Samego miejsca dodawania dokładnie nie namierzyłem. Dlatego prośba do wszystkich. Pomóżcie sprawić aby ten komponent pokazał mi folder z prawidłowymi znakami cyrlicy zamiast znaków zapytania. I nie chcę instalować 32 bitowego Lazarusa i pod nim modzić. Wolę mieć projekt nadal w Delphi 7 i spróbować jakoś z Waszą pomocą ogarnąć temat żeby w programie poza użytymi już kontrolkami TNT - mieć pełne wsparcie dla nietypowych tekstów z UNICODE. Dodam, że oryginalny kod miałem już kiedyś w podkatalogu LIB
i jest on jako oryginał chyba prawidłowy. Proszę o przykłady rozwiązań. Z góry dziękuję i przepraszam za rozpisanie się :)