Главная страница
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.005 c
1-1323639179
RAD
2011-12-12 01:32
2014.03.23
Удалить файл, открытый другим процессом


2-1370690219
oliksin
2013-06-08 15:16
2014.03.23
Как вывести сумму строк из мемо?


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


15-1380924488
xayam
2013-10-05 02:08
2014.03.23
Помогите распознать мелодию


15-1380800890
Noso
2013-10-03 15:48
2014.03.23
ms sql, что такое users / login?