Показать сообщение отдельно
Старый 13.05.2007, 17:42   #4
Chrono Syndrome
 
Сообщений: n/a
Re: PB 4.0 + JS скрипты

вот ведь блин...
Аналогично...

а на русском нету?
Есть:

Structure Variant 
    Type.w 
    Reserved1.w 
    Reserved2.w    
    Reserved3.w 
    String.l 
EndStructure 
 
#VT_BSTR = 8 
x.Variant\Type = #VT_BSTR 
 
DataSection 
meine_vbs: 
  IncludeBinary "tmp.vbs" 
  Data.b 0 
EndDataSection 
 
Procedure.l Ansi2Uni(ansi.s) 
  size.l=MultiByteToWideChar_(#CP_ACP,0,ansi,-1,0,0) 
  Dim unicode.w(size) 
  MultiByteToWideChar_(#CP_ACP, 0, ansi, Len(ansi), unicode(), size) 
  ProcedureReturn @unicode()  
EndProcedure 
 
Procedure.s Uni2Ansi(*Unicode.l) 
  size.l = WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, #Null, #Null, #Null, #Null) 
  ansi.s=Space(size) 
  WideCharToMultiByte_(#CP_ACP, 0, *Unicode, -1, @ansi, size, #Null, #Null) 
  ProcedureReturn ansi  
EndProcedure 
 
Enumeration ; ScriptControlStates 
  #Initialized = 0 
  #Connected = 1 
EndEnumeration 
 
; DispInterfaces 
 
Interface IScriptProcedure Extends IDispatch 
  get_Name(a) 
  get_NumArgs(a) 
  get_HasReturnValue(a) 
EndInterface 
 
Interface IScriptProcedureCollection Extends IDispatch 
  get__NewEnum(a) 
  get_Item(a,b,c,d,e) 
  get_Count(a) 
EndInterface 
 
Interface IScriptModule Extends IDispatch 
  get_Name(a) 
  get_CodeObject(a) 
  get_Procedures(a) 
  AddCode(a) 
  Eval(a,b) 
  ExecuteStatement(a) 
  Run(a,b,c) 
EndInterface 
 
Interface IScriptModuleCollection Extends IDispatch 
  get__NewEnum(a) 
  get_Item(a,b,c,d,e) 
  get_Count(a) 
  Add(a,b,c) 
EndInterface 
 
Interface IScriptError Extends IDispatch 
  get_Number(a) 
  get_Source(a) 
  get_Description(a) 
  get_HelpFile(a) 
  get_HelpContext(a) 
  get_Text(a) 
  get_Line(a) 
  get_Column(a) 
  Clear() 
EndInterface 
 
Interface IScriptControl Extends IDispatch 
  get_Language(a) 
  put_Language(a) 
  get_State(a) 
  put_State(a) 
  put_SitehWnd(a) 
  get_SitehWnd(a) 
  get_Timeout(a) 
  put_Timeout(a) 
  get_AllowUI(a) 
  put_AllowUI(a) 
  get_UseSafeSubset(a) 
  put_UseSafeSubset(a) 
  get_Modules(a) 
  get_Error(a) 
  get_CodeObject(a) 
  get_Procedures(a) 
  _AboutBox() 
  AddObject(a,b,c) 
  Reset() 
  AddCode(a) 
  Eval(a,b) 
  ExecuteStatement(a) 
  Run(a,b,c) 
EndInterface 
 
CoInitialize_(0) 
If CoCreateInstance_(?CLSID_ScriptControl,0,1,?IID_IScriptControl,@Object.IScriptControl) = 0 
 
object\reset() 
object\put_Language(Ansi2Uni("vbscript")) 
object\AddCode(Ansi2Uni(PeekS(?meine_vbs))) 
; 
object\Eval(Ansi2Uni("soft"),@x) 
meine_variX.s = UCase(uni2ansi(x\String)) 
; 
object\reset() 
; 
object\release() 
 
EndIf 
CoUninitialize_() 
 
MessageRequester("vbs variable",meine_variX,#PB_MessageRequester_Ok) 
 
DataSection 
  CLSID_ScriptControl: 
  Data.l $0e59f1d5 
  Data.w $1fbe,$11d0 
  Data.b $8f,$f2,$00,$a0,$d1,$00,$38,$bc 
 
  IID_IScriptControl: 
  Data.l $0e59f1d3 
  Data.w $1fbe,$11d0 
  Data.b $8f,$f2,$00,$a0,$d1,$00,$38,$bc 
EndDataSection
 
Ответить с цитированием