Advertisement
Guest User

Untitled

a guest
May 13th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Private Sub CommandButton1_Click()
  3.     Dim text, out As String
  4.     Dim k, n, latinCount, nonLatinCount, r, t, p As Integer
  5.     Dim textArray() As String
  6.     Dim latinPositions(), nonLatinPositions() As Variant
  7.     latinCount = 0: nonLatinCount = 0: r = 0: t = 0: p = 0
  8.  
  9.     text = ReadFromFile("Текст1.txt")
  10.     n = Len(text)
  11.     ReDim textArray(n - 1)
  12.     ReDim latinPositions(n - 1)
  13.     ReDim nonLatinPositions(n - 1)
  14.  
  15.     For k = 0 To n - 1
  16.         textArray(k) = Mid(a, k + 1, 1)
  17.         Next k
  18.    
  19.     For k = 0 To n - 1
  20.         If textArray(k) Like "[A-Z]" Or textArray(k) Like "[a-z]" Then
  21.             latinCount = latinCount + 1
  22.             latinPositions(r) = k
  23.             r = r + 1
  24.  
  25.         ElseIf textArray(k) Like " " Or textArray(k) Like "." Then
  26.             p = p + 1
  27.            
  28.         Else
  29.             nonLatinCount = nonLatinCount + 1
  30.             nonLatinPositions(t) = k
  31.             t = t + 1
  32.         End If
  33.     Next k
  34.  
  35.     If latinCount >= 1 Then
  36.         For n = 0 To (latinCount - 1)
  37.             textArray(latinPositions(n)) = "4"
  38.             Next n
  39.     Else
  40.         For n = 0 To (nonLatinCount - 1)
  41.             textArray(nonLatinPositions(n)) = "4"
  42.             Next n
  43.     End If
  44.  
  45.     For k = 0 To Len(text) - 1
  46.         out = out & textArray(k)
  47.         Next k
  48.  
  49.     ' MsgBox (d)
  50.    Call WriteToFile("Текст2.txt", out)
  51.     MsgBox(d)
  52.    
  53. End Sub
  54.  
  55. Private Sub IsMoreLatins(ByRef text() As String)
  56.     For k = 0 To n - 1
  57.         If textArray(k) Like "[A-Z]" Or textArray(k) Like "[a-z]" Then
  58.             latinCount = latinCount + 1
  59.             latinPositions(r) = k
  60.             r = r + 1
  61.  
  62.         ElseIf textArray(k) Like " " Or textArray(k) Like "." Then
  63.             p = p + 1
  64.            
  65.         Else
  66.             nonLatinCount = nonLatinCount + 1
  67.             nonLatinPositions(t) = k
  68.             t = t + 1
  69.         End If
  70.     Next k
  71. End Sub
  72.  
  73. Private Function ReadFromFile(ByRef fileName As String) As String
  74.     Dim fso
  75.     Dim file
  76.     Dim readedString as String
  77.  
  78.     Set fso = CreateObject("Scripting.FileSystemObject")
  79.     Set file = fso.OpenTextFile(fileName, 1)
  80.     readedString = file.ReadAll
  81.     file.Close
  82.     MsgBox("Input: " & a)
  83.  
  84.     ReadFromFile = readedString
  85. End Function
  86.  
  87. Private Sub WriteToFile(ByRef fileName As String, ByRef s As String)
  88.     Dim fso
  89.     Dim file
  90.  
  91.     Set fso = CreateObject("Scripting.FileSystemObject")
  92.     Set file = fso.CreateTextFile(fileName, True, True)
  93.  
  94.     file.WriteLine(s)
  95.     file.Close
  96.     MsgBox("Output: " & s)
  97. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement