Witam!
Tak CB, masz racje porada do której podałeś odnośnik jest jak najbardziej tym samym o czym ja napisałem. Klasa którą w tej poradzie wykorzystałeś
TIniFile jest także jak najbardziej przydatna i też proponuje wykorzystanie tej klasy autorowi tego postu. Jednak ja nie pisałem o sposobie zapisu i odczytu danego klucza z/do pliku .ini tylko o konwersji tekstu który jest w tym obiekcie na postać jednego łańcucha znaków i z powrotem, czyli dokładnie tak jak w tej poradzie. Są tam takie dwie funkcje (StrToIniStr, IniStrToStr) z mnóstwem inkremenctacji, pętli, i instrukcji warunkowych a robią w sumie dokładnie to samo co te które przedstawiłem.
Z jednym się tylko nie zgodzę (o ile dobrze zrozumiałem co masz na myśli):
Jak widać wykorzystywany jest znak łamania linii \n, gdyż po wczytaniu takiego zapisu do Memo nie trzeba go parsować, po prostu Memo rozpoznaje ten znak i w tym miejscu łamie tekst.
Ten znak (\n) jest wykorzystany w Twoim sposobie dokładnie tak samo jak
Ů w moim przykładzie - do zaznaczenia gdzie tekst ma być złamany. Dopiero dzięki funkcji
IniStrToStr, znak
\n jest zamieniany na odpowiedni kod ASCII który Memo już rozpoznaje jako znak nowej linii. Natomiast sam ciąg znaków
\n nie jest automatycznie rozpoznawany przez obiekt Memo podczas wczytywania z pliku, czy wklejania ze schowka. Nawet kiedy napiszemy
- Kod: Zaznacz cały
Memo1->Text = "linia1\nlinia2";
to napis nie pojawi się dwu linijkowy, tylko z dziwnym znakiem w miejscu gdzie tekst powinien być złamany. Przynajmniej tak jest na moim komputerze a to już dyskwalifikuje takie rozwiązanie pod względem uniwersalności. Aby to sprawdzić to wystarczy podany tekst zapisać w pliku i wczytać go do Memo. Bez konwersji przy pomocy danej funkcji nie działa.
Nie wiem czy trafiłem w to co masz na myśli, ale ja to tak odebrałem i szkoda by było aby inni to odebrali w ten sam błędny sposób co ja. Dlatego napisałem co mi na sercu leżało

Pozdr!
If a machine is expected to be infallible, it cannot also be intelligent.
-- A.Turing