Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Можно ли скопировать текст из буфера обмена средством Delphi

Ответить
Настройки темы
Delphi - Можно ли скопировать текст из буфера обмена средством Delphi

Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: turbolover
Дата: 10-01-2019
Можно ли скопировать текст из буфера обмена и вставить его в текстовый файл на компьютере и сохранить, на пример на рабочем столе, или записать текст в заранее созданный текстовый файл 'Test.txt".
Вот нашел вариант как вставить текст в буфер обмена- а как скопировать не нашел.
Если можно помогите с кодом.
Код: Выделить весь код
Clipboard.SetTextBuf(PChar('Text in Clipboard'));

Отправлено: 12:38, 10-01-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата turbolover:
а как скопировать не нашол. »
Первые же ссылки из выдачи Google:
Работа с буфером обмена в Delphi | Разные статьи | Статьи | Программирование Realcoding.Net - Программирование C++, Delphi, C#, .NET, базы данных, статьи, электронные книги скачать
Работа с буфером обмена | Блог Delphi-программиста
Работа с буфером обмена -> Форум на Исходниках.Ру

Цитата turbolover:
вставить его в текстовый файл на компьютере и сохранить »
Это называется «Append» — дополнить, дописать в конец.

Цитата turbolover:
на пример на рабочем столе, »
Получаете путь к Рабочему столу текущего пользователя.

Цитата turbolover:
или записать текст в заранее созданный текстовый файл 'Test.txt". »
Без разницы. Если такого файла на Рабочем столе нет — создаёте его и пишете в него. Если уже есть — открываете и дописываете.

Отправлено: 13:03, 10-01-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 49
Благодарности: 0

Профиль | Отправить PM | Цитировать


https://www.youtube.com/watch?v=jBDLmnNjdh8

Последний раз редактировалось ufooo000, 10-01-2019 в 17:37.


Отправлено: 13:19, 10-01-2019 | #3


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Звучит как "посолить соль".
Что служит источником данных для копирования в буфер, - откуда вы заполняете его, не с потолка же?
Буфер можно сохранить в файл, предварительно проверив формат хранящихся в нем данных, - if ClipBoard.HasFormat(CF_TEXT) then ....
можно скинуть в TStringList или TMemo и сохранить встроенными функциями, - SaveToFile(...).
Для сохранения на рабочий стол необходимо применить функцию определения пути к специальным папкам
Код: Выделить весь код
uses ShlObj;
....
function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
 SetLength(s, MAX_PATH);
 if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
 then s := '';
 result := PChar(s);
end;
....

var
PathDesktop: string;

PathDesktop := GetSpecialPath(CSIDL_DESKTOP);
Больше вопросов, чем ответов!

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 11-01-2019 в 02:09.


Отправлено: 02:00, 11-01-2019 | #4


Новый участник


Сообщения: 49
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я неаример копирую батником

Отправлено: 20:15, 12-01-2019 | #5


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата opel431:
откуда вы заполняете его, не с потолка же »
Сылкой из "Youtube"

Отправлено: 20:21, 12-01-2019 | #6


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата turbolover:
Сылкой из "Youtube" »
Ну и что дальше? Ссылка, это просто строка, вида - https://youtu.be/nWCUTxz5wFw
Можете сохранить "буфер" в строковую переменную, предварительно проверив формат данных (см. выше), или вставить в визуальный компонент TEdit, если несколько ссылок одновременно, добавляем в TStringList или визуальный компонент TMemo, - вариантов море. Далее, делайте, что хотите. Строка есть, путь к папке рабочего стола, есть, - получили ссылку, проверили формат, присвоили "переменной", сохранили данные в файл. Добавление удаление и т.д. ссылок из файла, можно потом производить стандартными процедурами и функциями TFile или TStringList.

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Отправлено: 09:13, 13-01-2019 | #7


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Пока нашел такой вариант который показывает что за текст в буфере обмена.
А как этот текст скопировать в скажем файл "Test.txt" незнаю...
Код: Выделить весь код
if ClipBoard.FormatCount=4 then
    ShowMessage(ClipBoard.AsText);

Отправлено: 13:52, 04-02-2019 | #8


Аватара для opel431

Ветеран


Contributor


Сообщения: 1803
Благодарности: 714

Профиль | Отправить PM | Цитировать


Цитата turbolover:
Пока нашел такой вариант который показывает что за текст в буфере обмена.
А как этот текст скопировать в скажем файл "Test.txt" незнаю... »
Вы справку, по Delphi, хоть один раз открывали! Извините, но одного желания, с такими познаниями, мало. Нет справки, так задайте правильный поиск в сети, - "Delphi операции со строками", или "Delphi работа с файлами". Одно дело, просить помощи в решении более менее сложной проблемы или оптимизации своего кода, другое дело, вести "начальные уроки информатики".

-------
Хвала тому, кто встав среди камней, уча другого, сам будет умней.


Последний раз редактировалось opel431, 05-02-2019 в 11:06.


Отправлено: 11:00, 05-02-2019 | #9


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата opel431:
Вы справку, по Delphi, хоть один раз открывали! »
Естественно.
Могу скопировать с файла в "Clipboard" а с "Clipboard" в файл неумею.
Код: Выделить весь код
assignFile(F, 'Test.txt');
  Reset(F);
  n := 1;
while not eof(f) do
  begin
    readln(f, s[n]);
    inc(n);
  end;
 Clipboard.Clear;
  for i := 1 to n - 1 do
    Clipboard.AsText:=Clipboard.AsText+s[i]+' ';

Отправлено: 17:11, 05-02-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Можно ли скопировать текст из буфера обмена средством Delphi

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Вставка текста из буфера обмена idlazarev_alex@vk Скриптовые языки администрирования Windows 30 06-10-2019 01:33
Службы - Есть ли способ копировать из буфера обмена в командную строку и в powershell? ivanhoe75 Microsoft Windows 7 3 28-12-2015 12:45
CMD/BAT - Автоматическая вставка из буфера обмена Seifer Скриптовые языки администрирования Windows 1 14-08-2014 12:40
[решено] Как заставить текст с буфера обмена при нажатии вставить создался документword. bugmenotagain Хочу все знать 11 18-06-2012 15:13
Как скопировать текст из окна в буфер обмена Str_ani_ck AutoIt 10 12-08-2009 11:03




 
Переход