Za pomocą PosEx kopiuje jakis fragment tekstu (zawiera kilka lini zrobionych enterem) . Po wpakowaniu do zmiennej a nastepnie z tej zmiennej do labelela wyswietla sie normalnie, natomiast jak przeniose z tej zmiennej do rekordu, a nastepnie z rekordu wyswietle w Memo to ju nie ma znaków nowej lini :\ , tekst jest "na kupie" a tam gdzie powinna sie zaczynac nowa linia (nowy wers) to jest jakis dziwny czarny wąski kwadrat. Dlaczego tak sie dzieje ?
Prześledź kod i sprawdź jak jest kod znaku który jest widoczny w miejscu w którym powinien być znak końca wiersza. Jeżeli są tam inne znaki niż te które powinny się tam znajdować czyli #13#10 (#$D#$A) to je po prostu zmień. Nie sprawdzałem teraz, ale samo #13 lub sam #10 powoduje własnie efekt który opisujesz.
Kurcze.... nie wiem co jest grane, chyba nie zrozumialem tego do konca. To troche dziwne, sytuacja wyglada tak, wpisuje jakis tekst w richedicie i buttonem dodaje calą zawartość do tablicy rekordów Notatka: String; oraz jej tytuł jako Temat: String i ten sam tytuł do ListView1. Dodałem #13#10 w procedurze dodawania:
with Dane[High(Dane)] do
begin
Temat:=LabeledEditTemat.Text;
for i:=1 to RichEdit1.Lines.Count do
begin
Notka:=Notka+RichEdit1.Lines.Strings[i]+#13#10;
end;
end;
Wczesniej dodawałem Od razu cały text RichEdita przez RichEdit.Text ale pomyslalem że to tutaj wina wiec podzielilem dodawanie na każdą linie z osobna. Po wcisnieciu buttona "Zapisz" nastepuje zapis calej tablicy rekordów do pliku tekstowego:
procedure TfrmMain.WriteDate(const FileName: TFileName);
var
i: integer;
PlikTXT: TextFile;
begin
assignfile(PlikTXT, FileName);
rewrite(PlikTXT);
for i:=Low(Dane) to high(Dane) do
begin
writeln(PlikTXT, '<TM>'+Dane[i].Temat+'</TM>');
writeln(PlikTXT, '<NT>'+Dane[i].Notka+'</NT>');
end;
CloseFile(PlikTXT);
end;
Po takim zapisie zagladając do pliku wszystko jest ok (kolejne linie zaczynają sie w prawidłowych miejscach). Po ponownym otwarciu programu Dane z pliku zostają pobierane i ładowane ponownie do tablicy, teraz nawet gdy nie dokonam żadnych zmian i wcisne przycisk "Zapisz" zaglądając do pliku tekstowego ponownie cały tekst jest na jednej "kupie" a w miejscach gdzie powinna sie zaczynać nowa linia jest jakiś dziwny kwadrat i w zależnoći ile powinno być tych linie tyle jest kwadratów. Po kolejnym odpaleniu programu tekst w richedicie jest co prawda wyswietlany normalnie (są nowe linie) ale nie podoba mi sie ten bajzel w pliku tekstowym. Wydaje mi się ze bład leży w zapisie rekordu do pliku, powienienem chyba zapisywać kazdą linie rekordu osobno i dodawać na jej koncu #13#10 tylko nie wiem jak pobrać jedną linie w zmiennej typu String :/
EDIT: Już działa, wina lezała po stronie kodu odpowiedzialnego za odczyt :)