Oglądając film pana Zelenta na temat tworzenia własnego Notatnika postanowiłem że napiszę program, który umożliwia sprawdzenie, ile miejsca zajmują wybrane przez nas pliki. I utknąłem w dziwnym miejscu.
Po pierwsze, do Memo ładuję sobie ścieżki do plików, których rozmiary chcę zsumować:
if(OpenDialog1->Execute()) {
Memo1->Lines->AddStrings(OpenDialog1->Files);
// ... ciąg dalszy ...
i tu się pojawia problem, bo w ścieżckach są backslashe i późniejsza próba przetwarzania stringa z z nimi wyrzuca nieoczekiwane wyniki (pewnie dlatego, że traktuje je jako \a, \p, \n, itd). Poczytałem na ten temat i okazało się, że aby unikąć problemów, należy pozmieniać ścieżki z np. C:\plik.txt na C:\\plik.txt. Jednak, gdy próbuję to zrobić przez StringReplace:
StringReplace(Memo1->Lines->Text[i],"\\","\\\\",TReplaceFlags << rfReplaceAll);
to nic to nie zmienia - tak, jakby tych backslashy nie widział albo nie zapisał zmian. Nie mam pojęcia o co chodzi.
Czy ma ktoś jakiś pomysł?