Na época que comecei, fez falta um tutorial desse tipo.
Por enquanto é a parte teórica.
Se preocupe em entender do que se trata, e deixe a parte de como usar pra depois.
Usar é mais simples do que entender.
Nos tempos do Clipper, o único tipo de biblioteca que conhecemos foi do tipo LIB, que linqueditamos ao programa.
O Blinker acrescentou ao Clipper um recurso muito conhecido do Windows, que foi poder gerar/usar DLLs.
A DLL é como se fosse uma parte do EXE, mas diferente das antigas overlays, com vida própria.
Era possÃvel compilar o EXE ou a DLL de forma separada, podendo trocar qualquer uma das duas partes depois.
Vantagens: mais prático compilar partes menores, e partes poderiam ser compartilhadas por vários programas.
Como Clipper é 16 bits, de qualquer forma não pode aproveitar as muitas DLLs existentes no Windows.
O Windows é cheio de DLLs, todas prontas pra uso, com funções diversas.
As DLLs podem ser divididas em 2 tipos:
- As que são instaladas no Windows, e ficam prontas pra uso, como a do Excel ou Internet Explorer.
- As que NÃO são instaladas no WIndows, como a BLAT.DLL
Como a DLL pode ser de qualquer linguagem (até em Clipper), não significa que qualquer programa pode acessar qualquer DLL.
Além de outras coisas, algumas linguagens tem tipos de variáveis que outras não tem.
O ADO é uma bilbioteca que vém instalada no Windows, pronta pra uso.
Foi criado para que o acesso a qualquer banco de dados seja feito sempre da mesma forma, sem precisar conhecer os detalhes de cada banco de dados.
Há várias formas de usar o ADO, e há muitos recursos, mas não é o objetivo deste tutorial mostrar tudo.
Qualquer coisa, há vários manuais na internet, pra quem quiser se aprofundar ainda mais.
É bom entender o que é objeto, propriedades, métodos e coleções, pra fazer uso dos manuais que se encontram na internet.
No mundo Clipper conhecemos variável, função.
Variável podendo conter string, número, data, etc.
Função, que faz parte do programa.
Inventaram uma variável que pode conter tudo ao mesmo tempo: variável e função.
Deram o nome pra isso de objeto.
É diferente de biblioteca, porque podemos alterar qualquer conteúdo desse objeto - mesmo o que seria uma função.
É como criar um programa, com rotinas, e poder trocar as rotinas, isso durante a execução, sem compilar/linqueditar.
E as variáveis e funções do objeto recebem o nome de propriedades e métodos.
É como se fosse a mesma coisa com nome trocado, mas por causa do funcionamento diferente, recebeu outro nome.
Também tem a coleção, que poderia ser comparado a um array.
Só pra comparação, dbStruct() retorna uma coleção, onde cada item da coleção se refere a um campo do arquivo.
Então, objeto é um pacote que pode conter suas variáveis e funções, e até mesmo outros objetos.
Geralmente usamos uma variável pra armazenar esse "pacote".
No Harbour podemos criar objetos, são as classes. E podemos usar objetos prontos.
Um pacote dipsonÃvel no Windows é o ADO.
Dentro do ADO temos alguns objetos:
Connection - Contém as funções pra "conversar" com a base de dados.
Recordset - PoderÃamos comparar com um DBF, mas tem formato próprio.
Pra não depender de nada, esses objetos contém funções que podem ser usadas pra acesso.
Comparando Clipper ao ADO:
Em Clipper, dbStruct() retorna uma coleção contendo cada campo do arquivo com nome, tipo, tamanho, decimais.
Em ADO, Fields(), retorna uma coleção contendo esse tipo de informação, além de funções relacionadas.