JavaScript и наличие установленного принтера на машине

Ivan826

Реально ли проверить установлен ли принтер на машине клиента?
Т.е. если принтера нету не предлагать распечатывать страницу

Andr163


confirm ("У Вас есть принтер?");

bobby

Ivan826

Угму... Типа
Kand: Привет. Не знаешь, JavaScript умеет с файлами работать?
Legus: Только через переполнение буфера
Kand: Гыг

Неужели через OLE этого нельзя сделать? Подскажите о ОТЦЫ вражеских технологий!

0000

Справка по WindowsScriptHost предлагает следующий способ нумеровки сетевых принтеров
Содержимое <filename>.js

     var WshNetwork = WScript.CreateObject("WScript.Network");
     var oPrinters = WshNetwork.EnumPrinterConnections;
     WScript.Echo("Network printer mappings:");
     for(i = 0; i < oPrinters.length; i += 2) {
     WScript.Echo("Port " + oPrinters.Item(i) + " = " + oPrinters.Item(i + 1;}

Найдет ли он локальный - фиг знает - у меня локальных нету. Работает как видно через OLE.

Ivan826

Слушай, если ты в этом шаришь то не подскажешь как решить такую проблему. Есть некий 1с программист который требует от меня создать на странице объект (типа соединение с 1с) и вызвать функцию myfunc и передать в ней строку. Может я неправильно выразился, я сам с очень большим трудом понимаю хоть что-то

0000

to Dr_Serg
Да этот скрипт и их чекает (у меня нашел отбросить их небольшая проблема думаю - но это надо доки смотреть.
to
Кто сказал что я шарю?
Да я в этом разделе походу самый криворукий программер, потому как не программер по работе
Чисто теоретически можно соединиться с 1С через ADO (это же просто набор .dbf таблиц или одна из стандартных DB). Вот такой код функции возвращающей содержимое SQL запроса на VB правда (на JS сам думаю без проблем переложишь) выполняет SQL запрос к некой BD, на которую есть alias в odbcad32.exe, используя OLE-объект.
P.S. html и 1С никогда не программировал

Function ExecSQL (strDSNName, strSQL)
Dim strConnectionString, strS
Dim objConnection, objRecordset, objCommand
strConnectionString = "Provider=MSDASQL.1;Persist Security Info=True;Data Source=" & strDSNName
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=strConnectionString
objConnection.CursorLocation=3
objConnection.Open
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")
objCommand.CommandType=1
objCommand.ActiveConnection = objConnection
objCommand.CommandText = strSQL
Set objRecordset = objCommand.Execute
Do While Not objRecordset.EOF
' select должен выбирать как минимум два столбца - 0 и 1 в objRecordSet - номер столбца
strS = strS & objRecordset(0)& " " & objRecordset(1) & Chr(13) & Chr(10)
objRecordSet.MoveNext
Loop
ExecSQL = strS
'MsgBox objRecordset.Recordcount
objRecordset.close
objConnection.Close
End Function
Оставить комментарий
Имя или ник:
Комментарий: