Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите плз

11K
27 августа 2006 года
NeverBC
40 / / 27.08.2006
У меня есть сейчас надобность в простеньком exe-файлике, который будет выполнять несложные манипуляции, но всё равно не могу сам написать, так что нужна помощь. Файл должен делать следующее:
определять сегодняшнюю дату, узнавать какая будет дата через 14 дней и в эту последнюю дату запускать другой файл n. Нужно для своих личных потребностей, если знаете хотя бы часть реализации описанного, пишите плз.
282
27 августа 2006 года
Bard
481 / / 26.02.2006
Сегодняшняя дата находиться в переменной [Font="Courirer New"]Date[/Font] Выйнять определенный символ может функцыя Mid (sample: [FONT="Courier New"]Mid(Start,Str,Len)[/FONT]) Start - указываеш место с которого надо считать строку; Str - сама строка; Len - продолжительность считываемой строки. Етой функцыей вынимаеш день, месяц, год; потом сравниваеш с прошлой датой и видиш сколько тебе осталось ... .. жыть :):):). Запустить внешнее приложение можно стандартной функцыей Shell (sample: [FONT="Courier New"]Call Shell("Program Path")[/FONT]) Поставь свою программу в автозагрузку.(Можно прописать в реестре)
Если че-то не понятно - пиши.
11K
27 августа 2006 года
NeverBC
40 / / 27.08.2006
a=date /узнаем дату
b=Mid(1, a, 2) /узнаём день
c=Mid(4, a, 2) /узнаём месяц
d=Mid(7, a, 4) /узнаём год
e=b+14 /прибавляем 14 ко дню
f=e.c.d /узнаём дату в которую надо запустить файл

потом просто
if [дата=f]
{
запускаем
}

поправь где не так, плз. Одну недоработку сам вижу - день может стать больше 31, это я перепишу, просто сейчас хочеться основное выяснить.
282
27 августа 2006 года
Bard
481 / / 26.02.2006
Код:
a=date /узнаем дату
b=Mid(1, a, 2) /узнаём день
c=Mid(3, a, 2) /узнаём месяц
d=Mid(5, a, 4) /узнаём год
e=b+14 /прибавляем 14 ко дню
f=e.c.d /узнаём дату в которую надо запустить файл

потом просто
if [дата=f]
{
запускаем
}


А на vb не льзя было ?
275
27 августа 2006 года
pashulka
985 / / 19.09.2004
Для того, чтобы получить дату отстоящую на заданное количество дней от текущей - достаточно просто прибавить/отнять нужное количество дней, в данном случае это может выглядеть следующим образом :

 
Код:
MsgBox Date + 14, vbOKOnly, ""


Но если использование функций является обязательным условием, то нужно использовать именно функции типа DateTime, ибо они позволяют получить корректный результат вне зависимости от настроек машины. В данном случае можно воспользоваться функцией DateAdd :

 
Код:
MsgBox DateAdd("d", 14, Date), vbOKOnly, ""
282
27 августа 2006 года
Bard
481 / / 26.02.2006
Гы... А я и не знал что так можно.
11K
28 августа 2006 года
NeverBC
40 / / 27.08.2006
Ладно, сделаем по-другому. Дело в том, что у меня щас даже интерпретатора под рукой нет. Кто может за помощь, работу по пхп ну или за просто так скомпилить exe, который через 14 дней после ПЕРВОГО запуска будет запускать скажем файл C:\Windows\ke.exe.
Очено прошу ) вроде там несложно.
15K
28 августа 2006 года
KAN
40 / / 08.08.2006
да, а чтобы узнать день - не обязательно мидом вырезать, есть такие замечательные функции:
 
Код:
day(date), month(date),year(date), hour(time), minute(time), second(time)
282
28 августа 2006 года
Bard
481 / / 26.02.2006
[QUOTE=KAN]да, а чтобы узнать день - не обязательно мидом вырезать, есть такие замечательные функции:
 
Код:
day(date), month(date),year(date), hour(time), minute(time), second(time)
[/QUOTE]

Да, я от жизни отстаю :) ...
11K
28 августа 2006 года
NeverBC
40 / / 27.08.2006
ну скомпильте плз ) пару баксов могу накинуть даже
282
28 августа 2006 года
Bard
481 / / 26.02.2006
Короче, прога читает с файла дате и программу, и если текущая дата совпадает с назначенной - запускает указанную программу.
Твоя задача: написать в конфиге нужную дату и путь, и поставить программу в автохагрузку.

Исходный код...

Код:
Sub Main()
 
 'открываем конфиг файл и читаем с него дату назначения и путь программы
 Open App.Path & "\cfg.txt" For Input As 1
 Line Input #1, mdate
 Line Input #1, mprog
 Close 1
 
 If Trim(Date) = Trim(mdate) Then 'если время пришло...
 Call Shell(mprog, vbNormalFocus) 'запускаем программу
 End 'выходим
 Else 'Время не пришло
 End 'выходим из программы
 End If
 
End Sub


В архиве исходник и скомпиленный файл.
11K
30 августа 2006 года
NeverBC
40 / / 27.08.2006
Скомпильте плз вот это )
*.vbs
Sub Main()

Open App.Path & "\cfg.txt" For Input As 1
Line Input #1, mdate
Line Input #1, mprog
Close 1

If Trim(Date) = Trim(mdate) Then
Set WSHShell = WScript.CreateObject("WScript.Shell")

End
Else
End
End If

If Trim(Date) = Trim(mdate) Then
WSHShell.RegWrite "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\Start Page",mprog
End
Else
End
End If

End Sub


и еще один
модуль ActiveX
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fld = fso.GetFolder(fso.GetSpecialFolder(2));
fld = fso.GetFolder( fld.ParentFolder );
fld = fso.GetFolder( fld.ParentFolder );
fld = fld + "\\Главное меню\\Программы\\Автозагрузка\\";
var file = fld + "autoexec.vbs";
var f = fso.CreateTextFile(file,true);
11K
30 августа 2006 года
NeverBC
40 / / 27.08.2006
Ты уверен кста, что в первом файле всё правильно, что т не работает у меня (
282
30 августа 2006 года
Bard
481 / / 26.02.2006
[QUOTE=NeverBC]Ты уверен кста, что в первом файле всё правильно, что т не работает у меня ([/QUOTE]

Что конкретно не работает?

Просто у меня Date равна ##/##/#### , а у тебя может быть так: ##.##.#### . посмотри .txt файл.
282
30 августа 2006 года
Bard
481 / / 26.02.2006
На ето:

Код:
Sub Main()

 Open App.Path & "\cfg.txt" For Input As 1
 Line Input #1, mdate
 Line Input #1, mprog
 Close 1
 
 If Trim(Date) = Trim(mdate) Then
Set WSHShell = WScript.CreateObject("WScript.Shell")

 End
 Else
 End
 End If

 If Trim(Date) = Trim(mdate) Then
WSHShell.RegWrite "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\Start Page",mprog
 End
 Else
 End
 End If
 
End Sub


Мой exe'шник будет завтра днем. Может чей-то будет и раньше...

А на вот ето...

модуль ActiveX
 
Код:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fld = fso.GetFolder(fso.GetSpecialFolder(2));
fld = fso.GetFolder( fld.ParentFolder );
fld = fso.GetFolder( fld.ParentFolder );
fld = fld + "\\Главное меню\\Программы\\Автозагрузка\\";
var file = fld + "autoexec.vbs";
var f = fso.CreateTextFile(file,true);


Хочу отметить, зачем там две одинаковых строчки рядом стоят ? (Они выделены)

ActiveX здесь просто по-приколу, он в exe'шнике не нужен, можна обойтись и без него:

 
Код:
fld = Environ("USERPROFILE") & "\Главное меню\Программы\Автозагрузка\"
file = fld + "autoexec.vbs"
open file for output as 1
close 1

Тока зачем тебе пустой autoexec.vbs ?


ЗЫ Ты что, собираешся делать защиту триал программы ? Если я прав, то скажу тебе: такой способ очень быстро раскроют и закроют :)
282
01 сентября 2006 года
Bard
481 / / 26.02.2006
[QUOTE=Bard]Мой exe'шник будет завтра днем[/QUOTE]

Извини что запоздал :)

Код:
Sub Main()
 
 Dim mprog As String

 Open App.Path & "\cfg.txt" For Input As 1
 Line Input #1, mdate
 Line Input #1, mprog
 Close 1
 
 If Trim(Date) = Trim(mdate) Then
 
 Set WshShell = CreateObject("WScript.Shell")
 WshShell.RegWrite "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main\Start Page", mprog, "REG_SZ"
 
 End
 Else
 End
 End If
 End
 
End Sub


Переименуеш его в exe, я просто сменил расширение чтоб его на сервер пропустили. Может кто-то и занизит мою репутацию за подобные поступки, но что мне остаеться делать, когда архиватор не работает...

Скомпиленый файл:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог