Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];
Внизработа с 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c