Aplicativo Criador de simulados Racha Cuca

Bom dia a todos !

Estou desenvolvendo um pequeno aplicativo em Java SE , que tem a finalidade de criar e executar simulados de questões alternativas e dar a nota no final do teste.

Implementei uma funcionalidade que , as alternativas das questões são apresentadas em ordem aleatória para impedir a memorização da posição da alternativa correta.
Os simulados podem ser criados em um arquivo em formato texto (Bloco de Notas) em uma linguagem simples , e salvar com extensão .frc (exemplo: teste.frc).
Ao executar o aplicativo será apresentada uma janela com 2 botões , no primeiro botão vc deve escolher o arquivo *.frc criado para ser convertido no formato *.cuc , que é formato utilizado pelo aplicativo para executar o teste.
Depois no 2º botão vc escolhe o arquivo *.cuc criado , e é aberta a janela com o teste para ser realizado , ao final do teste , existe o botão finalizar teste , ao clicar nesse botão é apresentada a nota ao lado , e todas as alternativas corretas ficam destacadas com a cor verde.
Segue link do aplicativo em formato zip:
No zip tem os arquivos:
Racha Cuca.jar -> executavel do aplicativo
Iniciar Racha Cuca.sh -> Script para executar no Linux
Iniciar Racha Cuca.bat -> Script para executar no Windows
Proc_des_sistemas-aula1.frc -> Arquivo texto de um simulado de exemplo que criei. No começo desse arquivo tem comentários no começo de como construir o seu próprio simulado.
Proc_des_sistemas-aula1.cuc -> Arquivo do teste gerado a partir do arquivo Proc_des_sistemas-aula1.frc
Codigo fonte Projeto Racha Cuca -> Pasta com o código fonte do projeto desenvolvido em Java Se 6 utilizando o
Eclipse.
Sou iniciante em linguagem Java , tenho alguns projetos caseiros desenvolvidos nessa linguagem.
Desenvolvi esse aplicativo na intenção de ser útil , como ferramenta de auxilio nos estudos , com esse aplicativo poderemos criar simulados do conteúdo das aulas e compartilhar uns com os outros , para testarmos os nossos conhecimentos.
Estou disponibilizando como software livre (GNU GPL v3) , o código fonte acompanha o aplicativo  , podem modificar e estudar a vontade sob os termos da licença mantendo os meus créditos.
Sugestões são bem vindas.
Se você gostou desse aplicativo , considere fazer uma doação de qualquer valor no botão abaixo , você estará me ajudando a aperfeiçoar o meu trabalho.Um abraço.

Plataforma Java

Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem. Fonte: Wikipedia.

Vantagens do Java:

Multiplataforma:

Os programas desenvolvidos em Java rodam em uma maquina virtual a JVM (Java Vittual Machine) e por isso é independente de sistema operacional , para isso basta ter a JVM disponivel em cada sistema operacional que se deseja executar aplicações desenvolvidas em Java.

Posso desenvolver uma aplicação java em um sistema operacional Windows e executar a mesma aplicação sem precisar recompilar no Linux.

Gerencia a memoria automaticamente

Em Java não precissamos nos preocupar com a alocação e liberação de memoria , quando é verificado que um objeto não esta mais em uso o GC (Garbage Coletor ou coletor de lixo) libera a memoria não utilizada.

Vasta coleção de APIs

Java possui uma api extensa e muito bem documentada , onde podemos usa-la para desenvolver aplicações sem precissar re-inventar a roda , e tambem possui varias Apis externas desenvolvidas por terceiros (empresas ou pela comunidade) para as mais diversas finalidades como por exemplo (banco de dados,interagir com orkut , twitter , facebook , obter informações da maquina , entre outras).

Desenvolvimento de extensão atraves de outras linguagens atraves de JNI ( Java Native Interface).

Em java voce pode desenvolver extensões usando recursos da linguagem C/C++ usando o JNI ou tambem o JNA (Java Native Access).

Open Source

JAVA é open source e desenvolvido pela Oracle com a contribuição da comunidade atraves do projeto OpenJDK.

Popular

Por ser popular é muito facil encontrar pessoal qualificado , e ajuda na internet , documentação , livros , cursos , inclusive em portugues.

As vezes você esta usando java e nem percebe Java esta em vários aparelhos celulares , Smartphone , geladeiras , relógios , cartões de credito , entre outros dispositivos.

Suporta outras linguagens

Java suporta outras linguagens que utilizam a JVM , como por exemplo as linguagens Scala , Groovy , Jython , JRuby , entre outras.

Links:

Site da Oracle: http://www.oracle.com/technetwork/java/index.html

Site para Download do Java (JRE): http://www.java.com/pt_BR/

Documentação da API do Java (versão 6): http://download.oracle.com/javase/6/docs/api/

Projeto OpenJDK: http://openjdk.java.net/

Forum de ajuda sobre Java: http://www.guj.com.br

Em breve nos proximos posts pretendo apresentar um tutorial iniciante de java , aguardem em breve.

Linguagem de programação: Shell Script

Acredito que seja a linguagem de programação favorita entre os administradores de sistema , e tambem pessoas como eu , que gosta de automatizar tarefas no computador para gerenciar melhor o tempo.
Com shell script você pode automatizar tarefas e criar pequenos programas. 

Vantagem do shell script:

* Nao precisam ser compilados , o codigo é interpretado , agilizando o desenvolvimento.
* Facil aprendizado para quem tem familiaridade com a linha de comandos (Unix , Linux , BSD’s , etc…).
* Possibilidade de inserir em paginas web atraves de CGI.

Alguns comandos:

Comando: echo

Descrição: Esse comando serve para imprimir uma mensagem na saida padrão que geralmente é a tela.

Exemplo:

echo “Pinguinautas invadem a Terra !!!”

Comando: ls

Descrição: Lista os arquivos do diretório atual.

Algumas opções: ls -l

Lista os arquivos do diretório atual em formato detalhado exemplo abaixo:

rafael@debian:/bin$ ls -l
total 4244
-rwxr-xr-x 1 root root 700492 Mai 12 2008 bash
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bunzip2
-rwxr-xr-x 1 root root 376108 Set 7 2008 busybox
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bzcat
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzcmp -> bzdiff
-rwxr-xr-x 1 root root 2140 Ago 5 2008 bzdiff
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzegrep -> bzgrep
-rwxr-xr-x 1 root root 4874 Ago 5 2008 bzexe
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzfgrep -> bzgrep
-rwxr-xr-x 1 root root 3642 Ago 5 2008 bzgrep
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bzip2
-rwxr-xr-x 1 root root 8156 Ago 5 2008 bzip2recover
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzless -> bzmore
-rwxr-xr-x 1 root root 1297 Ago 5 2008 bzmore
-rwxr-xr-x 1 root root 26860 Abr 4 2008 cat
-rwxr-xr-x 1 root root 45344 Abr 4 2008 chgrp
-rwxr-xr-x 1 root root 42744 Abr 4 2008 chmod
-rwxr-xr-x 1 root root 47356 Abr 4 2008 chown
-rwxr-xr-x 1 root root 69284 Abr 4 2008 cp
-rwxr-xr-x 1 root root 109260 Abr 3 2008 cpio
-rwxr-xr-x 1 root root 55052 Abr 4 2008 date
-rwxr-xr-x 1 root root 47892 Abr 4 2008 dd
-rwxr-xr-x 1 root root 45016 Abr 4 2008 df
-rwxr-xr-x 1 root root 92312 Abr 4 2008 dir
-rwxr-xr-x 1 root root 4428 Abr 28 2008 dmesg
-rwxr-xr-x 1 root root 8592 Dez 27 2007 dnsdomainname
-rwxr-xr-x 1 root root 24228 Abr 4 2008 echo
-rwxr-xr-x 1 root root 40260 Nov 15 2008 ed
-rwxr-xr-x 1 root root 92276 Ago 31 2008 egrep
-rwxr-xr-x 1 root root 22120 Abr 4 2008 false
-rwxr-xr-x 1 root root 5668 Abr 15 2008 fgconsole
-rwxr-xr-x 1 root root 55344 Ago 31 2008 fgrep
-rwxr-xr-x 1 root root 21092 Nov 4 2007 fuser
-rwxr-xr-x 1 root root 100468 Ago 31 2008 grep
-rwxr-xr-x 2 root root 61 Jan 19 14:16 gunzip
-rwxr-xr-x 1 root root 5864 Jan 19 14:16 gzexe
-rwxr-xr-x 1 root root 54412 Jan 19 14:16 gzip
-rwxr-xr-x 1 root root 8592 Dez 27 2007 hostname
-rwxr-xr-x 1 root root 193932 Jul 27 2008 ip
-rwxr-xr-x 1 root root 13148 Jan 11 2009 kill
-rwxr-xr-x 1 root root 38652 Abr 4 2008 ln
-rwxr-xr-x 1 root root 35048 Abr 15 2008 loadkeys
-rwxr-xr-x 1 root root 35236 Nov 14 2009 login
-rwxr-xr-x 1 root root 92312 Abr 4 2008 ls
-rwxr-xr-x 1 root root 4164 Abr 4 2008 lsmod
-rwxr-xr-x 1 root root 29344 Abr 4 2008 mkdir
-rwxr-xr-x 1 root root 28148 Abr 4 2008 mknod
-rwxr-xr-x 1 root root 6672 Ago 15 2008 mktemp
-rwxr-xr-x 1 root root 27424 Abr 28 2008 more
-rwsr-xr-x 1 root root 64112 Abr 28 2008 mount
-rwxr-xr-x 1 root root 4516 Ago 12 2008 mountpoint
lrwxrwxrwx 1 root root 20 Mai 4 08:25 mt -> /etc/alternatives/mt
-rwxr-xr-x 1 root root 28236 Abr 3 2008 mt-gnu
-rwxr-xr-x 1 root root 76276 Abr 4 2008 mv
-rwxr-xr-x 1 root root 149600 Ago 26 2008 nano
lrwxrwxrwx 1 root root 20 Mai 4 08:25 nc -> /etc/alternatives/nc
-rwxr-xr-x 1 root root 20156 Jun 28 2008 nc.traditional
lrwxrwxrwx 1 root root 24 Mai 4 08:25 netcat -> /etc/alternatives/netcat
-rwxr-xr-x 1 root root 103048 Nov 16 2008 netstat
lrwxrwxrwx 1 root root 16 Mai 4 08:24 pidof -> ../sbin/killall5
-rwsr-xr-x 1 root root 30788 Dez 10 2007 ping
-rwsr-xr-x 1 root root 26616 Dez 10 2007 ping6
-rwxr-xr-x 1 root root 75724 Jan 11 2009 ps
-rwxr-xr-x 1 root root 26800 Abr 4 2008 pwd
lrwxrwxrwx 1 root root 4 Mai 4 08:24 rbash -> bash
-rwxr-xr-x 1 root root 33172 Abr 4 2008 readlink
-rwxr-xr-x 1 root root 46832 Abr 4 2008 rm
-rwxr-xr-x 1 root root 23480 Abr 4 2008 rmdir
lrwxrwxrwx 1 root root 4 Mai 4 08:25 rnano -> nano
-rwxr-xr-x 1 root root 11380 Jun 27 2008 run-parts
-rwxr-xr-x 1 root root 40468 Mar 3 2008 sed
lrwxrwxrwx 1 root root 4 Mai 4 08:24 sh -> bash
-rwxr-xr-x 1 root root 23504 Abr 4 2008 sleep
-rwxr-xr-x 1 root root 48864 Abr 4 2008 stty
-rwsr-xr-x 1 root root 27108 Nov 14 2009 su
-rwxr-xr-x 1 root root 22128 Abr 4 2008 sync
-rwxr-xr-x 1 root root 4880 Abr 28 2008 tailf
-rwxr-xr-x 1 root root 236884 Abr 16 2008 tar
-rwxr-xr-x 1 root root 5668 Jun 27 2008 tempfile
-rwxr-xr-x 1 root root 42772 Abr 4 2008 touch
-rwxr-xr-x 1 root root 22120 Abr 4 2008 true
-rwsr-xr-x 1 root root 44088 Abr 28 2008 umount
-rwxr-xr-x 1 root root 23992 Abr 4 2008 uname
-rwxr-xr-x 2 root root 61 Jan 19 14:16 uncompress
-rwxr-xr-x 1 root root 92312 Abr 4 2008 vdir
-rwxr-xr-x 1 root root 946 Jun 27 2008 which
-rwxr-xr-x 1 root root 62 Jan 19 14:16 zcat
-rwxr-xr-x 1 root root 67 Jan 19 14:16 zcmp
-rwxr-xr-x 1 root root 4422 Jan 19 14:16 zdiff
-rwxr-xr-x 1 root root 62 Jan 19 14:16 zegrep
-rwxr-xr-x 1 root root 62 Jan 19 14:16 zfgrep
-rwxr-xr-x 1 root root 2013 Jan 19 14:16 zforce
-rwxr-xr-x 1 root root 4896 Jan 19 14:16 zgrep
-rwxr-xr-x 1 root root 1731 Jan 19 14:16 zless
-rwxr-xr-x 1 root root 2414 Jan 19 14:16 zmore
-rwxr-xr-x 1 root root 4950 Jan 19 14:16 znew
rafael@debian:/bin$

Comando: Cut

Descrição: Corta texto mostrando apenas a posicão ou coluna especificada.

Exemplo: echo “Pinguinautas no Espaço” cut -c4-10

Resultado do comando: guinaut

O caractere (pipe) entre os comandos serve para ligar a saida de um comando na entrada de outro comando.
No exemplo acima a saida do comando é redirecionado para a entrada do comando cut que pega o 4º caractere até o 10º caractere e joga o resultado na saida padrao que a tela resultando em guinault
Agora vamos supor que você quera que a saida do comando vai para um arquivo.
Simples use o sinal de > (maior)

Veja como fica o exemplo anterior só que em vez do resultado ir para a tela ira para o arquivo que vamos chamar de inutil.txt.

echo “Pinguinautas no Espaço” cut -c4-10 > inutil.txt

Depois execute o comando:

cat inutil.txt

Veja outros tipos de redirecionamentos:

<> Redireciona para o arquivo
>> Acrescenta no arquivo.
2> Redirecona saida de erro para o arquivo
2>> Acrescenta saida de erro no arquivo.

ATENÇÃO: CUIDADO AO USAR > EM UM ARQUIVO EXISTENTE POIS O SEU CONTEUDO SERA TOTALMENTE APAGADO , EM VEZ DISSO USE O >> QUE SOMENTE ACRESCENTA NO FINAL DO ARQUIVO.

Outro exemplo com o comando ls e cut só que pegando somente uma coluna da saida do comando ls -l :

Exemplo:

rafael@debian:/bin$ ls -l
total 4244
-rwxr-xr-x 1 root root 700492 Mai 12 2008 bash
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bunzip2
-rwxr-xr-x 1 root root 376108 Set 7 2008 busybox
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bzcat
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzcmp -> bzdiff
-rwxr-xr-x 1 root root 2140 Ago 5 2008 bzdiff
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzegrep -> bzgrep
-rwxr-xr-x 1 root root 4874 Ago 5 2008 bzexe
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzfgrep -> bzgrep
-rwxr-xr-x 1 root root 3642 Ago 5 2008 bzgrep
-rwxr-xr-x 3 root root 26292 Ago 5 2008 bzip2
-rwxr-xr-x 1 root root 8156 Ago 5 2008 bzip2recover
lrwxrwxrwx 1 root root 6 Mai 4 09:28 bzless -> bzmore
-rwxr-xr-x 1 root root 1297 Ago 5 2008 bzmore
-rwxr-xr-x 1 root root 26860 Abr 4 2008 cat
-rwxr-xr-x 1 root root 45344 Abr 4 2008 chgrp
-rwxr-xr-x 1 root root 42744 Abr 4 2008 chmod
-rwxr-xr-x 1 root root 47356 Abr 4 2008 chown
-rwxr-xr-x 1 root root 69284 Abr 4 2008 cp
-rwxr-xr-x 1 root root 109260 Abr 3 2008 cpio
-rwxr-xr-x 1 root root 55052 Abr 4 2008 date
-rwxr-xr-x 1 root root 47892 Abr 4 2008 dd
-rwxr-xr-x 1 root root 45016 Abr 4 2008 df
-rwxr-xr-x 1 root root 92312 Abr 4 2008 dir
-rwxr-xr-x 1 root root 4428 Abr 28 2008 dmesg
-rwxr-xr-x 1 root root 8592 Dez 27 2007 dnsdomainname
-rwxr-xr-x 1 root root 24228 Abr 4 2008 echo
-rwxr-xr-x 1 root root 40260 Nov 15 2008 ed
-rwxr-xr-x 1 root root 92276 Ago 31 2008 egrep
-rwxr-xr-x 1 root root 22120 Abr 4 2008 false
-rwxr-xr-x 1 root root 5668 Abr 15 2008 fgconsole
-rwxr-xr-x 1 root root 55344 Ago 31 2008 fgrep
-rwxr-xr-x 1 root root 21092 Nov 4 2007 fuser
-rwxr-xr-x 1 root root 100468 Ago 31 2008 grep
-rwxr-xr-x 2 root root 61 Jan 19 14:16 gunzip
-rwxr-xr-x 1 root root 5864 Jan 19 14:16 gzexe
-rwxr-xr-x 1 root root 54412 Jan 19 14:16 gzip
-rwxr-xr-x 1 root root 8592 Dez 27 2007 hostname
-rwxr-xr-x 1 root root 193932 Jul 27 2008 ip
-rwxr-xr-x 1 root root 13148 Jan 11 2009 kill
-rwxr-xr-x 1 root root 38652 Abr 4 2008 ln
-rwxr-xr-x 1 root root 35048 Abr 15 2008 loadkeys
-rwxr-xr-x 1 root root 35236 Nov 14 2009 login

Vamos usar agora o comando:

rafael@debian:/bin$ ls -l cut -c15-29

oot root 700492
oot root 26292
oot root 376108
oot root 26292
oot root 6
oot root 2140
oot root 6
oot root 4874
oot root 6
oot root 3642
oot root 26292
oot root 8156
oot root 6
oot root 1297
oot root 26860
oot root 45344
oot root 42744
oot root 47356
oot root 69284
oot root 109260
oot root 55052
oot root 47892
oot root 45016
oot root 92312
oot root 4428
oot root 8592
oot root 24228
oot root 40260
oot root 92276
oot root 22120
oot root 5668
oot root 55344
oot root 21092
oot root 100468
oot root 61
oot root 5864
oot root 54412
oot root 8592
oot root 193932
oot root 13148
oot root 38652
oot root 35048
oot root 35236

Pegou somente o caractere na posição 15 até a posição 29.

Agora vamos pegar somente a 3º coluna:

rafael@debian:/bin$ ls -l cut -d” ” -f3

root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root
root

Veja esses exempos:

rafael@debian:/bin$ echo “Pinguinautas vão para a Lua” cut -d” ” -f2
vão
rafael@debian:/bin$ echo “Pinguinautas vão para a Lua” cut -d” ” -f2-5
vão para a Lua
rafael@debian:/bin$ echo “Pinguinautas vão para a Lua” cut -d” ” -f1-2
Pinguinautas vão
rafael@debian:/bin$ echo “pinguins@algumacoisa.com.br” cut -d”@” -f1
pinguins
rafael@debian:/bin$ echo “pinguins@algumacoisa.com.br” cut -d”@” -f2
algumacoisa.com.br
rafael@debian:/bin$ echo “pinguins@algumacoisa.com.br” cut -d”.” -f2
com
rafael@debian:/bin$ echo “pinguins@algumacoisa.com.br” cut -d”.” -f1
pinguins@algumacoisa
rafael@debian:/bin$ echo “pinguins@algumacoisa.com.br” cut -d”.” -f3
br

Explicando o comando cut -d” ” -f2

-d” ” = Usa o espaco como separator (delimitador) de coluna
-f2 = Exibe a segunda coluna depois do espaço

Mais um Exemplo:

cut -d”.” -f3

-d”.” = Usa o . como separador (delimitador) de coluna.
-f3 = Exibe a coluna depois do 3º ponto.

Links uteis:

http://www.vivaolinux.com.br/scripts/categoriaIndex.php?codigo=4 => Pagina com Varios shells scripts de exemplo para você aprender.

http://aurelio.net/shell/ => Site do Livro Shell script profissional com varias informações e links para outros tutorias para entrar no mundo do shell script

http://guia-er.sourceforge.net/ => Site que fala sobre expressoes regulares muito util em shell script para simprificar na programação que tambem vale para outras linguagem de programação.

http://sourceforge.net/projects/getgnuwin32/files/ => Link para Download do gnuwin32 que traz varias ferramentas para programação em shell script no sistema Windows.

Icones personalizados com tclkit

Neste post estarei ensinando passo a passo como criar icones personalizados para suas aplicações tcl empacotadas com tclkit.

Ingredientes:

1 – Editor de imagens GIMP
2 – Uma imagem de preferencia pequena.
3 – Tclkit http://www.equi4.com/pub/tk/8.5.2/tclkitsh-win32.upx.exe

Modo de preparo:

Primeiro pegue uma imagem qualquer de preferencia pequena.
Ex: http://tux.crystalxp.net/png/pinguinito-tux-brazil-2156.png

Abra essa imagem no GIMP assim:

Va no menu Image e depois em Scale Image…

Na opção Image size deixe as opções Width e Height com 48.

Clique no botão Scale

Depois va no menu Layer e clique em Duplicate Layer

Agora va no menu Layer e clique em Scale Layer…

Na opção Image size deixe as opções Width e Height com 32.

Clique no botão Scale

Depois va no menu Layer e clique em Duplicate Layer

Agora va no menu Layer e clique em Scale Layer…

Agora iremos salvar o arquivo com a extensão .ico , para isso va em:
Menu File e clique em Save As…
No campo Name Substitua o nome do arquivo por tclkit.ico e salve dentro da pasta myapp.vfs (Pasta principal da aplicação empacotada com o tclkit).
Apresenta a tela abaixo:
Deixe os 3 campos como 8 bpp (como na tela acima)
Clique no botão Save
Execute o comando:

 

 

 

 

tclkit-win32.upx.exe sdx.kit wrap myapp -runtime tclkit-w.exe

 


ren myapp myapp.exe
Se der tudo certo o icone da sua aplicação sera apresentado.

Para saber como empacotar um script tcl com o tclkit leia esse postAqui.

Espero que tenham gostado.
Até a proxima.

TCLKIT – Transforme seus scripts TCL em arquivos executaveis

Ola Pessoal venho por meio desse post falar um pouco sobre o tclkit que é um interpretador tcl/tk que possibilita empacotar o interpretador tcl/tk junto com as extensões necessarias em um arquivo executavel (*.exe ou executavel no Linux). 

Ingredientes

O site para download do tclkit é:

Interpretador Tcl/TK (Windows 32 bits)
Interpretador Tcl (Windows 32 bits)
Programinha para fazer o “Empacotamento em .exe”
Modo de preparo 

Jogue tudo em uma pasta.


Cria a pasta do programa que deseja empacotar com tclkit.
Exemplo para empacotar o programa teste crie uma pasta de nometeste.vfs
Dentro dessa pasta coloque o fonte em tcl com o nome de main.tcl
Caso seu programa (main.tcl) necessitar de alguma extensão apenas crie uma pasta dentro do teste.vfs com o nome de lib , e copie da instalação do seu tcl (c:\tcl\lib\a_extensão) para dentro da pasta teste.vfs\lib

Abra o prompt do ms-dos (cmd.exe) e dentro da pasta onde você colocou os arquivos do tclkit execute os seguintes comandos:

copy tclkitsh-win32.upx.exe tclkit.exe
copy tclkit-win32.upx.exe tclkit-w.exe
Para “Empacotar” um script Tcl (sem TK) execute o comando:

tclkitsh-win32.upx.exe sdx.kit wrap teste -runtime tclkit.exe
Se tudo der certo sera criado um arquivo chamado teste

Execute o comando:
ren teste teste.exe
teste.exe

—————-

 

Para “Empacotar” um script Tcl/Tk execute o comando:

tclkit-win32.upx.exe sdx.kit wrap teste -runtime tclkit-w.exe

Espera alguns segundos e aparecera uma janela branca de console e aguarde aparecer uma linha com a informação:

updated

Apos isso somente feche a janela branca do console.
Se tudo der certo sera criado um arquivo chamado teste

Execute os comandos:

ren teste teste.exe
teste.exe

—————

Para “desempacotar” se não me engano o comando é:

tclkit-win32.upx.exe sdx.kit unwrap teste.exe
ou
tclkitsh-win32.upx.exe sdx.kit unwrap teste.exe

 

Divirta-se a gosto.

Programação: TCL/TK

A linguagem TCL (Tool Command Language) ou Linguagem de Comandos de Ferramentas é uma linguagem script criada em 1988 por John Ousterhout.
Tcl é uma linguagem de facil aprendizagem mas atualmente ela não é popular no Brasil , ela é mais usada fora do Brasil.
Essa linguagem vem embutida dentro dos roteadores CISCO podendo ser usadas para automatizar tarefas.
Existem varias extensões disponiveis no site http://wiki.tcl.tk/940
Veja abaixo algumas caracteristicas dessa linguagem:

Facil Aprendizado

A linguagem Tcl é de facil aprendizado podendo ser utilizada como a primeira linguagem de programação.

Multiplataforma
TCL esta disponivel para varios sistemas operacional Exemplo Ms-dos , Windows , Linux , Unix , FreeBsd , Solaris , e sistemas embarcados (Exemplo smartphones e roteadores CISCO).
Extensivel
Existem varias extensões para as mais diversas finalidades , e você pode desenvolver facilmente extensoes para TCL em C/C++.
Exemplos:
Tk = Criação de interface Grafica (GUI)
Snack = Reproduzir sons (wav , mp3)
Expect = Controlar aplicações.
Codigo-fonte aberto
Tcl é baseada na licença BSD podendo ser distribuida livremente.
Suporte Comercial
Atualmente a ActiveState desenvolve e disponibiliza suporte comercial para a linguagem Tcl e tambem para as linguagens Perl e Python. Site oficial www.activestate.com/tcl.
Desenvolvimento facil de Extensões com critcl
Com o Critcl (C Runtime In Tcl) , você pode desenvolver facilmente extensões para Tcl tanto para Windows e tambem para Linux.

Link do tclkit (Linux) : http://www.equi4.com/pub/tk/8.5.1/tclkit-linux-x86.gz

Link do Critcl (Windows / Linux) :http://www.equi4.com/pub/sk/critcl.kit

Documentação do Critcl (Ingles) : http://www.digital-smarties.com/Tcl2002/critcl.pdf

Os scripts em Tcl podem ser compilador usando o Freewrap

Site de Download do FreeWrap :http://sourceforge.net/projects/freewrap/files/

Link Download FreeWrap (Linux) :http://downloads.sourceforge.net/project/freewrap/freewrap/freeWrap%206.32/freewrapTCLSH632.tar.gz?use_mirror=ufpr

Link download FreeWrap com TK (Linux) :http://downloads.sourceforge.net/project/freewrap/freewrap/freeWrap%206.42/freewrapPLUS642.tar.gz?use_mirror=ufpr

Link download FreeWrap (Windows) :http://downloads.sourceforge.net/project/freewrap/freewrap/freeWrap%206.32/freewrapTCLSH632.zip?use_mirror=ufpr

Link Download FreeWrap com TK (Windows) :http://downloads.sourceforge.net/project/freewrap/freewrap/freeWrap%206.32/freewrapPLUS632.zip?use_mirror=ufpr

No site tambem esta disponivel o codigo-fonte para ser compilado para outras plataformas.