Вопрос в "кавычках"

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Вопрос в "кавычках"

Сообщение serix » 06.04.2003 (Вс) 15:53

Хочу в проге сделать подсветку тэгов и т.д.
проблема в том, что мне нужно искать в тексе кавычки """ а VB ругается :evil: , подсажите че делать :P ...
ZU

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 06.04.2003 (Вс) 16:01

C кавычками разобрался сам chr(34) и усе
Вот только фигня получилась: тэги выделяются, т.к. < и > разные символы, а кавычки-то одинаковые, может у кого есть работающий проимер, подскажите, а то совсем плохо :cry: ...
ZU

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.04.2003 (Пн) 9:04

Ну, когда Ворд заменяет прямые кавычки на ёлочки, он смотрит, чтоо слева от кавычки. Если буква, то кавычка закрывающая, а если пробел, то открывающая.
Может, не то...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 08.04.2003 (Вт) 13:47

И это тоже пробовал, добился того что выделяются только кавычки, а то что между ними не хочет...
ZU

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 09.04.2003 (Ср) 12:25

Люди, ну хот кто-нибудь должен знать как оно работает, помогите плиз...
ZU

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 09.04.2003 (Ср) 12:32

Ну хоть код запость что ли, а так как то трудно представить что у тебя там не работает ;)
Последний раз редактировалось RayShade 10.04.2003 (Чт) 11:13, всего редактировалось 1 раз.

serix
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 177
Зарегистрирован: 09.11.2002 (Сб) 17:54
Откуда: Russia

Сообщение serix » 10.04.2003 (Чт) 10:41

Легко, вот он код:
на форме 2 RichText'а, rchHidden и rchVisible
Private Sub ColorTags(rch As RichTextBox)
Dim txt As String
Dim tag_open As Long
Dim tag_close As Long
Dim quote_open As Long
Dim quote_close As Long
Dim qu2_open As Long
Dim qu2_close As Long
txt = rch.Text
tag_close = 1
quote_close = 1
qu2_close = 1
Do
' начало тэга
tag_open = InStr(tag_close, txt, "<")
If tag_open = 0 Then Exit Do

' канец тэга
tag_close = InStr(tag_open, txt, ">")
If tag_open = 0 Then tag_close = Len(txt)

' выделение цветом
rch.SelStart = tag_open - 1
rch.SelLength = tag_close - tag_open + 1
rch.SelColor = vbRed

'кавычки
quote_open = InStr(quote_close, txt, Chr(34)???)
If quote_open = 0 Then Exit Do

'закр кав
quote_close = InStr(quote_open, txt, Chr(34)???)
If quote_open = 0 Then quote_close = Len(txt)

'выделение кавычек
rch.SelStart = quote_open - 1
rch.SelLength = quote_close - quote_open + 1
rch.SelColor = vbBlue
Loop
End Sub

Private Sub Form_Load()
Dim fnum As Integer
Dim txt As String
RchHidden.Move RchHidden.Width - 120, 0
fnum = FreeFile
Open App.Path & "\readmedt.htm" For Input As fnum
txt = Input$(LOF(fnum), fnum)
RchHidden.Text = txt
Close fnum

' Color the HTML tags.
ColorTags RchHidden

' Copy the result to the visible text box.
RchHidden.SelStart = 0
RchHidden.SelLength = Len(RchHidden.Text)
rchVisible.SelStart = 0
rchVisible.SelLength = Len(rchVisible.Text)
rchVisible.SelRTF = RchHidden.SelRTF

End Sub
Private Sub Form_Resize()
rchVisible.Move 0, 0, ScaleWidth, ScaleHeight
End Sub

Вот там где ??? надо чето написать, а чего назнаю :cry: ...
Последний раз редактировалось serix 11.04.2003 (Пт) 0:09, всего редактировалось 1 раз.
ZU

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 10.04.2003 (Чт) 11:16

У меня голова с утра что то не очень варит, но я думаю, что вот тут:

Код: Выделить всё
quote_close = InStr(quote_open, txt, Chr(34)???)
quote_close = InStr(quote_open, txt, Chr(34)???)




надо сделать Instr(quote_open+1,txt,chr(34))

lenar
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 23.08.2003 (Сб) 14:34

Сообщение lenar » 25.08.2003 (Пн) 23:53

chr(34) можно заменить на "", т.е. msgbox """Текст в кавычках""""
The best from the VB

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.08.2003 (Ср) 23:01

serix писал(а):C кавычками разобрался сам chr(34) и усе
Вот только фигня получилась: тэги выделяются, т.к. < и > разные символы, а кавычки-то одинаковые, может у кого есть работающий проимер, подскажите, а то совсем плохо :cry: ...



Я думаю тебе надо найти КАвычку .... затем ... запомнить её позицию .... и искать следующую (определить позицию).... после чего выделить цветом ... весь текст между ними ....
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot], SemrushBot и гости: 14

    TopList