Usuwanie znaków z tekstu w pliku

0

Witam uprzejmie

W jaki sposób i czy w ogóle można tak zrobić.

Wyobraźcie sobie, że jest jakiś tam plik, nazwijmy go test.txt. A w nim zapisane dwa wiersze:

Jestem fajny Olek123.
Nie jestem już taki fajny.

Teraz czytam z tego pliku każdy wiersz, ale wynikiem jest ten sam tekst bez 3 ostatnich znaków, czyli:

Jestem fajny Olek1
Nie jestem już taki faj

Powiedzmy, że ShowMessage(DaneBezTrzechZnakow);

Można tak zrobić w Delphi 7?
Byłbym wdzięczny za przykładowy kod.
Pozdrawiam serdecznie.

Z poważaniem

0

można - Copy, Delete, Length + F1

2

No chyba stringlista byłaby najlepsza do tego, coś w stylu:

SL: TStringList;

SL:=TStringList.Create;
try
  SL.LoadFromFile(sciecha_do_pliku);
  For i:=0 to SL.Count-1 do
    SL[i]:=Copy(SL[i], 1, length(SL[i])-3);   
  Showmessage(SL.Text); //lub SL.SaveToFile(sciecha_do_pliku_wynikowego);
finally
  SL.Free;
end;
 
0

Witam uprzejmie

Dziękuję marogo, działa wyśmienicie.
Czy jest podobnie prosto, żeby dodatkowo pokazywać za sprawą ShowMessage dokładnie te 3 znaki, które ucieliśmy?

Czyli

Jasiu idzie na spacer. => (obcinamy 3 znaki) => Jasiu idzie na spac
I potem pokazujemy => er. (dokładnie te 3 znaki wcięte)
Pozdrawiam serdecznie.

EDIT

Dziękuję również bardzo inteligentnej osobie za -1 za pierwszy post. 15 marca 2011 zobaczyłem pierwszy raz program Delphi 7.
Dzisiaj już 16 dni i mam napisaną całkiem miłą aplikację do HTPC, po prostu wcześniej szukałem tego rozwiązania na różnych Forach.
Nie wiedziałem w sumie czego tak naprawdę szukam i skapitulowałem zadając pytanie w tym wątku.
Mam nadzieję, że dostałem od marogo tego -, bo chociaż pomógł mi znacznie i nakierował na właściwy tor.
...bo jak od osoby, która nie pomogła, to tylko świadczy o tej osobie.

Dziękuję marogo raz jeszcze za pomoc, niektórzy odsyłają do Google zapominając o celu Forum, a swoje doświadczenie i wiedzę do grobu zabiorą.

Z poważaniem

0

jest prostszy sposób

Tekst := 'Nie jestem już taki fajny';
for I := 1 to Length(Tekst) - 3 do
  Result := Result +  Tekst[I];
0

To po co w pascalu jest procedura Delete ?

Tekst := 'Nie jestem już taki fajny';
Delete(Tekst, Length(Tekst)-3, 3);
 

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