usuniecie znaku konca linii

0

Mam nastepujacy problem:
Jest plik "mpg_lista", wczytuje go w swoim programie do ListBoxa dodaje do niego kolejne pozycje np.filmiki mpg :-) pozniej zapisuje go i do kazdej pozycji dorzuca mi znak konca linii!Bardzo zalezy mi na tym zeby tego znaku tam nie bylo. Pozniej z tej listy odtwarzam w Linuxie w MPlayerze filmiki i nie moze mi ich znaleŹĆ bo wiadomo jest np. film1.mpg + znak konca lini :-(

tak zapisuje plik:

procedure Tnowa.Button3Click(Sender: TObject);
begin
ListBox1.Items.SaveToFile(Trim('mpg_lista'));
end;

Pomocy!!!To pilne... szukalem w tematach ale nie znalazlem niczego podobnego...</delphi>

0

usun ost znak...
delete + F1

0

Wesoledi napisal:

usun ost znak...
delete + F1

nie rozumiem tego, mozna troche jasniej?Moze jakis kawalek kodu bo nie jestem programista tylko mam jakies podstawy a musze zrobic taki programik

PS. Z pliku czytam pozycje do ListBoxa, pozniej dodaje jakies inne i zapisuje w tym zamym pliku na dysku.Programik dorzuca mi znak konca linii po kazdej pozycji: np. film1.mpg + znak konca linii. Jak sie tego pozbyc... prosze pomozcie :-(

0

na koncu procedury ladujacej do listboxa daj:

for i:=0 to listbox1.items.count-1 do
delete(listbox1.items.strings[i],length(listbox1.items.strings[i])-1,1);
0

a jeżeli masz znaki końca lini nie na końcu całego tekstu to stwórz sobie funcje zmieniającą znaki i...:

char_replace('',chr(10)); // usnie łamanie lini i....   '' to oczywiście puste apostrofy
char_replace('',chr(13)); // usnie nową lini....

funkcje char_replace napisz sam, chyba że masz taką.......ja nie znalazłem....

0

[...]

char_replace('',chr(10)); // usnie łamanie lini i....   '' to oczywiście puste apostrofy
char_replace('',chr(13)); // usnie nową lini....

funkcje char_replace napisz sam, chyba że masz taką.......ja nie znalazłem....

poczatkujacemu duzo to raczej nie pomoze.
ale mozna zrobic cos takiego:

for i:=0 to listbox1.items.count-1 do
begin
s:=listbox1.items.strings[i];
delete(s,pos(chr(13),s),1);
listbox1.items.strings[i]:=s;
end;

gdzie i to int , a s to string

0

Hej!
A czy nie lepiej będzie zamienić znak końca linii #13 na #10, który jest znakiem końca linii w Linuxie?

Pozdrawiam, Kubryk

0

Hej!
A czy nie lepiej będzie zamienić znak końca linii #13 na #10, który jest znakiem końca linii w Linuxie?

Pozdrawiam, Kubryk

W jaki sposob zamienic ten znak? Moze masz jakis pomysl (kod)?Probowalem wczesniejszych rad i nic nie dały...

Pozdrawiam wszystkich ktorzy probuja mi pomoc :-)

0

Hehehe...

String := StringReplace(String, #13, #10, [rfReplaceAll]);

A w przyszłości polecam Helpa... :p

Pozdrawiam, Kubryk

0

znakiem końca lini jest w windowsie #10 i #13 !!!.......

linux to prawda używa tylko #13....

0

A samo
s := trim(s)
nie rozwiazuje problemu? W php tak sie da wyciac znaki konca linii wiec moze w delphi tez by dzialalo :) W sumie to by dosc logiczne bylo :)

0

Nie musicie sie już głowic!Rozwiazanie juz mam!Kumpel mi pomogl!Trzeba bylo tworzyc dwa pliki. W jednym wycinac znaki konca linii windowsa #10i#13 a w drugim dodawac znak konca linii linuxa #13. Jeden dla delphi(ListBoxa) drugi przy zapisywaniu do pliku (format linux).

Dzieki wszystkim za pomoc....

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