Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вырезать строку из буфера [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]

Что значит "вырезать" ? Просто удалить что ли ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо