Буфер обмена
#1
Отправлено 05 октября 2007 - 10:04
Delphiscript
Привет всем!
Подскажите как можно записать в текстовый файл содержимое буфера.
Мне нужно переписать файл.
#2
Отправлено 05 октября 2007 - 10:54
//Read var fso, f, strClipboard = ""; objIE = new ActiveXObject("InternetExplorer.Application"); objIE.Navigate("about:blank"); strClipboard = objIE.document.parentWindow.clipboardData.getData("Text"); objIE.Quit(); //Write fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.OpenTextFile("E:\\Temp\\file.txt", ForWriting, true); f.Write(strClipboard); f.Close();
По-идее, должен работать (у меня почему-то ругается на "ForWriting"). Возможно, кто-нибудь поможет сконвертить в Delphiscript, а то и сам справишься ;)
#3
Отправлено 05 октября 2007 - 10:55
По поводу записи в файл - читай ман, раздел DelphiScript - List of Supported Routines and Variables
Андрей Похилько
#4
Отправлено 05 октября 2007 - 11:16
Есть такой объект - Sys.Clipboard
Кстати, да, это много проще Сейчас активно пишу скрипты (ASP.Net), поэтому не сразу переключился на TestComplete! Ну ничего, будет альтернативный вариант :)
#5
Отправлено 05 октября 2007 - 11:26
Думается мне, что ругается он оттого, что значение для константы forWriting в приведенном коде не определено. Поскольку это не зашитая куда-то константа, то он считает ее переменной, не имеющей значения (т.е. по умолчанию интерпретирует ее как 0). В то время, как допустимые значения аргумента - это 1(чтение), 2(запись) и 8(добавление)Вот на JScript:
//Write fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.OpenTextFile("E:\\Temp\\file.txt", ForWriting, true); f.Write(strClipboard); f.Close();
По-идее, должен работать (у меня почему-то ругается на "ForWriting").
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#6
Отправлено 05 октября 2007 - 11:34
Думается мне, что ругается он оттого, что значение для константы forWriting в приведенном коде не определено. Поскольку это не зашитая куда-то константа, то он считает ее переменной, не имеющей значения (т.е. по умолчанию интерпретирует ее как 0). В то время, как допустимые значения аргумента - это 1(чтение), 2(запись) и 8(добавление)
Так и есть, упустил:
var ForWriting = 2;
#7
Отправлено 08 октября 2007 - 10:36
AssignFile( fff, 'c:\123.txt' );
try
Rewrite(fff);
Write(fff,Sys.Clipboard);
finally
CloseFile( fff );
end;
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных