Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
vbmaster

[VB6] Help Files

Recommended Posts

vbmaster

Certamente existem outras hipóteses, mas foi assim que fui “ensinado” a fazer um help file e integrá-lo num project vb e é da maneira que aprendi que vos vou tentar ensinar.

Primeiramente, há que procurar o ficheiro hcw.exe (Microsoft Help Workshop) para conseguirmos fazer o help file. Ele, no meu caso, encontra-se na pasta Common\Tools da pasta Visual Studio do C:\Programas.

É neste programa que vamos criar como que o índice do help file, a sua estrutura, podendo o conteúdo ser criado em qualquer editor de texto que possa guardar em formato .rtf.

O programa deverá ser algo como isto:

http://img339.imageshack.us/img339/7628/imagem13ob.jpg

Neste tutorial vou elaborar um help file e tentar explicar o melhor que puder todo o processo. O help file vai ser sobre o portugal-a-programar.

Portanto começamos indo ao menu File e fazendo New. Na caixa que aparece seleccionamos help contents.

Como explicação, digo desde já que num help file, há 3 partes especificas, o contents file – ficheiro ASCII que define a aparência e o layout do ficheiro Help. Seguidamente, o ficheiro topic, é onde é escrito o conteúdo do help. O ficheiro project liga as duas partes acima referidas.

Como tal, neste momento estamos a criar o Contents File.

Continuando, a primeira coisa a fazer assim que criamos um novo help contents, é dar um nome, portanto escrevemos Portugal-a-Programar na caixa de texto Default Filename (and windows) e na caixa Default Title.

Seguidamente, cria-se um heading do topic, que será, se pensarmos num livro, o próprio título deste. Portanto, carrega-se em Add Below e na check box, seleccionamos Heading, para título damos Portugal-a-programar. Observa-se o adicionamento do topic. Mas como este não passa dum título, vamos criar como que um subtítulo e posteriormente dentro deste teremos os topics. Fazemos novamente Add Below, e fazemos novamente Heading. Nesta minha improvisação dei o nome de Começo a este novo Heading. Mas como este heading tem de ficar dentro do título anterior carregamos em Move Right.

De seguida, e de igual forma criamos o primeiro Topic. Add Below, desta vez, já não será Heading mas sim Topic a opção a escolher na check box. Neste momento, as caixas de texto que no heading se bloqueavam, já não se bloqueiam, mas só preenchemos duas delas. Primeiramente mete-se o nome do topic, que eu delineei como Criação, e como Topic ID, mete-se IDH_1

Nota, esta ID poderia ser algo totalmente diferente, mas deixemos assim.

De seguida, criam-se mais dois topics um com o nome de Publicidade e outro como Evolução. Para os ID seguimos a ordem númerica do primeiro feito, portanto IDH_1, IDH_2, IDH_3, IDH_x.

Após estes três topics criamos mais um heading, de nome Actualmente. E mais um topic de nome Ponto da situação. Segundo a ordem anterior, este topic deve ser o IDH_4

A estrutura fica terminada por aqui, devendo ser algo como isto:

http://img339.imageshack.us/img339/633/imagem21zk.jpg

Guardamos. O tipo de ficheiro é .cnt.

Seguidamente vamos escrever o conteúdo para cada topic. Nesta altura qualquer editor de texto serve, desde que consiga guardar em .rtf e possua a adição de notas de rodapé.

Eu vou usar o word 2000.

Começamos escrevendo o título do primeiro topic, sendo este Criação.

Deixamos uma linha e escrevemos:

Como fórum, o Portugal-a-Programar surgiu da ideia do deathseeker e foi criado em 28 Maio de 2005. Na altura encontrava-se alojado num domínio .tk e foi assim que permaneceu por alguns meses

Seguidamente, e bastante importante é a adição de uma nota de rodapé. Situa-se o cursor antes do título (Criação) e faz-se Inserir->Nota de rodapé. Na janela que aparece selecionamos Marca Personalizada e inserindo na caixa de texto o símbolo # (cardinal). Na nota de rodapé escreve-se IDH_1.

Seguidamente adicionamos mais uma nota de rodapé, com tudo igual, excepto a marca personalizada que agora será o $. Nesta escreve-se Criação.

De novo mais uma marca, desta vez com o símbolo k e nesta escreveremos deathseeker;p@p;fórum .

Nota: Como já se aperceberam, ou não, a nota de rodapé # identifica o conteúdo à estrutura, no ficheiro .cnt. A nota $ dá o topic title, e a nota k, insere palavras no índice remissivo do help file.

Não contribui muito para o tutorial, mas para quem eventualmente o esteja a seguir eu deixo aqui o resto do texto para os restantes topics. Cada topic deverá ficar numa página à parte.

