Witajcie
Mam dość nietypowy problem. Mam aplikację, która używa najzwyczajniejszego w świecie
TOpenDialog
aby zwrócić FileName wskazany przez użytkownika. Na szybko przygotowałem dla was demo:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (OpenDialog1.Execute) and (OpenDialog1.FileName <> '') then
Label1.Caption := OpenDialog1.FileName;
end;
Taki kod zwraca to co widać na screenie. Między literami N i O nie ma nic wizualnego ALE
Jak z pod debuggera sprawdzę sobie FileName to dostaję coś takiego:
'D:\Profilometr\Duchno'#$206B'w 2015_06_25\Duchnow_2015_06_25.srw'
Chodzi o ten dziwny ciąg: '#$206B'. Rzeczywiście jak wszedłem w nazwę folderu i zacząłem naciskać backspace między literami "W" i "O" to musiałem nacisnąć 3 razy zamiast dwóch aby usunąć również ten niewizualny znak. Pytanie do was co to za dziwactwo i jak się tego pozbyć? Ten FileName wykorzystuję później np zapisując do XML co powoduje wylotem całej aplikacji. Gdyby to był jedyny przypadek to bym olał ale to już druga taka sytuacja z dziwnym znakiem w nazwie. Jakbyście się przed tym zabezpieczyli?