Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > запомнить на дискете результаты теста из HTML ?


Автор: programist 1.9.2003, 15:36
вопрос запомнить на дискете результаты теста из HTML без дополнительных инсталяций на компьютере клиента галочки и цифирки из формы.
возможно ли это?
заранее спасибо

Автор: KesTeL 1.9.2003, 16:08
Невозможно, эта тема уже обсуждалась http://forum.vingrad.ru/index.php?act=ST&f=16&t=12105

Автор: MuToGeN 1.9.2003, 16:26
programist, ИМХО раз десять уже давал тебе имя ActiveX класса, по которому единственное, что надо - это поискать инфу на microsoft.com.
Закрыть бы эту тему нафиг...

Автор: programist 1.9.2003, 17:10
да, но остальныеговорят что это невозможно?

Автор: MuToGeN 1.9.2003, 17:14
Цитата
да, но остальныеговорят что это невозможно?
Блин.... Ладно, буду дома - сам поищу у себя на этот счет инфу... Чтоб потом остальные не говорили того, чего не знают...

Автор: nikolin 1.9.2003, 18:13
Windows Scriptng Host - Scripting.FileSystemObject - это возможност - но ты никогда но можеш узнать какие способности клиентской машин . Если ты сделашь все как надо иногда получается вот такой ошибке Automation object can't create object/operation или что то подобно .

Автор: MuToGeN 2.9.2003, 09:23
Цитата
Scripting.FileSystemObject - это возможност
А других-то вариантов на JS нет, вроде бы...
Что-то типа Hello World:
Код
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\test.txt", true);
a.WriteLine("Здесь был MuToGeN :)");
a.Close();
Запустите и проверьте, появился ли на диске C: фаил test.txt

Автор: Гость_IZ@TOP 2.9.2003, 09:40
MuToGeN Работает !

Автор: programist 2.9.2003, 10:56
а как запустить? я вставил код в HTML не работает
вставил в Java script тоже

Автор: MuToGeN 2.9.2003, 10:58
Цитата
а как запустить?
Код
<html>
<body>
<script language="JavaScript">
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\test.txt", true);
a.WriteLine("Здесь был MuToGeN :)");
a.Close();
</script>
</body>
</html>
Созранить это все в фаил .html и открыть с помощью експлорера

Автор: programist 2.9.2003, 11:14
в IE пишет ошибка уже с 1 строки opera и mozilla открывают, но на C: ничего не появляется

Автор: MuToGeN 2.9.2003, 11:20
Продолжение (раз уж начал):
Получение списка дисков
Код
function ShowDriveList()
{
 var fso, s, n, e, x;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 e = new Enumerator(fso.Drives);
 s = "";
 for (; !e.atEnd(); e.moveNext())
 {
   x = e.item();
   s = s + x.DriveLetter;
   s += " - ";
   if (x.DriveType == 3)
     n = x.ShareName;
   else if (x.IsReady)
     n = x.VolumeName;
   else
     n = "[Drive not ready]";
   s += n + "<br>";
 }
 return(s);
}
Насчет for (; !e.atEnd(); e.moveNext()), для тех, кто ранее не встречался с классом enumenator: чем-то сродни спискам. В отличие от массивов, инициализируется постепенно, при вызове moveNext и moveFirst. Прежний элемент уничтожается, создается новый.

Автор: MuToGeN 2.9.2003, 11:23
Свойства фаила
Код
function ShowFileInfo(filespec)
{
 var fso, f, s;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 f = fso.GetFile(filespec);
 s = f.DateCreated;
 return(s);
}
GetFile возвращаетт объект класса File. Так же у него имеются свойства:
Attributes
DateCreated
DateLastAccessed
DateLastModified
Drive
Name
ParentFolder
Path
ShortName
ShortPath
Size
Type
Каждое описывать, ИМХО, смысла нет, т.к. из них 10% практически никогда не пригодятся, а то, для чего служат остальные 90% - понятно из названия.

Автор: MuToGeN 2.9.2003, 11:25
Полуучение списка папок в данной папке
Код
function ShowFolderList(folderspec)
{
 var fso, f, fc, s;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 f = fso.GetFolder(folderspec);
 fc = new Enumerator(f.SubFolders);
 s = "";
 for (; !fc.atEnd(); fc.moveNext())
 {
   s += fc.item();
   s += "<br>";
 }
 return(s);
}

