29/08/08 8:11
mirkos90
Salve ragazzi XD mi kiedevo (se è gia stato chiesto io non ho trovato alcuna cosa a riguardo, quindi se è già stato kiesto segnalate il link) se è possibile in visual basic creare un highlighter del tipo GeShI in PHP però che funzia all'istante.
Mi spiego molto mejo:
io ho una textarea dove scrivo
<?php
echo("Ciao"
;
?>
e mentre che scrivo il <?php diventa rosso e grassettato, l'echo diventa blu e le parole dentro le "" diventano rosse..
Sarebbe ancora + comodo se lo script riconoscesse da solo il linguaggio ke si stà scrivendo..
Please mi serve molto questa cosa
GRAZIE
Ultima modifica effettuata da mirkos90 29/08/08 8:16
aaa
29/08/08 8:47
mirkos90
uhm no, non era quello ke cercavo :S:S:S:S
mi serve una cosa del tipo no-paste instantaneo XD
aaa
29/08/08 9:20
GrG
dovresti mettere in un timer un codice che cerchi le parole che desideri (funzione Instr()) e poi le colora.
aaa
29/08/08 12:59
Overflow
scusate cancellate
Ultima modifica effettuata da Overflow 29/08/08 13:02
aaa
29/08/08 13:07
Overflow
@ruggy94 ...si infatti.
Credo che dovresti avere un database con tutte le parole chiave dei linguaggi, e poi attraverso un timer (come ha detto grg) andare a controllare se nella textarea ci sia una parole che esiste nel database.
aaa
29/08/08 13:55
Overflow
ti posto il codice che ho fatto, ma bisogna modificarlo un po.
inserisci un richtextbox chiamala (rb) e un timer(timer1).
Dim keyWords() As String
Private Sub Form_Load()
Dim value As String
Open "C:\keywords.txt" For Input As 1
value = Space(LOF(1))
Line Input #1, value
Close #1
keyWords = Split(value, ",")
For i = 0 To UBound(keyWords)
keyWords(i) = Replace(keyWords(i), " ", "")
keyWords(i) = LCase(keyWords(i))
Next i
End Sub
Private Sub Timer1_Timer()
Dim a, pos As Integer
Dim tmp() As String
Dim val As String
val = rb.Text
val = LCase(val)
For i = 0 To UBound(keyWords)
tmp = Split(val, " ")
For y = 0 To UBound(tmp)
If (tmp(y) = keyWords(i)) Then
a = InStr(1, val, keyWords(i))
pos = rb.SelStart
rb.SelStart = a - 1
rb.SelLength = Len(keyWords(i))
rb.SelColor = vbBlue
rb.font.bold=true
rb.SelStart = pos
End If
Next y
rb.SelColor = vbBlack
Next i
End Sub
Ultima modifica effettuata da Overflow 29/08/08 13:59
aaa