home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / SolarPro_-18094310232004.psc / FormEditor.frm < prev    next >
Text File  |  2004-04-08  |  10KB  |  346 lines

  1. VERSION 5.00
  2. Object = "{0E59F1D2-1FBE-11D0-8FF2-00A0D10038BC}#1.0#0"; "msscript.ocx"
  3. Begin VB.Form FormScriptEditor 
  4.    Caption         =   "Script Editor"
  5.    ClientHeight    =   7425
  6.    ClientLeft      =   60
  7.    ClientTop       =   345
  8.    ClientWidth     =   7995
  9.    KeyPreview      =   -1  'True
  10.    LinkTopic       =   "Form1"
  11.    MDIChild        =   -1  'True
  12.    ScaleHeight     =   495
  13.    ScaleMode       =   3  'Pixel
  14.    ScaleWidth      =   533
  15.    Begin MSScriptControlCtl.ScriptControl ScriptControl1 
  16.       Left            =   5400
  17.       Top             =   2100
  18.       _ExtentX        =   1005
  19.       _ExtentY        =   1005
  20.       AllowUI         =   -1  'True
  21.    End
  22.    Begin VB.ListBox ListSpKeyWords 
  23.       BeginProperty Font 
  24.          Name            =   "Arial"
  25.          Size            =   8.25
  26.          Charset         =   178
  27.          Weight          =   700
  28.          Underline       =   0   'False
  29.          Italic          =   0   'False
  30.          Strikethrough   =   0   'False
  31.       EndProperty
  32.       Height          =   1530
  33.       ItemData        =   "FormEditor.frx":0000
  34.       Left            =   2370
  35.       List            =   "FormEditor.frx":0034
  36.       Sorted          =   -1  'True
  37.       TabIndex        =   5
  38.       Top             =   360
  39.       Visible         =   0   'False
  40.       Width           =   2145
  41.    End
  42.    Begin VB.ComboBox ComboSpKeyWords 
  43.       BackColor       =   &H00FFFFFF&
  44.       BeginProperty Font 
  45.          Name            =   "Arial"
  46.          Size            =   8.25
  47.          Charset         =   178
  48.          Weight          =   700
  49.          Underline       =   0   'False
  50.          Italic          =   0   'False
  51.          Strikethrough   =   0   'False
  52.       EndProperty
  53.       ForeColor       =   &H00800000&
  54.       Height          =   315
  55.       ItemData        =   "FormEditor.frx":00DE
  56.       Left            =   2370
  57.       List            =   "FormEditor.frx":0112
  58.       TabIndex        =   4
  59.       ToolTipText     =   "KeyWords"
  60.       Top             =   0
  61.       Width           =   2160
  62.    End
  63.    Begin VB.CommandButton CommandOpen 
  64.       BackColor       =   &H00FFFFFF&
  65.       Height          =   315
  66.       Left            =   30
  67.       Picture         =   "FormEditor.frx":01BC
  68.       Style           =   1  'Graphical
  69.       TabIndex        =   3
  70.       ToolTipText     =   "Open"
  71.       Top             =   0
  72.       Width           =   345
  73.    End
  74.    Begin VB.CommandButton CommandSave 
  75.       BackColor       =   &H00FFFFFF&
  76.       Height          =   315
  77.       Left            =   420
  78.       Picture         =   "FormEditor.frx":0672
  79.       Style           =   1  'Graphical
  80.       TabIndex        =   2
  81.       ToolTipText     =   "Save"
  82.       Top             =   0
  83.       Width           =   345
  84.    End
  85.    Begin VB.CommandButton CommandRunScript 
  86.       Height          =   315
  87.       Left            =   810
  88.       Picture         =   "FormEditor.frx":0B28
  89.       Style           =   1  'Graphical
  90.       TabIndex        =   1
  91.       ToolTipText     =   "Run (F5)"
  92.       Top             =   0
  93.       Width           =   345
  94.    End
  95.    Begin VB.TextBox Text1 
  96.       BeginProperty Font 
  97.          Name            =   "Tahoma"
  98.          Size            =   9.75
  99.          Charset         =   0
  100.          Weight          =   700
  101.          Underline       =   0   'False
  102.          Italic          =   0   'False
  103.          Strikethrough   =   0   'False
  104.       EndProperty
  105.       Height          =   7095
  106.       Left            =   0
  107.       MultiLine       =   -1  'True
  108.       ScrollBars      =   3  'Both
  109.       TabIndex        =   0
  110.       Top             =   330
  111.       Width           =   7965
  112.    End
  113.    Begin VB.Label Label1 
  114.       AutoSize        =   -1  'True
  115.       Caption         =   "Ctrl+Space:"
  116.       Height          =   195
  117.       Left            =   1530
  118.       TabIndex        =   6
  119.       Top             =   60
  120.       Width           =   825
  121.    End
  122. End
  123. Attribute VB_Name = "FormScriptEditor"
  124. Attribute VB_GlobalNameSpace = False
  125. Attribute VB_Creatable = False
  126. Attribute VB_PredeclaredId = True
  127. Attribute VB_Exposed = False
  128. 'Option Explicit
  129.  
  130. Dim DontInsertText As Integer
  131.  
  132. Sub InsertText(t As String)
  133.  Dim t1 As String
  134.  With Text1
  135.   .SetFocus
  136.   ListSpKeyWords.Visible = False
  137.   ComboSpKeyWords.Text = ""
  138.   t1 = Clipboard.GetText
  139.   Clipboard.Clear
  140.   Clipboard.SetText t '+ " "
  141.   SendKeys "^v" 'ctrl+v = paste
  142.   DoEvents
  143.   Clipboard.SetText t1 'previous
  144.  End With
  145. End Sub
  146.  
  147. Private Sub ComboSpKeyWords_GotFocus()
  148.  ListSpKeyWords.Visible = True
  149. End Sub
  150.  
  151. Private Sub ComboSpKeyWords_KeyDown(KeyCode As Integer, Shift As Integer)
  152.  If KeyCode = vbKeyDown Or KeyCode = vbKeyUp Then
  153.   ListSpKeyWords.SetFocus: DoEvents
  154.   If KeyCode = vbKeyDown Then SendKeys "{DOWN}" Else SendKeys "{UP}"
  155.  End If
  156. End Sub
  157.  
  158. Private Sub ComboSpKeyWords_KeyPress(KeyAscii As Integer)
  159.  'Exit Sub
  160.  If KeyAscii = 8 Then Exit Sub
  161.  If KeyAscii = 27 Then
  162.   KeyAscii = 0: ListSpKeyWords.Visible = False
  163.   Text1.SetFocus: Text1.SelLength = 0: ComboSpKeyWords.Text = "": Exit Sub
  164.  End If
  165.  Dim s As String
  166.  If KeyAscii = 13 Then s = "": KeyAscii = 32 Else s = Chr(KeyAscii)
  167.  If (KeyAscii < 65 Or KeyAscii > 90) And (KeyAscii < 97 Or KeyAscii > 122) Then
  168.   KeyAscii = 0
  169.   InsertText ListSpKeyWords.List(ListSpKeyWords.ListIndex) + s
  170.  End If
  171. End Sub
  172.  
  173. Private Sub ComboSpKeyWords_LostFocus()
  174.  If ActiveControl.Name <> ListSpKeyWords.Name Then ListSpKeyWords.Visible = False
  175. End Sub
  176.  
  177. Private Sub CommandRunScript_Click()
  178.  'On Error Resume Next
  179.  'Text1.SetFocus
  180.  'Graphix3D1.ClearScene 'Because Of AddObject
  181.  'With ScriptControl1
  182.  ' .Reset
  183.  ' .AddObject "Gr3D", Graphix3D1, True
  184.  ' .ExecuteStatement Text1.Text
  185.  'End With
  186.  
  187.  'If Err Then
  188.  ' MsgBox Err.Description
  189.  ' Err.Clear
  190.  ' Exit Sub
  191.  'End If
  192.  
  193.  'Graphix3D1.CopyScene UserScene
  194.  
  195. End Sub
  196.  
  197. Sub CommandOpen_Click()
  198.  On Error Resume Next
  199.  Text1.SetFocus
  200.  With MDIFormMain.CD1
  201.    .Flags = cdlOFNOverwritePrompt + cdlOFNFileMustExist
  202.    .Filter = "VB Script Files (*.Vbs)|*.Vbs|All Files|*.*"
  203.    .ShowOpen
  204.    If Err Then Err.Clear: Exit Sub 'user cancel opening
  205.    Dim f As Long
  206.    f = FreeFile
  207.    Open .FileName For Input As f
  208.    Text1.Text = Input$(LOF(f), #1)
  209.    Close f
  210.    If Err Then MsgBox "Error during load:" + vbCrLf + vbCrLf + Err.Description, , "Error": Err.Clear
  211.    Caption = .FileTitle + " - Script Editor"
  212.    Tag = .FileName
  213.  End With
  214. End Sub
  215.  
  216. Private Sub CommandSave_Click()
  217.  On Error Resume Next
  218.  Text1.SetFocus
  219.  With MDIFormMain.CD1
  220.    .FileName = Tag
  221.    If .Flags And cdlOFNOverwritePrompt Then .Flags = .Flags Xor cdlOFNOverwritePrompt
  222.    If Tag = "" Then .Flags = cdlOFNOverwritePrompt
  223.    .Flags = .Flags Or cdlOFNFileMustExist
  224.    .Filter = "VB Script Files (*.Vbs)|*.Vbs|All Files|*.*"
  225.    .ShowSave
  226.    If FormGrIsVisible Then FormGr.DoPaint 'Call RefreshGDIwindow (only a fast bitblt)
  227.    If Err Then Err.Clear: Exit Sub 'user cancel opening
  228.    Dim f As Long
  229.    f = FreeFile
  230.    Open .FileName For Output As f
  231.    Print #f, Text1.Text
  232.    Close f
  233.    If Err Then MsgBox "Error during save:" + vbCrLf + vbCrLf + Err.Description, , "Error": Err.Clear
  234.    Caption = .FileTitle + " - Script Editor"
  235.    Tag = .FileName
  236.  End With
  237. End Sub
  238.  
  239. Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
  240.  If KeyCode = vbKeyF5 Then CommandRunScript_Click
  241.  If KeyCode = 27 Then ListSpKeyWords.Visible = False: Text1.SetFocus
  242. End Sub
  243.  
  244. Private Sub Form_Load()
  245.  Cursor2End
  246. End Sub
  247.  
  248. Sub Cursor2End()
  249.  Text1.SelStart = Len(Text1.Text)
  250. End Sub
  251.  
  252. Private Sub Form_Resize()
  253.  If ScaleWidth > 100 Then Text1.Width = ScaleWidth - 1
  254.  If ScaleHeight > 100 Then Text1.Height = ScaleHeight - 1 - Text1.Top
  255. End Sub
  256.  
  257. Private Sub ListSpKeyWords_Click()
  258.  With ListSpKeyWords
  259.   'If DontInsertText = 0 Then InsertText .List(.ListIndex)
  260.   If ActiveControl.Name <> "ComboSpKeyWords" Then ComboSpKeyWords.Text = .List(.ListIndex)
  261.  End With
  262. End Sub
  263.  
  264. Sub CompleteSpKeyWords()
  265.  Dim t As String, n As Long, i As Long
  266.  t = LCase(ComboSpKeyWords.Text)
  267.  'With ComboSpKeyWords
  268.  With ListSpKeyWords
  269.   n = Len(t)
  270.   For i = 0 To .ListCount - 1
  271.    If LCase(Left(.List(i), n)) = t Then
  272.      DontInsertText = 1: .ListIndex = i: DontInsertText = 0
  273.      Exit For
  274.    End If
  275.   Next
  276.  End With
  277. End Sub
  278.  
  279. Private Sub ComboSpKeyWords_Change()
  280.  If ActiveControl.Name <> "ComboSpKeyWords" Then Exit Sub
  281.  ListSpKeyWords.Visible = True
  282.  CompleteSpKeyWords
  283. End Sub
  284.  
  285. Private Sub ComboSpKeyWords_Click()
  286.  'Exit Sub
  287.  If ActiveControl.Name <> "ComboSpKeyWords" Then Exit Sub
  288.  Dim t As String
  289.  t = ComboSpKeyWords.Text
  290.  InsertText t
  291. End Sub
  292.  
  293. Private Sub ListSpKeyWords_DblClick()
  294.  Call ListSpKeyWords_KeyPress(13)
  295. End Sub
  296.  
  297. Private Sub ListSpKeyWords_KeyPress(KeyAscii As Integer)
  298.  With ListSpKeyWords
  299.  Dim s As String
  300.  If KeyAscii <> 13 Then s = Chr(KeyAscii) Else s = ""
  301.  If KeyAscii = 13 Or ((KeyAscii < 65 Or KeyAscii > 90) And (KeyAscii < 97 Or KeyAscii > 122)) Then
  302.   KeyAscii = 0
  303.   .Visible = False
  304.   InsertText .List(.ListIndex) + s
  305.  End If
  306.  End With
  307. End Sub
  308.  
  309. Private Sub Text1_GotFocus()
  310.  'If ListSpKeyWords.Visible Then ListSpKeyWords.Visible = False 'for more safety
  311. End Sub
  312.  
  313. Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  314.  With Text1
  315.   If KeyCode = 32 And (Shift = 2) Then 'Ctrl+Space
  316.    Dim i As Long, c As Long, i2 As Long, w As String, m As String, a As Integer
  317.    If .SelLength > 0 Then
  318.     w = .SelText
  319.    Else
  320.     'find last word near cursor and store it to w:
  321.     w = ""
  322.     i2 = .SelStart: c = 0
  323.     For i = i2 To 1 Step -1
  324.       m = Mid(.Text, i, 1)
  325.       a = Asc(UCase(m))
  326.       If a < 65 Or a > 90 Then Exit For
  327.       w = m + w: c = c + 1
  328.     Next
  329.     If c <> 0 Then
  330.      .SelStart = i2 - c
  331.      .SelLength = c
  332.     End If
  333.    End If
  334.    With ComboSpKeyWords
  335.     .SetFocus
  336.     .Text = w
  337.     .SelLength = 0: .SelStart = Len(w)
  338.    End With
  339.   End If
  340.  End With
  341. End Sub
  342.  
  343. Private Sub Text1_KeyPress(KeyAscii As Integer)
  344.  If ActiveControl.Name <> Text1.Name Then KeyAscii = 0: Exit Sub
  345. End Sub
  346.