Перейти к содержимому

Фотография

Буфер обмена


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Rumata

Rumata

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

  • Members
  • Pip
  • 66 сообщений
  • Город:Астана

Отправлено 05 октября 2007 - 10:04

TC 5.12.454.7
Delphiscript

Привет всем!
Подскажите как можно записать в текстовый файл содержимое буфера.
Мне нужно переписать файл.
  • 0

#2 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 05 октября 2007 - 10:54

Вот на JScript:
//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, а то и сам справишься ;)
  • 0

#3 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 05 октября 2007 - 10:55

Есть такой объект - Sys.Clipboard
По поводу записи в файл - читай ман, раздел DelphiScript - List of Supported Routines and Variables
  • 0

#4 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 05 октября 2007 - 11:16

Есть такой объект - Sys.Clipboard


Кстати, да, это много проще :clapping: Сейчас активно пишу скрипты (ASP.Net), поэтому не сразу переключился на TestComplete! Ну ничего, будет альтернативный вариант :)
  • 0

#5 ch_ip

ch_ip

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 097 сообщений
  • ФИО:Павел Абдюшев
  • Город:Москва


Отправлено 05 октября 2007 - 11:26

Вот на JScript:

	//Write
	fso = new ActiveXObject("Scripting.FileSystemObject");
	f = fso.OpenTextFile("E:\\Temp\\file.txt", ForWriting, true);
	f.Write(strClipboard);
	f.Close();

По-идее, должен работать (у меня почему-то ругается на "ForWriting").

Думается мне, что ругается он оттого, что значение для константы forWriting в приведенном коде не определено. Поскольку это не зашитая куда-то константа, то он считает ее переменной, не имеющей значения (т.е. по умолчанию интерпретирует ее как 0). В то время, как допустимые значения аргумента - это 1(чтение), 2(запись) и 8(добавление)
  • 0

#6 AlexP

AlexP

    Опытный участник

  • Members
  • PipPipPipPip
  • 406 сообщений
  • Город:Санкт-Петербург

Отправлено 05 октября 2007 - 11:34

Думается мне, что ругается он оттого, что значение для константы forWriting в приведенном коде не определено. Поскольку это не зашитая куда-то константа, то он считает ее переменной, не имеющей значения (т.е. по умолчанию интерпретирует ее как 0). В то время, как допустимые значения аргумента - это 1(чтение), 2(запись) и 8(добавление)


Так и есть, упустил:
var ForWriting = 2;
  • 0

#7 Rumata

Rumata

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

  • Members
  • Pip
  • 66 сообщений
  • Город:Астана

Отправлено 08 октября 2007 - 10:36

вот как на delphiscript:


AssignFile( fff, 'c:\123.txt' );
try
Rewrite(fff);
Write(fff,Sys.Clipboard);
finally
CloseFile( fff );
end;
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных