You are currently browsing Lauro Cesar's articles.
Para determinar qual encoding seu script deve rodar, use na primeira linha:
encoding system [tabela]
Exemplo:
encoding system utf-8
Para listar as tabelas disponíveis:
encoding names
Exemplo de listagem:
foreach i [encoding names] {
puts "A tabela $i está disponível neste sistema"
}
Para manipular Strings em Tcl, utilizamos o comando string.
Se precisar substituir ponto por vírgula:
set valor { 10.00 }
puts [string map -nocase { . , } $valor]
# Retorna: 10,00
Podemos substituir várias cadeias de caracteres:
set texto "Este é um texto de teste de substituição"
puts [string map -nocase { e E s S b B } $texto]
# Retorna: EStE é um tExto dE tEStE dE SuBStituição
Naturalmente, podemos substituir palavras:
set texto "Este é um texto de teste de substituição"
puts [string map -nocase { teste TESTE um {o segundo} } $texto]
# Retorna: Este é o segundo texto de TESTE de substituição
E possível destinar um diretório para nossos códigos auxiliares ou plugins, e na inicialização do sistema importá-los, utilizando o comando source.
Por exemplo, considerando que há vários arquivos .tcl no diretório plugin/
foreach p "[glob plugin/*.tcl]" {
source $p
}
Palavras-chave: Tcl/Tk, capturar, erros
Quando um procedimento é executando em Tcl, ele retorna 1 (sucesso) ou 0 (falha). É este resultado que faz o interpretador mostrar ou não um erro.
Para não mostrar o erro ao usuário, mas detectá-lo e tratá-lo no código, use o comando catch. Ele chama o interpretador Tcl de forma recursiva, executando o código e retorna 5 possíveis sinais:
- 0 - TCL_OK
- 1 - TCL_ERROR
- 2 - TCL_RETURN
- 3 - TCL_BREAK
- 4 - TCL_CONTINUE
Por exemplo, como saber se a conexão ao banco de dados foi bem sucedida?
if { [catch {set token [mysqlconnect \
-host sqlserver \
-user user_db \
-db banco_de_dados \
-password senha]} err_con] } {
puts "Erro ao Conectar : $err_con"
}
Se o comando de conectar obteve sucesso, o catch retorna 0 (zero) ou false, fazendo com que o if não execute.
Palavras-chave: Tcl/Tk, pack, grid, place
A sintaxe padrão para a criação de widgets é:
widget toplevel.my_id opções_do_widget pack toplevel.my_id opções_do_pack
Mas também é possível reunir tudo em uma só linha:
pack [widget toplevel.my_id opções_do_widget] opções_do_pack
Por exemplo:
label .my_label -text "Oi Mundo!" -bg red -fg yellow pack .my_label -expand yes -fill x
Também pode ser escrito como:
pack [label .my_label -text "Oi Mundo!" -bg red -fg yellow] \
-expand yes -fill x







Comentários Recentes