Смена програмно MajorVer, MinorVer, RevisionVer - VB
Формулировка задачи:
Всем привет!
Как-то натыкался на пример, где
MajorVer, MinorVer, RevisionVer...
меняли програмно... Не подскажите?Решение задачи: «Смена програмно MajorVer, MinorVer, RevisionVer»
textual
Листинг программы
HomeDir=Wscript.ScriptFullName k=InstrRev(HomeDir,"\") HomeDir=Left(HomeDir,(k-1)) '::: '::: Создаем новый модуль verinfo.bas '::: Set myFSO = CreateObject("Scripting.FileSystemObject") Set gFil=myFSO.CreateTextFile(HomeDir & "\verinfo.bas",True) gFil.WriteLine "Attribute VB_Name = ""verinfo""" gFil.WriteLine "Public Const Date_Build = """ & Cstr(Date) & """" gFil.WriteLine "Public Const Time_Build = """ & Cstr(Time) & """" gFil.Close '::: '::: Находим Major, Minor, Revision (по IDE-проекту) '::: Set filIDE=myFSO.GetFile(HomeDir & "\lispik-ide.vbp") Set isIDE=filIDE.OpenAsTextStream(1) Buf=isIde.ReadAll() isIDE.Close Set filIDE=Nothing k=Instr(Buf,"MajorVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) Major=mid(Buf,(k+9),(p-k-9)) end if k=Instr(Buf,"MinorVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) Minor=mid(Buf,(k+9),(p-k-9)) end if k=Instr(Buf,"RevisionVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) Revision=mid(Buf,(k+12),(p-k-12)) end if Revision=Cstr(Cint(Revision)+1) '::: '::: Запрос '::: Do Resp=InputBox( "Подтвердите номер версии","Major.Minor.Revision",Cstr(major) & "." & Cstr(minor) & "." & Cstr(Revision) ) If Resp="" then exit Do k=Instr(Resp,".") if (k <= 1) then MsgBox "Вы ошиблись!" else Major=Left(Resp,(k-1)) Resp=mid(Resp,(k+1)) k=Instr(Resp,".") if (k <= 1) then MsgBox "Вы ошиблись!" Else Minor=Left(Resp,(k-1)) Revision=mid(Resp,(k+1)) If len(Revision)=0 then MsgBox "Вы ошиблись!" else Exit Do end if End if End if Loop '::: '::: Во всех модулях обновляем номера версии '::: Act_vbp "lispik-ide.vbp",myFSO,HomeDir,Major,Minor,Revision Act_vbp "lispik-exe.vbp",myFSO,HomeDir,Major,Minor,Revision Act_vbp "lispik-lib.vbp",myFSO,HomeDir,Major,Minor,Revision Act_vbp "lispik-web.vbp",myFSO,HomeDir,Major,Minor,Revision Act_vbp "lispik-csc.vbp",myFSO,HomeDir,Major,Minor,Revision Act_vbp "lispik-wsc.vbp",myFSO,HomeDir,Major,Minor,Revision MsgBox "OK!" '#### Конец #### Sub Act_vbp(fnam,myFSO,HomeDir,Major,Minor,Revision) Set filIDE=myFSO.GetFile(HomeDir & "\" & fnam) Set isIDE=filIDE.OpenAsTextStream(1) Buf=isIde.ReadAll() isIDE.Close k=Instr(Buf,"MajorVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) oMajor=mid(Buf,k,(p-k)) end if Buf=Replace(Buf,oMajor, "MajorVer=" & Cstr(Major)) k=Instr(Buf,"MinorVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) oMinor=mid(Buf,k,(p-k)) end if Buf=Replace(Buf,oMinor, "MinorVer=" & Cstr(Minor)) k=Instr(Buf,"RevisionVer") if (k > 0) then p=Instr(k,Buf,vbCrlf) oRevision=mid(Buf,k,(p-k)) end if Buf=Replace(Buf,oRevision, "RevisionVer=" & Cstr(Revision)) Set isIDE=filIDE.OpenAsTextStream(2) isIde.Write(Buf) isIDE.Close Set filIDE=Nothing End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д