Автор: MuToGeN 2.9.2003, 11:26
Цитата
в IE пишет ошибка уже с 1 строки opera и mozilla открывают, но на C: ничего не появляется
У тебя ActiveX разрешены? Или в вылетающем окошке жмешь на "нет"?

Автор: MuToGeN 2.9.2003, 11:27
Получение списка фаилов в папке
Код
function ShowFolderFileList(folderspec)
{
 var fso, f, f1, fc, s;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 f = fso.GetFolder(folderspec);
 fc = new Enumerator(f.files);
 s = "";
 for (; !fc.atEnd(); fc.moveNext())
 {
     s += fc.item();
     s += "<br>";
 }
 return(s);
}

Автор: programist 2.9.2003, 11:41
жму на нет, ничего жму на да открывает комрилятор и ошибка с первой стоки это в IE в остальных тишина

Автор: MuToGeN 2.9.2003, 12:44
Цитата
жму на нет, ничего жму на да открывает комрилятор и ошибка с первой стоки это в IE в остальных тишина
Какой версии IE?

Автор: programist 2.9.2003, 13:58
не знаю win2000

Автор: MuToGeN 2.9.2003, 14:04
Справка->О программе в експлорере

Автор: programist 2.9.2003, 14:14
IE5

Автор: MuToGeN 2.9.2003, 14:46
У меня 5.0 - прекрасно работает
На соседнем компе 5.5 - тоже прекрасно работает
Что именно Java парсер выдает? Кроме номера строки?

Автор: programist 2.9.2003, 15:01
var fso = new ActiveXObject("Scripting.FileSystemObject");
выделяет как ошибку

временая ошибка стартовать ли Debug Modus

но Opera, Mozilla не выдают никаких ошибок, правда и файл не появляется

Автор: MuToGeN 2.9.2003, 15:23
Цитата
выделяет как ошибку
А что именно про нее говорит? Т.е. "предполагается наличие объекта" или еще что, из этой, короче, серии

Автор: MuToGeN 2.9.2003, 15:24
еще возможно такое, что нет NTFS прав на доступ на запись к корневой папке диска c:\

Автор: programist 2.9.2003, 15:31
сначала в IE страница содержит AktiveX рекомендуется не открывать, а потом
красный кружок с белым крестиком пишет временная ошибка открыть ли Dbug Modus
автоматический сервер не может создать объект

Автор: MuToGeN 2.9.2003, 16:01
Ну тогда не знаю... Первый случай, когда оно с этими вещами работать не хоччет...

Автор: programist 2.9.2003, 16:27
кроме IE ничего не подойдет?

Автор: MuToGeN 2.9.2003, 17:27
Цитата
кроме IE ничего не подойдет?
Для такой задачи ИМХО гораздо проще будет написать простенькую прогу, хотя бы консольную.

Автор: programist 2.9.2003, 17:29
технологию ActiveX поддерживают только броузеры Internet Explorer, запущенные на платформе Windows.

я бы написал еслиб мог

Автор: MuToGeN 2.9.2003, 17:38
Цитата
я бы написал еслиб мог
Ну а в чем проблема? Если работаешь с JS, то с C++ полюбому никаких проблем быть не должно. Даже еще проще

Автор: programist 2.9.2003, 17:45
я только начинаю поэтому даже не знаю как это и на что похоже, шеф ругается я ему сказал что вроде можно с activeX записать даные, но к сожалению у меня не получилось хотя я придумал отмазку скажу, а вдруг у пользвателя нет IE

Автор: programist 2.9.2003, 17:58
при открытии в IE после нажатия на ДА предупреждение IE что там activeX создается файл и все работает а при НЕТ открывает компилятор С++
но при открывании через свой сервер localhost сразу ошибка

Автор: MuToGeN 2.9.2003, 18:01
Проверь настройки безопасности в IE

Автор: programist 2.9.2003, 18:09
поставил низкий был средний

Автор: programist 2.9.2003, 18:11
спасибо. пойду домой

Автор: programist 3.9.2003, 10:53
я вернулся

Автор: MuToGeN 3.9.2003, 12:08
С низким работает?

Автор: programist 10.9.2003, 11:51
заработало теперь бы мне решить эту задачу у меня есть билеты там галочки и цифирки как бы мне запомнить результаты на дискету?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)