Para o topic Publicidade é escrever:

Publicidade

Desde que foi criado o p@p contou com publicidade intensa nos maiores fóruns de Portugal e uma equipa administrativa cheia de vontade de levar esta grande e inovadora comunidade para a frente.

Notas de rodapé:

# IDH_2

$ Publicidade

k Portugal;administrativa;comunidade

Seguindo,

Evolução

Desde essa mesma, e já referida criação, o p@p, muito devido ao seu criador e equipa, que não se cansaram de publicitar o fórum, foi ganhando users a uma velocidade galopante. Como tentativa de publicitar ainda mais o fórum, foi movido o domínio .tk para org e desta maneira a velocidade aumentou ainda muito mais.

Notas de rodapé:

# IDH_3

$ Evolução

k domínio; criador

E por último:

Ponto da Situação:

Com a recente criação do portal e alguns projectos em desenvolvimento, o céu, é definitivamente, o limite para esta comunidade que neste momento está perto dos 550 users.

Notas de rodapé:

# IDH_4

$ Ponto da Situação

k portal;projectos

Para quem não quiser fazer tudo isto manualmente pode encontrar todos os ficheiros do tutorial aqui: http://pap.hugosoft.net/dl.php?a=0.1&m=10806800c38050f9&f=tutorial.rar

Só falta pois integrar a estrutura com o conteúdo num help file.

Abrimos de novo o Microsoft Help Workshop fazendo desta vez, New -> Help Project. De seguida o help pede-nos logo o nome e um local para guardar. Guarde como Portugal-a-Programar.hpj.

Carrega-se seguidamente em Option e escreva Portugal-a-Programar E Help Title.

No separador Compression, escolha a opção Custom e marque também a caixa Hall Compression.

No separador Files, vamos ter de abrir os dois ficheiro anteriormente criados, como tal, onde diz Rich Text Format Files carregamos em Change e abrimos o ficheiro anteriormente guardado.

Logicamente, em Contents File Abrimos o ficheiro .cnt anteriormente criado.

Clica-se OK.

Agora, clica-se no botão Windows. No nome que é pedido para o nome da windows escreve-se Main. O outro campo fica como Procedure.

A janela Window Proprieties é mostrada. No separador Buttons marca-se a caixa Browse. Fecha-se clicando OK a carrega-se, desta vez, no botão Map .

Na janela que aparece adicionam-se novamente os topic, fazendo Add e pondo na caixa Mapped Numeric Value valores começando no 100 e adicionando sempre 1 valor caso o topic se encontre no mesmo capítulo que o anterior. Caso pertença a um capítulo seguinte começa-se a contagem na centena seguinte. Para que não restem dúvidas aqui fica a imagem de como deve ficar a coisa.

http://img339.imageshack.us/img339/4964/imagem39sg.jpg

Tudo está pronto, carrega-se OK e posteriormente Save and Compile.

O help foi criado com sucesso, é mostrado o log do processo.

Ok, até agora tudo bem, só falta integrar o help no nosso projecto vb6. Para isto na Project Proprieties windows do nosso projecto, no separador Help File Name adicionamos o ficheiro help compilado anteriormente.

Seguidamente adiciona-se um Common Dialog à form, e um menu, coisa que penso que saibam fazer. :)

Basta seguidamente no load da form escrever:

CommonDialog1.HelpFile = App.HelpFile

e no menu em que queiram abrir a ajuda escrever:

With CommonDialog1
.HelpFile = "PORTUGAL-A-PROGRAMAR.HLP"
.HelpCommand = cdlHelpHelponhelp
.ShowHelp
End With

Também é possível fazer um menu para cada tópico, caso o queiram fazer basta adicionar no menu onde queiram, por exemplo que ao clicar seja aberto logo determinado topic, basta adicionar o seguinte código ao menu_onclick() (para o menu Evolução Por exemplo):

With CommonDialog1
.HelpFile = "Portugal-a-Programar.hlp"
.HelpContext = "103"
.HelpCommand = cdlHelpContext
.ShowHelp
End With

Penso que o tutorial esteja explícito e que tenham conseguido fazer todo o processo sem grandes sustos.

Fiquem bem :D ;):D

and remember kids, p@p rulles

vbmaster @2005

P.S.: qualquer dúvida ou erro digam. :P

Share this post


Link to post
Share on other sites
vbmaster
Grande tutorial. :D

Havemos de decidir como fica isto.

Se na secção vb.net ou se aqui, ou nas duas.... :D

Share this post


Link to post
Share on other sites
deathseeker25
Havemos de decidir como fica isto.

Se na secção vb.net ou se aqui, ou nas duas.... ;)

É preferível nas duas. Quando tiver tempo coloco o resto dos tutoriais nas duas secções que correspondem.

Cumps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.