[DELPHI] Dzielenie tekstu.

0

Witam kolego i koleżanko
i mam takie pytanko:

Powiedzmy że mam plik tekstowy, a w nim:

Tytuł.

jakiś tekst jakiś tekst jakiś tekst.

Tytuł2.

jakiś tekst2 jakiś tekst2 jakiś tekst2.

I powiedzmy że go wczytam do memo, a później chiałbym zrobić tak żeby zapisać plik txt o tytule "Tytuł" i treści "jakiś tekst jakiś tekst jakiś tekst", później drugi plik txt o tytule "Tytuł2" i treści "jakiś tekst2 jakiś tekst2 jakiś tekst2" itd.
Jak to zrobić?
Z góry dziękuję za wszelką pomoc.

0

Trudno jednoznacznie odpowiedzieć na Twoje pytanie. to zależy czy ten tytuł ma być zawsze w pierwszej lini, czy tekst b ędzie tylko jednolinijkowy itd.
Ja proponuje żeby to oddzielić jakimś znakiem, lub też pustą linią i wtedy będziesz wiedział gdzie się co kończy a gdzie zaczyna.
Mam nadzieje że coś pomogłem, niestety nie mam czasu napisać przykładu do tego co napisałem.

0

Jeśli struktura jest taka jak pokazałeś, czyli że tytuły są jednowyrazowe, to możesz sprawdzać linijkę pobraną z pliku, czy ma jeden wyraz. Ale radziłbym zrobić to na zasadzie plików ini, czyli tytuły pomiędzy [ i ].

0

Niestety tytuły nie są jednowyrazowe :( , a tekst nie jest w jednej linijce

0

Jesli to ty tworzysz ten plik, to zapisuj go w plikach ini (polecam art na 4p), a jesli plik masz "skads", to: Jesli miedzy tytulem a poprzednim tekstem i nastepnym jest tylko jedna spcja, to:

  • Pierwsza linijka to tytul
  • Pierwsza pusta - zaznaczas w zmiennej, ze pusta juz byla
  • Kazda nastepna linijka (jesli nie jest pusta) to tekst
  • Jesli jest pusta, to omijasz, odznaczasz w zmiennej, wtedy kolejna to tytul, pusta - zaznaczasz - tekst i tak dalej...
0

Dzięki Wasyl, ale to co napisałeś to ja wiem, tylko nie wiem jak to zrobić bo to coś z łańcuchami będzie tak? czy się mylę?

0

Wykorzystaj TStringList, jedziesz po liniach przez Readln(), wpisujesz do kolejnych linii TStringlist, i jak dojdzie do twojego Tytułu, to zapisujesz SaveToFile(), i czyścisz.. i dalej jedziesz..

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