Batya

|
Posted: Tue Aug 14, 2007 10:35 Post subject: |
|
|
jehaz wrote: | Возможно есть мусор - пока мало опыта. Подсказывайте. |
Первое и ОЧЕНЬ важное - форматируй текст кода отступами! Если ты сам при небольшом объеме еще можешь разобраться, то читать код другим просто невозможно и совсем неинтересно. Наверное, если бы код был более читабельным, то еще кто-нибудь, кроме меня, мог поучаствовать в обсуждении.
Второе - вставляй комментарии и пустые строки. Это помогает визуально разделить код на блоки.
Далее...
Зачем 2 раза открывать TextStream с именами папок, если у тебя уже сохранен массив папок в MsgFoldersText?
Смысл тот же, но я бы этот код
Code: | While Not TextStream.AtEndOfStream
MsgFoldersStr = TextStream.ReadLine()
If FSO.FolderExists(MsgFoldersStr) Then
MsgFoldersText = MsgFoldersText & MsgFoldersStr & vbCrLf
End If
Wend |
записал так (обрати вимание на отступы!!!)
Code: | While Not TextStream.AtEndOfStream
MsgFoldersStr = TextStream.ReadLine()
If FSO.FolderExists(MsgFoldersStr) Then
MsgFoldersText = MsgFoldersText & vbCrLf & MsgFoldersStr
End If
Wend
' Отбрасываем лидирующий vbCrLf
MsgFoldersText = Mid(MsgFoldersText, 3)
|
Соответственно, потом можно вместо
Code: | Set TextStream = FolderList.OpenAsTextStream(1)
StrFolder = vbNullString
While Not TextStream.AtEndOfStream
... |
использовать
Code: | For Each StrFolder In Split(MsgFoldersText, vbCrLf)
... |
Потом тебе и
Code: | If FSO.FolderExists (StrFolder) Then |
не понадобится.
И еще - хорошо бы в MsgBox использовать не числовые значения, а vb-константы.
P.S. В принципе, я тоже не крутой программер, но vbs-ом увлекаюсь уже давно, и весь опыт приобретен не из книжек, а на основе "проб и ошибок".
Добавлено: Поправил немного (ступил, однако). |
|