Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
Roboder

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
Есть VBS скрипт, который позволяет изменять настройки на сетевых адаптерах со статического IP на DHCP (и обратно). На компьютере присутствует несколько сетевых адаптеров, а производить изменение настроек нужно только на одном адаптере.
 
Как мне встроить проверку и выполнять изменения только на указанном сетевом адаптере ?
 

Код:
 strcomputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
 
strCount = 1
 
For Each objitem in colitems
If strCount = 1 Then
strIPAddress = Join(objitem.IPAddress, ",")
IP = stripaddress
strCount = strCount + 1
Else
End If
 
next
 
strAnswer=msgbox ("Are you at work?", vbYesNoCancel)
 
if strAnswer = vbYes then
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
 
strIPAddress = Array("192.168.1.108")
strSubnetMask = Array("255.255.255.0")
strGateway = Array("10.0.10.1")
strGatewayMetric = Array(1)
strDNSServers = Array("208.67.222.222","208.67.220.220")
 
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
objNetAdapter.SetDNSServerSearchOrder(strDNSServers)
Next
 
elseif strAnswer = vbNo then
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
objNetAdapter.SetDNSServerSearchOrder(null)
Next
 
else
 
end if  

Всего записей: 61 | Зарегистр. 12-08-2007 | Отправлено: 17:24 27-04-2014 | Исправлено: Roboder, 17:25 27-04-2014
loban_ser



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Roboder

Цитата:
выполнять изменения только на указанном сетевом адаптере ?

where IPEnabled=TRUE
Заменить на WHERE Description = 'Имя адаптера'
нет?

Всего записей: 457 | Зарегистр. 23-12-2012 | Отправлено: 19:20 27-04-2014 | Исправлено: loban_ser, 19:22 27-04-2014
Roboder

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2loban_ser
 
Спасибо, код без ошибок выполняется, правда DHCP всё равно не включается.

Код:
 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration WHERE Description = 'Ethernet_1Gbs'")
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableDHCP()
objNetAdapter.SetDNSServerSearchOrder(null)
Next

 
// Добавлено:
 
Кажись понял. Надо указывать не имя интерфейса, а название самого адаптера...

Всего записей: 61 | Зарегистр. 12-08-2007 | Отправлено: 22:35 27-04-2014 | Исправлено: Roboder, 22:59 27-04-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, ребят.
Я уже как-то сидел тут с этим кодом.. В общем, нужно мне его допилить, я как бы скачал порекомендованные тут книги Владимира Баталия, поизучаю. Но может кто сможет по-быстрому помочь подшлифовать.
Подробнее...
 
Ну, вы поняли, что данный скрипт позволяет выбрать группу файлов, залезает в особые OLE-свойства каждого файла из группы последовательно, смотрит там наличие свойства "Наименование" и назначает ему некое значение "Круг".
Так вооот, мне нужно чтобы вместо "Круг" добавлялась запись типа "Круг "D1@Эскиз 1@ХХХ.SLDPRT" ГОСТ ZZ". Где ХХХ - это имя проверяемого файла. Пока что моего понимания не хватило даже на то, чтобы внести такую запись "Круг "D1@Эскиз 1@40.SLDPRT" ГОСТ ZZ" без автоматической вставки имени файла, потому как не хочет он кавычки воспринимать.. А я ж не знал
 
_______________________
 
Короче, полистал книжки, и в них помощи не нашёл.. Так что, прошу помочь знающих.
Сам вижу два варианта, первый, это если всё получится реализовать в одном этом скрипте, т.е. можно вставить и имя файла там, где надо, и необходимый текст зажать в кавычки. Второй, это какое-нибудь написание строковой переменной, где ХХХ потом будет заменено именем файла (ибо упоминание имени файла может потребоваться несколько раз.., типа Круг "D1@Эскиз 1@40.SLDPRT" ГОСТ ZZ / "SW_Material@Эскиз 1@40.SLDPRT". Если в тексте скрипта данный язык не воспринимает кавычки, то может получиться чтобы значение строки читал пусть из какого-нибудь txt-файла, но дальше действовал тем же путём..
 
Очень нужна помощь.. Если можете помочь, то желательно сразу полностью всем кодом. Потому как я в этом языке мало шарю, инстинктивно на уровне старых знаний Pascal и html..

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 19:19 12-05-2014 | Исправлено: Parazitif, 20:20 19-05-2014
stvol333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть скрипт для запуска окна с сообщением при пуске определённой проги, но хотелось бы, что-бы это окно было поверх всех! Возможно ли отредактировать существующий скрипт?

Всего записей: 2452 | Зарегистр. 17-02-2014 | Отправлено: 21:45 17-05-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stvol333
В самой операционной системе "поверх всех" трактуется весьма по-разному, особенно если окон с режимом "поверх всех" больше одного. И это еще не считая всякие directx и opengl, у которых вообще собственное представление о том, кто должен быть поверх всех, при чем у каждого свое.
 
Так что краткий ответ - нет.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 23:32 17-05-2014
stvol333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa

Цитата:
Так что краткий ответ - нет.

Ну, на "нет" и суда нет! Спасибо за разъяснение!

Всего записей: 2452 | Зарегистр. 17-02-2014 | Отправлено: 23:59 17-05-2014
Laserje18

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Пожалуйста, помогите.
Есть небольшой скрипт, который добавляет в начало текстового файла первую пустую строку. Как его переделать, чтобы наоборот, из текстового файла удалялись все пустые строки, в том числе и конечные пустые строки? Есть условие: нужно перезаписать этот же файл, а не создавать или плодить новые.

Код:
Set fs = CreateObject("Scripting.FileSystemObject")  
Set f = fs.OpenTextFile("e.txt",1,True,0)  
If Not f.AtEndOfStream Then filedata = f.ReadAll  
f.Close  
Set f = fs.OpenTextFile("e.txt",2,True,0)
f.WriteLine(vbCrLf & filedata)  
f.Close

Всего записей: 64 | Зарегистр. 11-09-2012 | Отправлено: 00:20 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Laserje18

Код:
'remove blank lines
'remblanklines.vbs
Set fs = CreateObject("Scripting.FileSystemObject")    
Set f = fs.OpenTextFile("e.txt",1,True,0)    
Str = vbNullString
tmp = vbNullString
number = 0
While Not f.AtEndOfStream
    tmp = f.ReadLine()
    If tmp = "" Then
        number = number + 1
    Else  
        If Str = "" Then
            Str = tmp
        Else
            Str = Str & vbCrLf & tmp
        End If
    End If
Wend  
f.Close  
Set f = fs.OpenTextFile("e.txt",2,True,0)  
f.WriteLine(Str)  
f.Close
MsgBox "removed " & number & " blank lines."

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 02:22 19-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В общем, всё касательно моего вышенаписанного письма. Проблема такая.. Полистал рекомендованные тут книги Владимира Баталия. Не найдя ответа, списался с ним лично. Благо ответил очень быстро, за что спасибо ему огромное. сделал вот такую строку, благодаря его письму
 

Код:
valueForKey = "Круг " & Chr(34) & "D1@Эскиз 1@" & Filename & ".SLDPRT" & Chr(34) & " ГОСТ ZZ"

 
НО!!! Получаю на выходе свойство с таким значением: Круг "D1@Эскиз 1@.SLDPRT" ГОСТ ZZ
 
То есть со вставкой кавычек разобрались.
 
А вот со вставкой имени файла проблемы. В текущем виде просто не вставляет, наверное, заметили. В виде & .Filename & выдет сообщение "Обработанных файлов: 0"
В виде & TypeName(Filename) & у свойства выходит такой значение: Круг "D1@Эскиз 1@Empty.SLDPRT" ГОСТ ZZ , хотя файл называется не Empty.  
P.S. потом понял что TypeName пишет название типа переменной.. Дурной я..
 
Добавлено:
Я уже не знаю как его вставить.. Попробовал добавить в контекстах вышенаписанных процедур и так:

Код:
dim str
str = file.ShortName
valueForKey = "Круг " & Chr(34) & "D1@Эскиз 1@" & str & ".SLDPRT" & Chr(34) & " ГОСТ ZZ"

 
И так:

Код:
dim str
str = str & File.Name
valueForKey = "Круг " & Chr(34) & "D1@Эскиз 1@" & str & ".SLDPRT" & Chr(34) & " ГОСТ ZZ"

Всё равно не помогает.. Пишет "Обработанных файлов: 0"
 
Добавлено:
Вроде бы это как-то можно организовать через FSO:
 
FSO.GetBaseName(ПутьКФайлу) — Вернёт имя файла без расширения
 
Но как это правильно организовать в контексте моего скрипта, я не знаю. Моих знаний программирования пока на это не хватает..
 
Так что, если кто может ответить сразу с текстом скрипта полностью, тому мой искренний поклон от всего сердца.

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 06:49 19-05-2014 | Исправлено: Parazitif, 08:59 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
В такие специфичные простыни вряд ли кто захочет вникать. тем более файлы специфичные  "Модели Solidworks (*.sldlfp,*.sldasm)|*.sldlfp;*.sldasm"
У меня например даже диалог выбора файла не открывает. (нет  Comdlg32.ocx на w7)
Set OpenDialog = CreateObject("MSComDlg.CommonDialog")               ' Microsoft Common Dialog Control  
msgbox OpenDialog 'здесь пустой диалог у меня
 
если хотите помощи, то надо определить в каком месте не работает так, как Вы хотите (msgbox в помощь), и сделать маленький тестовый скрипт, где проявляется эта ошибка. Тогда наверно Вам помогут.
 
в последнем посте я вообще не понял задачу. название файла Вы нашли сами, вставлять в скрипт умеете сами. Счетчик не работает?
 

Код:
Set fs = CreateObject("Scripting.FileSystemObject")    
name = fs.GetBaseName("C:\Windows\notepad.exe")
dim str  
str = str & name  
valueForKey = "Круг " & Chr(34) & "D1@Эскиз 1@" & str & ".SLDPRT" & Chr(34) & " ГОСТ ZZ"
MsgBox valueForKey

 
по книжке учится хорошо, но надо по командам хелп, чтобы не листать постоянно книгу в поисках. Например:
_http://www.script-coding.com/WSH/FileSystemObject.html

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 11:05 19-05-2014 | Исправлено: Tilks, 11:08 19-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
Сделал как вы сказали, вот текст скрипта:
 
Подробнее...
 
Файлы обрабатывает, но имя всё так же не добавляет.
Если заметили изменил назначение директории файлов с такого
name = fs.GetBaseName("C:\Windows\notepad.exe")
на такое
name = fs.GetBaseName(FilePath)
так как во-первых каждый раз работаю с разными директориями, а потому раз файлы я и так сам выбираю в пределах одной папки, то нужно чтобы оно было прописано скриптом.  
 
В общем, теперь делает запись Круг "B@Эскиз 1@Новая папка (5).SLDPRT"..
вроде уже близко, но нужно не имя конечной папки каталога, а имя файла.
 
______________________
 
Думал, что понял.. так как не прописал полный путь к файлу, но пока не могу догнать как это сделать полностью автоматически..
По-моему, должен был работать
 

Код:
name = fs.GetBaseName(FilePath & "\" & Filename & "SLDLFP")  

 
Но пишет только Круг "B@Эскиз 1@SLDLFP.SLDPRT"
 
поменял на  
name = fs.GetBaseName(FilePath & "\" & Filename & ".SLDLFP")
думал, что пропустил точку, но теперь снова пишет  Круг "B@Эскиз 1@.SLDPRT"

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 11:46 19-05-2014 | Исправлено: Parazitif, 20:20 19-05-2014
Laserje18

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
Спасибо! Работает идеально.

Всего записей: 64 | Зарегистр. 11-09-2012 | Отправлено: 12:05 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
постите свои простыни под тегом MORE (Скрывает текст и генерирует линк...)
Я же говорил, не могу проверить как работает, т.к. нету  Comdlg32.ocx на w7  
я проверил бы:

Код:
Sub AddCustomProperty(Cprop)      '""""""""""""""""" назначение свойств для файла  
key = "Наименование"                                                                                     ' Имя свойства  
Set fs = CreateObject("Scripting.FileSystemObject")      
name = fs.GetBaseName(FilePath)  

откуда в этой процедуре FilePath, передается в процедуру только Cprop ? Он виден в коде или нет?

Код:
Sub AddCustomProperty(Cprop)      '""""""""""""""""" назначение свойств для файла  
msgbox "FilePath = " & FilePath ' проверить видно ли здесь FilePath
key = "Наименование"                                                                                     ' Имя свойства  
Set fs = CreateObject("Scripting.FileSystemObject")      
name = fs.GetBaseName(FilePath)
msgbox "name = " & name  

и здесь

Код:
If count_files > 0 Then  
    path = files(0) + "\"      ' в ХР работает этот вариант   path = files(0), в W7 почему то в окончании \ отсутствует  
 
точно там надо + или может всё таки & ?
 
проверка правильно ли там

Код:
If count_files > 0 Then  
    path = files(0) + "\"      ' в ХР работает этот вариант   path = files(0), в W7 почему то в окончании \ отсутствует  
    msgbox "Path = " & path ' проверить  правильно ли
 


Код:
 PropertySearch path + files(0)
msgbox "Path + files " & path + files(0) ' проверить  правильно ли  

вставляйте в начале и в конце процедуры  msgbox, и смотрите где не так как Вы задумали.

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 13:13 19-05-2014 | Исправлено: Tilks, 13:14 19-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хорошо, попробую.
_____________
 
Проверил. Путь к файлам берет правильно. Пишет: Path = C:\Users\Shilcev\Desktop\Новая папка\  
Затем проверка пишет FilePath = C:\Users\Shilcev\Новая папка\_Белиберда.SLDLFP
Затем сообщение name = _Белиберда
Затем результат Круг "B@Эскиз1@.SLDPRT
 
И так же для второго выбранного файла, только с его именем. То есть и счётчик работает нормально.
 
А значит не работает что-то на этапе вписания name в свойство.. То есть назначения  
 

Код:
valueForKey = "Круг " & Chr(34) & "B@Эскиз 1@" & str & ".SLDPRT" & Chr(34)

_____________________
 
Извиняюсь, сам уже подправил код и забыл отписаться, сейчас выглядит так
 
Подробнее...
 
И для него всё вышенаписанное правильно работает, но почему-то теряет значение str на моменте присвоения значения перемененной valueForKey.  
 
Когда же вот эта часть лежит в каждой процедуре AddCustomProperty(Cprop) и AddCustomPropertyEx(Cprop,iprop), то вообще ничего не присваивает, работает только Filepath..
 
Код:
Set fs = CreateObject("Scripting.FileSystemObject")    
 msgbox "FilePath = " & FilePath
 name = fs.GetBaseName(Filepath)  
 msgbox "name = " & name
 dim str  
 str = str & name

Подробнее...

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 13:19 19-05-2014 | Исправлено: Parazitif, 20:19 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
я запустил кое как на virtual xp, с изменениями выбора файла, чтобы вообще работало.
 
у меня вообще не проходит Cprop

Код:
Sub PropertySearch (FilePath)      '""""""""""""""""" поиск свойств файла  
msgbox "FilePath in PropertySearch() = " & FilePath ' тут показывает
Set Cprop = CreateObject("DSOFile.OleDocumentProperties") ' создаем объект подключения к свойствам файла  
msgbox "Cprop object = " & Cprop ' !!! а тут уже не доходит !!!

 
мой тестовый код для xp

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 15:23 19-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно у вас не установлен Microsoft Developer Support OLE File Property Reader 2.1 Sample
 
регистрилка "MSComDlg.CommonDialog":

Код:
REGEDIT4  
   
 [HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905]  
 @="gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"  
   
 [HKEY_CLASSES_ROOT\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908]  
 @="yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun"

 
Ну и я в своё время добавлял ещё это:
через regedit в директории HKEY_CLASSES_ROOT\Licenses\ добавил вот такие подразделы:  
 4D553650-6ABE-11cf-8ADB-00AA00C00905 со значением gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj  
   
 а также  
   
 78E1BDD1-9941-11cf-9756-00AA00C00908 со значением  
 yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun  
   
 В итоге всё заработало, как должно.
 
А на 64х-разрядной 7ке так и не смог запустить.. Так что буду ждать до завтра, проверяю там этот скрипт на 32х-разрядной 7ке.

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 16:02 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
здесь не правильно
Cprop.CustomProperties.Add key, valueForKey               ' Добавляем новое свойство
если надо текст добавлять то 4 надо в втором параметре.
 
И вообще слишком сложно всё сделали. Почитал мануал, и сделал в пару строк.
 
Подробнее...
 
получилось так
 
 
удалить можно так:

Код:
Set objFile = CreateObject("DSOFile.OleDocumentProperties")
objFile.Open("test.xls")
 
Set objProperty = objFile.CustomProperties.Item("Date Reviewed")
objProperty.Remove
objFile.Save
 
Set objProperty = objFile.CustomProperties.Item("Наименование")
objProperty.Remove
objFile.Save
 

 
правда там с кодировками надо осторожно. у меня блокнот сохранил в utf-8, тогда не читаемый получается в свойствах русский текст.

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 18:38 19-05-2014
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tilks
Ну вообще смотрится здорово! То, что надо! Только мне нужно, чтобы это работало с кучей моих файлов (просто их порядка 20 тысяч), поэтому и есть диалог выбора. Ну и соответсвенно, чтобы не прописывать каждый раз вручную имя файла.  

Код:
objFile.Open("test.xls")

Но задумку вроде понял. Завтра попробую воплотить. Если есть мысль как полностью допилить скрипт с вышеизложенными задачами, то буду рад. То есть нужно, чтобы было диалоговое окно выбора файлов, счетчик перехода от одного к другому файлу, ну и соответственно вами вышеописанное чудо. Хотя просить вас об этом и наглость уже, ибо понимаю, что и так вам премного благодарен за вашу помощь.  

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 20:01 19-05-2014 | Исправлено: Parazitif, 20:18 19-05-2014
Tilks

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
Запустил наконец то на win7 64бит
Подробнее...

Всего записей: 2688 | Зарегистр. 14-08-2005 | Отправлено: 02:44 20-05-2014 | Исправлено: Tilks, 02:51 20-05-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru