home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 7_2009-2012.ISO / data / zips / Text2RES_-2210108252011.psc / Text2RES / frmMain.frm next >
Text File  |  2011-08-25  |  7KB  |  233 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "ComDlg32.OCX"
  3. Begin VB.Form frmMain 
  4.    Caption         =   "Text2RES"
  5.    ClientHeight    =   2880
  6.    ClientLeft      =   60
  7.    ClientTop       =   450
  8.    ClientWidth     =   5625
  9.    LinkTopic       =   "Form1"
  10.    ScaleHeight     =   2880
  11.    ScaleWidth      =   5625
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.CommandButton cmdNew 
  14.       Caption         =   "New"
  15.       Height          =   375
  16.       Left            =   4920
  17.       TabIndex        =   4
  18.       Top             =   120
  19.       Width           =   615
  20.    End
  21.    Begin VB.CommandButton cmdFile 
  22.       Caption         =   "Add Text File(s)"
  23.       Height          =   375
  24.       Left            =   2400
  25.       TabIndex        =   2
  26.       Top             =   720
  27.       Width           =   1575
  28.    End
  29.    Begin MSComDlg.CommonDialog CommonDialog1 
  30.       Left            =   3960
  31.       Top             =   120
  32.       _ExtentX        =   847
  33.       _ExtentY        =   847
  34.       _Version        =   393216
  35.    End
  36.    Begin VB.TextBox txtSave 
  37.       Height          =   405
  38.       Left            =   1200
  39.       TabIndex        =   0
  40.       Text            =   "MyResFile"
  41.       Top             =   120
  42.       Width           =   1815
  43.    End
  44.    Begin VB.TextBox txtLog 
  45.       Height          =   1455
  46.       Left            =   120
  47.       MultiLine       =   -1  'True
  48.       ScrollBars      =   2  'Vertical
  49.       TabIndex        =   6
  50.       TabStop         =   0   'False
  51.       Top             =   1320
  52.       Width           =   5415
  53.    End
  54.    Begin VB.TextBox txtStart 
  55.       Height          =   405
  56.       Left            =   1200
  57.       MaxLength       =   5
  58.       TabIndex        =   1
  59.       Text            =   "1"
  60.       Top             =   720
  61.       Width           =   855
  62.    End
  63.    Begin VB.CommandButton cmdMakeRES 
  64.       Caption         =   "Make RES"
  65.       Height          =   375
  66.       Left            =   4200
  67.       TabIndex        =   3
  68.       Top             =   720
  69.       Width           =   1335
  70.    End
  71.    Begin VB.Label lblInfo 
  72.       Caption         =   "(0 - 65535)"
  73.       Height          =   255
  74.       Index           =   2
  75.       Left            =   240
  76.       TabIndex        =   8
  77.       Top             =   960
  78.       Width           =   1095
  79.    End
  80.    Begin VB.Label lblInfo 
  81.       Caption         =   "Save As:"
  82.       Height          =   255
  83.       Index           =   1
  84.       Left            =   360
  85.       TabIndex        =   7
  86.       Top             =   120
  87.       Width           =   735
  88.    End
  89.    Begin VB.Label lblInfo 
  90.       Caption         =   "Start ID:"
  91.       Height          =   255
  92.       Index           =   0
  93.       Left            =   360
  94.       TabIndex        =   5
  95.       Top             =   720
  96.       Width           =   735
  97.    End
  98. End
  99. Attribute VB_Name = "frmMain"
  100. Attribute VB_GlobalNameSpace = False
  101. Attribute VB_Creatable = False
  102. Attribute VB_PredeclaredId = True
  103. Attribute VB_Exposed = False
  104. 'Text2RES
  105. 'Paul Bahlawan
  106. 'April 29, 2011
  107.  
  108. 'Make a string table resource file (.res) from text files (.txt)
  109. 'Requires: rc.exe and rcdll.dll (ships with VB6 program disc)
  110.  
  111. Option Explicit
  112.  
  113. Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
  114. Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
  115.  
  116. 'Add contents of text file(s) to a temporary .rc file
  117. Private Sub cmdFile_Click()
  118. Dim x As Long
  119. Dim ID As Long
  120. Dim temp As String
  121. Dim fileList() As String
  122.  
  123.     CommonDialog1.FileName = ""
  124.     CommonDialog1.DialogTitle = "Select text file(s)"
  125.     CommonDialog1.Filter = "Text (*.txt)|*.txt|All (*.*)|*.*"
  126.     
  127.     CommonDialog1.ShowOpen
  128.     CommonDialog1.InitDir = ""
  129.     
  130.     If CommonDialog1.FileName = "" Then 'No file(s) selected
  131.         Exit Sub
  132.     End If
  133.     
  134.     'Prepare list of files
  135.     fileList = Split(CommonDialog1.FileName, vbNullChar)
  136.     If UBound(fileList) > 0 Then 'More than 1 file selected
  137.         For x = 1 To UBound(fileList)
  138.             fileList(x) = fileList(0) & "\" & fileList(x)
  139.         Next x
  140.     Else 'Only 1 file selected
  141.         ReDim Preserve fileList(1)
  142.         fileList(1) = fileList(0)
  143.     End If
  144.  
  145.     'Remove old RC file
  146.     If txtSave.Enabled = True Then
  147.         txtSave.Enabled = False
  148.         If CBool(PathFileExists(App.Path & "\" & txtSave.Text & ".RC")) Then
  149.             Kill App.Path & "\" & txtSave.Text & ".RC"
  150.         End If
  151.     End If
  152.     
  153.     On Error GoTo errout:
  154.     
  155.     ID = CLng(txtStart.Text)
  156.     
  157.     'Make/add to .RC file from .TXT file(s)
  158.     Open App.Path & "\" & txtSave.Text & ".RC" For Append As #2
  159.     
  160.     For x = 1 To UBound(fileList)
  161.         Open fileList(x) For Input As #1
  162.     
  163.         Print #2, "STRINGTABLE"
  164.         Print #2, "BEGIN"
  165.         Do While Not EOF(1)
  166.             Line Input #1, temp
  167.             Print #2, CStr(ID) & " """ & temp & """"
  168.             ID = ID + 1
  169.         Loop
  170.         Print #2, "END"
  171.     
  172.         Close #1
  173.         
  174.         addLog "Added " & txtStart.Text & "-" & CStr(ID - 1) & " : " & Right$(fileList(x), Len(fileList(x)) - InStrRev(fileList(x), "\"))
  175.         txtStart.Text = CStr(ID)
  176.     Next x
  177.     
  178.     Close #2
  179.     
  180.     Exit Sub 'Normal exit
  181.     
  182. errout:
  183.     Close
  184.     addLog "ERROR adding text: " & Err.Description
  185. End Sub
  186.  
  187. 'Make the .res file from the temporary .rc file
  188. Private Sub cmdMakeRES_Click()
  189. Dim RCfile As String
  190. Dim strMake As String
  191.  
  192.     RCfile = txtSave.Text & ".RC"
  193.  
  194.     'Make sure .RC file exsists
  195.     If Not CBool(PathFileExists(App.Path & "\" & RCfile)) Then
  196.         addLog "ERROR making RES -- " & RCfile & " Not found"
  197.         Exit Sub
  198.     End If
  199.  
  200.     'Set working path for rc.exe
  201.     SetCurrentDirectory App.Path
  202.     
  203.     On Error GoTo errout:
  204.     
  205.     'Make .RES file from .RC file
  206.     strMake = "c:\Program Files\Microsoft Visual Studio\VB98\Wizards\rc.exe " & RCfile
  207.     Shell (strMake)
  208.     
  209.     addLog "Finished making " & txtSave.Text & ".RES"
  210.     
  211.     Exit Sub 'Normal exit
  212.     
  213. errout:
  214.     addLog "ERROR making RES -- RC.EXE or RCDLL.DLL Not found"
  215. End Sub
  216.  
  217. Private Sub cmdNew_Click()
  218.     txtLog.Text = ""
  219.     txtSave.Enabled = True
  220.     txtStart.Text = "1"
  221. End Sub
  222.  
  223. Private Sub addLog(sText As String)
  224.     txtLog.Text = txtLog.Text & sText & vbCrLf
  225.     txtLog.SetFocus
  226.     txtLog.SelStart = Len(txtLog.Text)
  227. End Sub
  228.  
  229. Private Sub Form_Load()
  230.     CommonDialog1.Flags = CommonDialog1.Flags Or cdlOFNAllowMultiselect Or cdlOFNExplorer
  231.     CommonDialog1.InitDir = App.Path
  232. End Sub
  233.