|
|
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Предлагаю всем навалиться и сделать прогу на vb для форматирования примеров, размещаемых в этом форуме. Теги SRC явно не расчитаны на vb. Например: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Создаваемая утилита при нажатии кнопки берёт из буфера обмена код, добавляет теги и помещает обратно в буфер отформатированный код. Например такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. А так он выглядит в тексте форума: Public Function Test(a As Long) As Long 'пример функции If a > 0 Then Test = 1 Else Test = 0 End If End Function Какие будут предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 11:06 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Вот для начала такой пример: Для использования - создать новый проект и на форму добавить кнопку Command1. Для проверки работоспособности - скопировать любой код и набрать Command1. В буфере обмена будет размеченный код, готовый для вставки в ваше сообщение на форуме. Предлагаю поучаствовать в дальнейшем развитии этого проекта. Private Sub Command1_Click() Dim aStr() As Variant 'массив искомых слов Dim mStrIn As String 'входящая строка Dim mStrOut As String 'выходящая строка Dim mStrSub As String 'выделенная подстрока Dim mChr As String 'выделенный символ Dim mNum As Long 'текущая позиция Dim mNumOld As Long 'предыдущая позиция Dim bOk As Boolean 'признак обнаружения подстроки 'массив ключевых слов aStr() = Array("#If", "#End", "#ElseIf", "#Else", "#Const", "Xor", "Write", _ "WithEvents", "With", "Width", "While", "Wend", "Variant", _ "Until", "Unknown", "Unlock", "Unload", "UBound", "TypeOf", _ "Type", "True", "To", "Then", "Text", "Tab", "Sub", "String$", _ "String", "StrComp", "Stop", "Step", "Static", "Spc", "Single", _ "Shared", "Sgn", "Set", "Select", "Seek", "Scale", "RSet", _ "RGB", "Return", "Resume", "Rem", "ReDim", "Read", "Randomize", _ "Random", "RaiseEvent", "Put", "Public", "PSet", "Property", _ "Private", "Print", "Preserve", "ParamArray", "Output", "Or", _ "Optional", "Option", "Open", "On", "Object", "Null", "Nothing", _ "Not", "Next", "New", "Name", "Module", "Mod", "MidB$", "MidB", _ "Mid$", "Mid", "Me", "LSet", "Loop", "Long", "Lock", "Local", _ "Load", "LINEINPUT", "Line", "Like", "Lib", "Let", "LenB", "Len", _ "Left", "LBound", "Is", "Integer", "Int", "InStrB", "InStr", _ "InputB$", "InputB", "Input$", "Input", "In", "Implements", _ "Imp", "If", "GoTo", "GoSub", "Go", "Global", "Get", "Function", _ "Friend", "FreeFile", "Format$", "Format", "For", "Fix", "False", _ "F", "Explicit", "Exit", "Event", "Error$", "Error", "Erase", _ "Eqv", "Enum", "EndIf", "End", "Empty", "ElseIf", "Else", "Each", _ "Double", "DoEvents", "Do", "Dir$", "Dir", "Dim", "DefVar", "DefStr", _ "DefSng", "DefObj", "DefLng", "DefInt", "DefDbl", "DefDec", "DefDate", _ "DefCur", "DefByte", "DefBool", "Declare", "Decimal", "Debug", "Date$", _ "Date", "Database", "Currency", "CVErr", "CVDate", "CVar", "CurDir$", _ "CurDir", "CStr", "CSng", "Const", "Compare", "Close", "CLng", "Circle", _ "CInt", "ChDir", "CDecl", "CDbl", "CDec", "CDate", "CCur", "CByte") '"CBool", "Case", "Call", "ByVal", "Byte", "ByRef", "Boolean", "Binary", _ '"BF", "Base", "B", "Assert", "As", "Array", "Append", "Any", "And", "Alias", _ '"AddressOf", "Access", "Abs" mStrIn = Clipboard.GetText 'получили строку из буфера mNumOld = 0 mStrOut = "" For mNum = 1 To Len(mStrIn) 'перечисляем все символы mChr = Mid(mStrIn, mNum, 1) 'выделяем символ If mChr = " " Or mChr = vbCr Then 'обнаружен разделитель слов mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку bOk = False For i = 0 To UBound(aStr) 'поиск подстроки If mStrSub = aStr(i) Then bOk = True Exit For End If Next If bOk = True Then 'подстрока найдена mStrOut = mStrOut & "" & mStrSub & " " Else mStrOut = mStrOut & mStrSub & " " End If mNumOld = mNum End If Next mStrOut = mStrOut & "" Clipboard.SetText mStrOut 'вернули строку в буфер End ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 13:08 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Все молчат как партизаны, а в предыдущем варианте была ошибка. Private Sub Command1_Click() Dim aStr() As Variant 'массив искомых слов Dim mStrIn As String 'входящая строка Dim mStrOut As String 'выходящая строка Dim mStrSub As String 'выделенная подстрока Dim mChr As String 'выделенный символ Dim mNum As Long 'текущая позиция Dim mNumOld As Long 'предыдущая позиция Dim bOk As Boolean 'признак обнаружения подстроки Dim arr1 As Variant Dim arr2 As Variant 'массив ключевых слов arr1 = Array("#If", "#End", "#ElseIf", "#Else", "#Const", "Xor", "Write", _ "WithEvents", "With", "Width", "While", "Wend", "Variant", _ "Until", "Unknown", "Unlock", "Unload", "UBound", "TypeOf", _ "Type", "True", "To", "Then", "Text", "Tab", "Sub", "String$", _ "String", "StrComp", "Stop", "Step", "Static", "Spc", "Single", _ "Shared", "Sgn", "Set", "Select", "Seek", "Scale", "RSet", _ "RGB", "Return", "Resume", "Rem", "ReDim", "Read", "Randomize", _ "Random", "RaiseEvent", "Put", "Public", "PSet", "Property", _ "Private", "Print", "Preserve", "ParamArray", "Output", "Or", _ "Optional", "Option", "Open", "On", "Object", "Null", "Nothing", _ "Not", "Next", "New", "Name", "Module", "Mod", "MidB$", "MidB", _ "Mid$", "Mid", "Me", "LSet", "Loop", "Long", "Lock", "Local", _ "Load", "LINEINPUT", "Line", "Like", "Lib", "Let", "LenB", "Len", _ "Left", "LBound", "Is", "Integer", "Int", "InStrB", "InStr", _ "InputB$", "InputB", "Input$", "Input", "In", "Implements", _ "Imp", "If", "GoTo", "GoSub", "Go", "Global", "Get", "Function", _ "Friend", "FreeFile", "Format$", "Format", "For", "Fix", "False", _ "F", "Explicit", "Exit", "Event", "Error$", "Error", "Erase", _ "Eqv", "Enum", "EndIf", "End", "Empty", "ElseIf", "Else", "Each", _ "Double", "DoEvents", "Do", "Dir$", "Dir", "Dim", "DefVar", "DefStr", _ "DefSng", "DefObj", "DefLng", "DefInt", "DefDbl", "DefDec", "DefDate", _ "DefCur", "DefByte", "DefBool", "Declare", "Decimal", "Debug", "Date$", _ "Date", "Database", "Currency", "CVErr", "CVDate", "CVar", "CurDir$", _ "CurDir", "CStr", "CSng", "Const", "Compare", "Close", "CLng", "Circle", _ "CInt", "ChDir", "CDecl", "CDbl", "CDec", "CDate", "CCur", "CByte") 'ограничение на размер массива, определяемого таким способом arr2 = Array("CBool", "Case", "Call", "ByVal", "Byte", "ByRef", "Boolean", _ "Binary", "BF", "Base", "B", "Assert", "As", "Array", "Append", "Any", _ "And", "Alias", "AddressOf", "Access", "Abs") aStr() = arr1 ReDim Preserve aStr(0 To UBound(arr1) + UBound(arr2) + 1) For i = 0 To UBound(arr2) aStr(UBound(arr1) + i + 1) = arr2(i) Next mStrIn = Clipboard.GetText 'получили строку из буфера mNumOld = 0 mStrOut = "[" & "SIZE=2" & "]" For mNum = 1 To Len(mStrIn) 'перечисляем все символы mChr = Mid(mStrIn, mNum, 1) 'выделяем символ If mChr = " " Or mChr = vbCr Or mChr = vbLf Or mChr = "(" Or mChr = ")" Or mNum = Len(mStrIn) Then 'обнаружен разделитель слов mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку bOk = False For i = 0 To UBound(aStr) 'поиск подстроки If mStrSub = aStr(i) Then bOk = True Exit For End If Next If bOk = True Then 'подстрока найдена mStrOut = mStrOut & "[" & "color=blue" & "]" & mStrSub & "[" & "/color" & "]" & mChr Else mStrOut = mStrOut & mStrSub & mChr End If mNumOld = mNum End If If mChr = Chr(39) Then mNum = InStr(mNum, mStrIn, vbCrLf) If mNum = 0 Then mNum = Len(mStrIn) mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку mStrOut = mStrOut & "[" & "color=green" & "]" & mStrSub & "[" & "/color" & "]" mNumOld = mNum End If Next mStrOut = mStrOut & "[" & "/SIZE" & "]" Clipboard.SetText mStrOut 'вернули строку в буфер MsgBox "Код скопирован в буфер" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2004, 16:07 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
все почитали этот топик, и теперь усиленно читают доки по NET :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 11:11 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 Hibernate Лучше б подсказали, как табуляцию в коде сохранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 12:07 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
я думаю, что табуляция, равно как группа пробелов будет скушана или парсером сайта, или самим браузером при отображении. К сожалению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 14:01 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Значит tab нужно заменить 4мя nbsp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 17:26 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 Antonariy Спасибо большое. Выглядит гораздо лучше. Private Sub Command1_Click() Dim aStr() As Variant 'массив искомых слов Dim mStrIn As String 'входящая строка Dim mStrOut As String 'выходящая строка Dim mStrSub As String 'выделенная подстрока Dim mChr As String 'выделенный символ Dim mNum As Long 'текущая позиция Dim mNumOld As Long 'предыдущая позиция Dim bOk As Boolean 'признак обнаружения подстроки Dim arr1 As Variant Dim arr2 As Variant 'массив ключевых слов arr1 = Array("#If", "#End", "#ElseIf", "#Else", "#Const", "Xor", "Write", _ "WithEvents", "With", "Width", "While", "Wend", "Variant", _ "Until", "Unknown", "Unlock", "Unload", "UBound", "TypeOf", _ "Type", "True", "To", "Then", "Text", "Tab", "Sub", "String$", _ "String", "StrComp", "Stop", "Step", "Static", "Spc", "Single", _ "Shared", "Sgn", "Set", "Select", "Seek", "Scale", "RSet", _ "RGB", "Return", "Resume", "Rem", "ReDim", "Read", "Randomize", _ "Random", "RaiseEvent", "Put", "Public", "PSet", "Property", _ "Private", "Print", "Preserve", "ParamArray", "Output", "Or", _ "Optional", "Option", "Open", "On", "Object", "Null", "Nothing", _ "Not", "Next", "New", "Name", "Module", "Mod", "MidB$", "MidB", _ "Mid$", "Mid", "Me", "LSet", "Loop", "Long", "Lock", "Local", _ "Load", "LINEINPUT", "Line", "Like", "Lib", "Let", "LenB", "Len", _ "Left", "LBound", "Is", "Integer", "Int", "InStrB", "InStr", _ "InputB$", "InputB", "Input$", "Input", "In", "Implements", _ "Imp", "If", "GoTo", "GoSub", "Go", "Global", "Get", "Function", _ "Friend", "FreeFile", "Format$", "Format", "For", "Fix", "False", _ "F", "Explicit", "Exit", "Event", "Error$", "Error", "Erase", _ "Eqv", "Enum", "EndIf", "End", "Empty", "ElseIf", "Else", "Each", _ "Double", "DoEvents", "Do", "Dir$", "Dir", "Dim", "DefVar", "DefStr", _ "DefSng", "DefObj", "DefLng", "DefInt", "DefDbl", "DefDec", "DefDate", _ "DefCur", "DefByte", "DefBool", "Declare", "Decimal", "Debug", "Date$", _ "Date", "Database", "Currency", "CVErr", "CVDate", "CVar", "CurDir$", _ "CurDir", "CStr", "CSng", "Const", "Compare", "Close", "CLng", "Circle", _ "CInt", "ChDir", "CDecl", "CDbl", "CDec", "CDate", "CCur", "CByte") 'ограничение на размер массива, определяемого таким способом arr2 = Array("CBool", "Case", "Call", "ByVal", "Byte", "ByRef", "Boolean", "Binary", "BF", "Base", "B", "Assert", "As", "Array", "Append", "Any", "And", "Alias", "AddressOf", "Access", "Abs") aStr() = arr1 ReDim Preserve aStr(0 To UBound(arr1) + UBound(arr2) + 1) For i = 0 To UBound(arr2) aStr(UBound(arr1) + i + 1) = arr2(i) Next mStrIn = Clipboard.GetText 'получили строку из буфера mNumOld = 0 mStrOut = "[" & "SIZE=2" & "]" For mNum = 1 To Len(mStrIn) 'перечисляем все символы mChr = Mid(mStrIn, mNum, 1) 'выделяем символ If mChr = " " Or mChr = vbCr Or mChr = vbLf Or mChr = "(" Or mChr = ")" Or mNum = Len(mStrIn) Then If mChr = " " Then mChr = "&nb" & "sp;" 'обнаружен разделитель слов mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку bOk = False For i = 0 To UBound(aStr) 'поиск подстроки If mStrSub = aStr(i) Then bOk = True Exit For End If Next If bOk = True Then 'подстрока найдена mStrOut = mStrOut & "[" & "color=blue" & "]" & mStrSub & "[" & "/color" & "]" & mChr Else mStrOut = mStrOut & mStrSub & mChr End If mNumOld = mNum End If If mChr = Chr(39) Then mNum = InStr(mNum, mStrIn, vbCrLf) If mNum = 0 Then mNum = Len(mStrIn) mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку mStrOut = mStrOut & "[" & "color=green" & "]" & mStrSub & "[" & "/color" & "]" mNumOld = mNum End If Next mStrOut = mStrOut & "[" & "/SIZE" & "]" Clipboard.SetText mStrOut 'вернули строку в буфер MsgBox "Код скопирован в буфер" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 13:50 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
И принудительно поставить шрифт Courier New ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:04 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
[FONT FACE="Arial"]Private Sub Command1_Click() Dim aStr() As Variant 'ìàññèâ èñêîìûõ ñëîâ Dim mStrIn As String 'âõîäÿùàÿ ñòðîêà Dim mStrOut As String 'âûõîäÿùàÿ ñòðîêà Dim mStrSub As String 'âûäåëåííàÿ ïîäñòðîêà Dim mChr As String 'âûäåëåííûé ñèìâîë Dim mNum As Long 'òåêóùàÿ ïîçèöèÿ Dim mNumOld As Long 'ïðåäûäóùàÿ ïîçèöèÿ Dim bOk As Boolean 'ïðèçíàê îáíàðóæåíèÿ ïîäñòðîêè Dim arr1 As Variant Dim arr2 As Variant 'ìàññèâ êëþ÷åâûõ ñëîâ arr1 = Array("#If", "#End", "#ElseIf", "#Else", "#Const", "Xor", "Write", _ "WithEvents", "With", "Width", "While", "Wend", "Variant", _ "Until", "Unknown", "Unlock", "Unload", "UBound", "TypeOf", _ "Type", "True", "To", "Then", "Text", "Tab", "Sub", "String$", _ "String", "StrComp", "Stop", "Step", "Static", "Spc", "Single", _ "Shared", "Sgn", "Set", "Select", "Seek", "Scale", "RSet", _ "RGB", "Return", "Resume", "Rem", "ReDim", "Read", "Randomize", _ "Random", "RaiseEvent", "Put", "Public", "PSet", "Property", _ "Private", "Print", "Preserve", "ParamArray", "Output", "Or", _ "Optional", "Option", "Open", "On", "Object", "Null", "Nothing", _ "Not", "Next", "New", "Name", "Module", "Mod", "MidB$", "MidB", _ "Mid$", "Mid", "Me", "LSet", "Loop", "Long", "Lock", "Local", _ "Load", "LINEINPUT", "Line", "Like", "Lib", "Let", "LenB", "Len", _ "Left", "LBound", "Is", "Integer", "Int", "InStrB", "InStr", _ "InputB$", "InputB", "Input$", "Input", "In", "Implements", _ "Imp", "If", "GoTo", "GoSub", "Go", "Global", "Get", "Function", _ "Friend", "FreeFile", "Format$", "Format", "For", "Fix", "False", _ "F", "Explicit", "Exit", "Event", "Error$", "Error", "Erase", _ "Eqv", "Enum", "EndIf", "End", "Empty", "ElseIf", "Else", "Each", _ "Double", "DoEvents", "Do", "Dir$", "Dir", "Dim", "DefVar", "DefStr", _ "DefSng", "DefObj", "DefLng", "DefInt", "DefDbl", "DefDec", "DefDate", _ "DefCur", "DefByte", "DefBool", "Declare", "Decimal", "Debug", "Date$", _ "Date", "Database", "Currency", "CVErr", "CVDate", "CVar", "CurDir$", _ "CurDir", "CStr", "CSng", "Const", "Compare", "Close", "CLng", "Circle", _ "CInt", "ChDir", "CDecl", "CDbl", "CDec", "CDate", "CCur", "CByte") 'îãðàíè÷åíèå íà ðàçìåð ìàññèâà, îïðåäåëÿåìîãî òàêèì ñïîñîáîì arr2 = Array("CBool", "Case", "Call", "ByVal", "Byte", "ByRef", "Boolean", "Binary", "BF", "Base", "B", "Assert", "As", "Array", "Append", "Any", "And", "Alias", "AddressOf", "Access", "Abs") aStr() = arr1 ReDim Preserve aStr(0 To UBound(arr1) + UBound(arr2) + 1) For i = 0 To UBound(arr2) aStr(UBound(arr1) + i + 1) = arr2(i) Next mStrIn = Clipboard.GetText 'ïîëó÷èëè ñòðîêó èç áóôåðà mNumOld = 0 mStrOut = "[FONT FACE=""Arial""][" & "SIZE=2" & "]" For mNum = 1 To Len(mStrIn) 'ïåðå÷èñëÿåì âñå ñèìâîëû mChr = Mid(mStrIn, mNum, 1) 'âûäåëÿåì ñèìâîë If mChr = " " Or mChr = vbCr Or mChr = vbLf Or mChr = "(" Or mChr = ")" Or mNum = Len(mStrIn) Then If mChr = " " Then mChr = "&nb" & "sp;" 'îáíàðóæåí ðàçäåëèòåëü ñëîâ mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'âûäåëÿåì ïîäñòðîêó bOk = False For i = 0 To UBound(aStr) 'ïîèñê ïîäñòðîêè If mStrSub = aStr(i) Then bOk = True Exit For End If Next If bOk = True Then 'ïîäñòðîêà íàéäåíà mStrOut = mStrOut & "[" & "color=blue" & "]" & mStrSub & "[" & "/color" & "]" & mChr Else mStrOut = mStrOut & mStrSub & mChr End If mNumOld = mNum End If If mChr = Chr(39) Then mNum = InStr(mNum, mStrIn, vbCrLf) If mNum = 0 Then mNum = Len(mStrIn) mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'âûäåëÿåì ïîäñòðîêó mStrOut = mStrOut & "[" & "color=green" & "]" & mStrSub & "[" & "/color" & "]" mNumOld = mNum End If Next mStrOut = mStrOut & "[" & "/SIZE" & "][/FONT]" Debug.Print mStrOut Clipboard.SetText mStrOut 'âåðíóëè ñòðîêó â áóôåð MsgBox "Êîä ñêîïèðîâàí â áóôåð" End Sub [/FONT] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:16 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Н-да. Со шрифтами как всегда проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 14:16 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 Antonariy И за эту идею спасибо. Private Sub Command1_Click() Dim aStr() As Variant 'массив искомых слов Dim mStrIn As String 'входящая строка Dim mStrOut As String 'выходящая строка Dim mStrSub As String 'выделенная подстрока Dim mChr As String 'выделенный символ Dim mNum As Long 'текущая позиция Dim mNumOld As Long 'предыдущая позиция Dim bOk As Boolean 'признак обнаружения подстроки Dim arr1 As Variant Dim arr2 As Variant 'массив ключевых слов arr1 = Array("#If", "#End", "#ElseIf", "#Else", "#Const", "Xor", "Write", _ "WithEvents", "With", "Width", "While", "Wend", "Variant", _ "Until", "Unknown", "Unlock", "Unload", "UBound", "TypeOf", _ "Type", "True", "To", "Then", "Text", "Tab", "Sub", "String$", _ "String", "StrComp", "Stop", "Step", "Static", "Spc", "Single", _ "Shared", "Sgn", "Set", "Select", "Seek", "Scale", "RSet", _ "RGB", "Return", "Resume", "Rem", "ReDim", "Read", "Randomize", _ "Random", "RaiseEvent", "Put", "Public", "PSet", "Property", _ "Private", "Print", "Preserve", "ParamArray", "Output", "Or", _ "Optional", "Option", "Open", "On", "Object", "Null", "Nothing", _ "Not", "Next", "New", "Name", "Module", "Mod", "MidB$", "MidB", _ "Mid$", "Mid", "Me", "LSet", "Loop", "Long", "Lock", "Local", _ "Load", "LINEINPUT", "Line", "Like", "Lib", "Let", "LenB", "Len", _ "Left", "LBound", "Is", "Integer", "Int", "InStrB", "InStr", _ "InputB$", "InputB", "Input$", "Input", "In", "Implements", _ "Imp", "If", "GoTo", "GoSub", "Go", "Global", "Get", "Function", _ "Friend", "FreeFile", "Format$", "Format", "For", "Fix", "False", _ "F", "Explicit", "Exit", "Event", "Error$", "Error", "Erase", _ "Eqv", "Enum", "EndIf", "End", "Empty", "ElseIf", "Else", "Each", _ "Double", "DoEvents", "Do", "Dir$", "Dir", "Dim", "DefVar", "DefStr", _ "DefSng", "DefObj", "DefLng", "DefInt", "DefDbl", "DefDec", "DefDate", _ "DefCur", "DefByte", "DefBool", "Declare", "Decimal", "Debug", "Date$", _ "Date", "Database", "Currency", "CVErr", "CVDate", "CVar", "CurDir$", _ "CurDir", "CStr", "CSng", "Const", "Compare", "Close", "CLng", "Circle", _ "CInt", "ChDir", "CDecl", "CDbl", "CDec", "CDate", "CCur", "CByte") 'ограничение на размер массива, определяемого таким способом arr2 = Array("CBool", "Case", "Call", "ByVal", "Byte", "ByRef", "Boolean", _ "Binary", "BF", "Base", "B", "Assert", "As", "Array", "Append", "Any", "And", _ "Alias", "AddressOf", "Access", "Abs") aStr() = arr1 ReDim Preserve aStr(0 To UBound(arr1) + UBound(arr2) + 1) For i = 0 To UBound(arr2) aStr(UBound(arr1) + i + 1) = arr2(i) Next mStrIn = Clipboard.GetText 'получили строку из буфера mNumOld = 0 mStrOut = "[" & "FIXED" & "]" mStrOut = mStrOut & "[" & "SIZE=2" & "]" For mNum = 1 To Len(mStrIn) 'перечисляем все символы mChr = Mid(mStrIn, mNum, 1) 'выделяем символ If mChr = " " Or mChr = vbCr Or mChr = vbLf Or mChr = "(" Or mChr = ")" Or mNum = Len(mStrIn) Then If mChr = " " Then mChr = "&nb" & "sp;" 'обнаружен разделитель слов mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку bOk = False For i = 0 To UBound(aStr) 'поиск подстроки If mStrSub = aStr(i) Then bOk = True Exit For End If Next If bOk = True Then 'подстрока найдена mStrOut = mStrOut & "[" & "color=blue" & "]" & mStrSub & "[" & "/color" & "]" & mChr Else mStrOut = mStrOut & mStrSub & mChr End If mNumOld = mNum End If If mChr = Chr(39) Then mNum = InStr(mNum, mStrIn, vbCrLf) If mNum = 0 Then mNum = Len(mStrIn) mStrSub = Mid(mStrIn, mNumOld + 1, mNum - mNumOld - 1) 'выделяем подстроку mStrOut = mStrOut & "[" & "color=green" & "]" & mStrSub & "[" & "/color" & "]" mNumOld = mNum End If Next mStrOut = mStrOut & "[" & "/SIZE" & "]" mStrOut = mStrOut & "[" & "/FIXED" & "]" Clipboard.SetText mStrOut 'вернули строку в буфер MsgBox "Код скопирован в буфер" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 15:02 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2marvan: класс!!! снимаю шляпу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 15:44 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 marvan Еще бы vbCrLf на <br> поменять... А то пустые строки игнорирует, подряд пишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 11:03 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 Antonariy Хоть я и не смог понять в каких случаях пустые строки игнорирует, подряд пишет. Я сделал vbCrLf на <br> поменять, но в тексте сообщения <br> или [br] не воспринимаются. Исправил ошибку с форматированием последнего слова Чуть оптимизировал код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 12:57 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Хоть я и не смог понять в каких случаях пустые строки игнорирует, подряд пишет. Хотя бы здесь: /topic/93660 Процедуры подряд пишет, без пустой строки между End Sub и Private sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 13:15 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Всё понял. Дело в том, что я пользуюсь Mozilla Firefox, и от туда копирование идёт как надо. В самом html между End Sub и Private sub стоят два <BR><BR>. Это IE шалит при копировании. Однако проблема решена. Теперь сгенерированный код выглядит и копируется одинаково и в Mozilla Firefox и в Internet Explorer. Кроме того, теперь его можно запустить не только в VB, но и в VBA. Работоспособность тестировалась под WinXP на VB6 SP5, Excel и Access 2003. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 17:54 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
тема закрыта. юзайте тег {SRC VBA} 'только скобки квадратные {/SRC} ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 10:22 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
2 raur создать новый проект, код формы - см двумя постами выше. элементы управления не нужны инструкция использования там же. 2 all модераторы, так и не поправили {SRC VBA}, так что тема по пежнему актуальна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2004, 16:19 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
to marvan ты молодец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2004, 16:36 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
А можно где-то увидеть код перевода исходников сразу в HTML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2007, 15:53 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 15:42 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 19:34 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 11:57 |
|
||
|
Прога для форматирования кода для этого форума. Сваяем?
|
|||
|---|---|---|---|
|
#18+
r.t.f.m. Тогда сравнение с ключевыми словами будет нечувствительно к регистру Это зависит от состояния опции Option Compare (по умолчанию Binary) - можно выставить Text и не париться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 12:31 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32487397&tid=2163830]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
198ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 556ms |

| 0 / 0 |
