![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вырезать строку из буфера [D7, XP]
Jack © (2008-11-19 09:14:00)Здравствуйте!
У меня в буфере содержится текст в виде:
Строка Строка Строка
Строка Строка Строка
Как можно вырезать первую строку из содержимого буфера?
Anatoly Podgoretsky (2008-11-19 14:31:00) [1]> Jack (19.11.2008 10:37:10) [10]
Ты всегда пушку применяешь, так где достаточно мухобойки?
Anatoly Podgoretsky (2008-11-19 14:30:00) [2]> Jack (19.11.2008 9:14:00) [0]
Copy - это не совет, а название функции.
AIK (2008-11-19 11:19:00) [3]Виноват, чёто самной не то сегодня
var
s: string;
i: integer;
begin
S:= Clipboard.AsText;
I:= Pos(#13, s);
Delete(s, 1, i +1);
AIK (2008-11-19 10:46:00) [4]Я оказывается совсем тебя не понял, так значит тебе нужно было весь текст кроме первой строки типа так наверное
var
s: string;
i: integer;
begin
S:= Clipboard.AsText;
I:= Pos(#13, s);
Delete(s, 0, i-1);
Теперь результат: s
Jack (2008-11-19 10:37:00) [5]
> AIK © (19.11.08 10:08) [9]
Немного не то =)
Спасибо всем, СтрингЛист использовал ...
AIK (2008-11-19 10:08:00) [6]Ах непонял сразу так тебеж толь ко строку надо
var
s, a: string;
i: integer;
begin
a:= '';
S:= Clipboard.AsText;
I:= Pos( #13, s);
a:= Copy(s, 1, i-1);
Сергей М. (2008-11-19 10:01:00) [7]
> Jack
Не парься, загрузи содержимое буфера в стринглист, удали в стринглисте нужную строку и выгрузи стринглист назад в буфер
Jack (2008-11-19 09:55:00) [8]
> var
> s, a: string;
> i: integer;
> begin
> a:= '';
> S:= Clipboard.AsText;
> I:= Pos(' ', s);
> a:= Copy(s, 1, i-1);
Из таких данных:
> Строка Строка Строка
> Строка Строка Строка
у меня осталось только одна строчка "Строка" :(
AIK (2008-11-19 09:37:00) [9]Так ещё лучше
var
s, a: string;
i: integer;
begin
a:= '';
S:= Clipboard.AsText;
I:= Pos(' ', s);
a:= Copy(s, 1, i-1);
Сергей М. (2008-11-19 09:34:00) [10]
> StringList нормально будет?
Вполне, если размер данных в буфере относительно невелик.
AIK (2008-11-19 09:32:00) [11]Я тут быстренько намудрил чтото
var
s, a: string;
i: integer;
begin
a:= '';
S:= Clipboard.AsText;
for i:=1 to length(s) do
If s[i]<>' ' then
a:= a+s[i] else break;
результет: a
Можно если сообразить и по лучше сделать но типа так новерное
Jack (2008-11-19 09:24:00) [12]
> Что значит "вырезать" ? Просто удалить что ли ?
Да
> Буфер обмена не поддерживает редактирование хранимых данных.
> Только вставку и очистку данных.
Как лучше это сделать подскажите, StringList нормально будет?
Rouse_ (2008-11-19 09:22:00) [13]Буфер обмена не поддерживает редактирование хранимых данных. Только вставку и очистку данных.
Сергей М. (2008-11-19 09:21:00) [14]Что значит "вырезать" ? Просто удалить что ли ?