Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.03.23;
Скачать: CL | DM;

Вниз

работа с TStringStream   Найти похожие ветки 

 
Owl   (2013-05-31 11:24) [0]

Как удалить последний LINE_BREAK


procedure TForm1.FormCreate(Sender: TObject);
const
 LINE_BREAK = #13#10;
var
 I: Integer;
 SS: TStringStream;
begin
 SS := TStringStream.Create("");
 for I := 0 to 10 do
   SS.WriteString(IntToStr(I) + LINE_BREAK);
 // Здесь нужно удалить последний LINE_BREAK
 ShowMessage(SS.DataString);
end;


 
"Добрый Сок"   (2013-05-31 11:42) [1]

TMyStringStream = class(TStringStream);

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const
LINE_BREAK = #13#10;
var
I: Integer;
SS: TStringStream;
begin
SS := TStringStream.Create("");
for I := 0 to 10 do
  SS.WriteString(IntToStr(I) + LINE_BREAK);
TMyStringStream(SS).SetSize( Length(SS.DataString) - Length(LINE_BREAK) );
SS.WriteString("---");
ShowMessage(SS.DataString);
end;


 
Jeer ©   (2013-05-31 12:02) [2]

Да хоть так

for i := 0 to Max-1 do
 if i = (Max-1) then WriteString(IntToStr(i))
 else WriteString(IntToStr(i) + LINE_BREAK);


 
"Добрый Сок"   (2013-05-31 12:14) [3]

Конечно, проще не писать, чем писать и удалять
и лучше, имхо, разбить
т.е. не
for i := 0 to Max-1 do
if i = (Max-1) then WriteString(IntToStr(i))
else WriteString(IntToStr(i) + LINE_BREAK);

а
for i := 0 to Max-1-1 do
WriteString(IntToStr(i) + LINE_BREAK);
WriteString(IntToStr(Max-1))

неча на каждой итерации проверять


 
Медвежонок Пятачок ©   (2013-05-31 12:40) [4]

ShowMessage(Trim(SS.DataString));


 
Jeer ©   (2013-05-31 15:50) [5]

>ShowMessage(Trim(SS.DataString));

Не-не-не.. так нечестно, я ж съэкономил два байта, как раз тех самых, мокрых. :)



Страницы: 1 вся ветка

Текущий архив: 2014.03.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1380974929
uw
2013-10-05 16:08
2014.03.23
Контроллер и Ethernet


2-1370989337
Martin
2013-06-12 02:22
2014.03.23
наложение bmp.


15-1381091402
Юрий
2013-10-07 00:30
2014.03.23
С днем рождения ! 7 октября 2013 понедельник


2-1370371622
oliksin
2013-06-04 22:47
2014.03.23
записи и файлы!


6-1271671471
bwwebm
2010-04-19 14:04
2014.03.23
WinSocket / Сокеты / RAW Socket - паралельное чтение