Lazarus SaveDialog.FileName

0

Mam problem , w Lazarusie, z zapisem nazwy pliku. Dokładnie chodzi o polską literkę "ł" w nazwie zapisywanego pliku. Jak to sprytnie rozwiązać?
(poniższy kod działa dobrze tylko coś z kodowaniem nie tak :/ )

var
  Lista: TStringList;
begin
  SaveDialog1.FileName:= 'Zło' + FormatDateTime('mm-yyyy',Now); // tu problem z polskim "ł"
  if SaveDialog1.Execute then
    begin
      Lista := TStringList.Create;
      With Lista do
       begin
         Add({Jakiś zapisywany text});

         SaveToFile(SaveDialog1.FileName);
       end; 
    end; 
end; 
0

Zmiec nazwe pliku bez polskich znakow

0

Słuszna uwaga, z tym , że jeśli w okienku zapisu pliku zmienimy domyślną nazwę pliku na wyraz z literką "ł" to zapisany plik w nazwie będzie miał krzaka...

0

A masz ustawione dobre kodowanie pliku źródłowego (UTF-8)?

2

Problem się pojawia tutaj:

SaveToFile(SaveDialog1.FileName);

musisz przekonwertować ścieżkę z UTF-8 na stronę kodową Windowsa, najprościej:

SaveToFile(UTF8ToAnsi(SaveDialog1.FileName));
0

Paweł, dzięki... to jest to :)

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