Jump to content

Recommended Posts

Posted (edited)

Boas people

dado a falta de tempo, peço aqui ajuda

passo a explicar

vou iniciar-me em lazarus

Fiquei encantado com o facto de ser em tudo semelhante a VB6 (A minha antiga linguagem de programação) visualmente.

em VB6 cada vez que voltava a programar tinha 2 dossiers com os códigos base, tudo estruturado e tal e queria fazer o mesmo com o lazarus

Então:

1º Que linguagem o lazarus usa? delphi ou pascal? ainda não entendi bem

2º Links para manuais / tutoriais com o básico do código (if then, while, declarar variaveis, uso de pontuação e afins)

O que pretendo é o básico mesmo, não quero manuais que ensinam a trabalhar com a parte gráfica, o que aprendo sozinho em meia hora

O meu post original:

http://www.portugal-a-programar.pt/topic/64437-apresenta-se-rodrigo-o-noob/

Como podem vir já pedi ajuda à 1 mês mas a trabalhar agora estou mesmo com falta de tempo e tenho que fazer o programa que era para maio até dia 20 do próximo mês...

Obrigado desde já

UPDATE:

http://code-sd.com/startprog/StartProgUsingPascal.pdf

Manual com o básico e o essencial

Edited by rodrigojpf

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted (edited)

Lazarus é um IDE RAD para desenvolvimento de aplicações GUI e de consola.

Portanto, há que distinguir os dialectos do Pascal, todos eles implementados no Lazarus e com os quais podes programar lá:

  • Extended Pascal - aplicações de consola - é o Pascal tradicional moderno* que implementa apenas o paradigma estrutural;
  • Object Pascal - aplicações de consola - é o Extended Pascal com Orientação aos Objectos;
  • Delphi - aplicações GUI - é o Object Pascal com toda uma série de classes, objectos e métodos para construir aplicações GUI.

Portanto, dependendo do tipo de projecto que fizeres no Lazarus, podes usar um destes. Por defeito, quando crias uma aplicação de consola, o Lazarus usa o Object Pascal. A diferenciação entre Extended e Object é mais proeminente para quem usa Free Pascal, uma vez que existem vários modos de compilação que devem ser explicitamente indicados.

Tal como no VB.NET (não sei como é no VB6), tu podes criar vários tipos de projecto, nomeadamente Console Application (onde se usa Object Pascal) e GUI Application (onde se usa Delphi).

Quanto a links, vê este tópico acerca de Pascal e este acerca de Delphi.

Faço notar que, para aprender Delphi, se deve aprender Pascal no princípio, uma vez que a sintaxe do Delphi é a sintaxe do Pascal. O Delphi apenas tem toda uma panóplia de objectos, métodos e classes, como disse antes, para aplicações GUI.

Qualquer dúvida, apita 😉

Cumprimentos.

* - sublinho "moderno" porque ainda há muito programador por esse mundo fora que fala acerca do Pascal como se ele ainda fosse a versão de 1971. O Pascal evoluiu imenso, mas mesmo muito, desde os anos 70, e é actualmente uma linguagem poderosa e diversificada.

Edited by thoga31

Knowledge is free!

Posted

Ok... estou a embarrar em paredes a cada passo que dou...

precisava de alguem no skype que não se importe que incomode com perguntas... voluntários?

thoga... estou a ver que estou mais lerdo do que pensava , não entendi metade do que disseste lol

vou criar um documento para apresentar com o programa que tenho que fazer, assim é mais facil receber ajuda, dado que nem sei fazer as perguntas correctas

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted (edited)

Não é preciso nenhum Skype, o fórum está cá para isso mesmo. Aqui prezamos a ajuda em público e a troca de conhecimentos de todos para todos. No Skype ficas dependente de uma pessoa e da sua disponibilidade, no fórum tens dezenas a centenas de membros com conhecimentos para ajudar nas mais variadas áreas (quase) 24/7. O que preferes?

Exactamente o que não entendeste acerca daquilo que eu te disse? Eu expliquei o que é o Lazarus, resumi quais os dialectos de Pascal que existem e qual o principal uso de cada um. Do que disse, o que foram "paredes"? Eu esclareço e explico de forma a que entendas e até entenderes.

Quanto ao programa que tens de fazer, primeiro tens de aprender a linguagem e depois construir o dito programa. Em qualquer uma destas coisas nós estamos cá para ajudar (no fórum).

Paredes há muitas quando entramos numa nova linguagem, mas mais importante que ver as paredes e bater nelas é saber bater nas paredes, aprender as devidas lições e continuar em frente.

Cumprimentos.

Edited by thoga31
  • Vote 1

Knowledge is free!

Posted

1º Que linguagem o lazarus usa? delphi ou pascal? ainda não entendi bem

Delphi, neste contexto, é apenas um dialecto do Pascal. Se souberes Pascal, sabes o básico do Delphi.

2º Links para manuais / tutoriais com o básico do código (if then, while, declarar variaveis, uso de pontuação e afins)

O que pretendo é o básico mesmo, não quero manuais que ensinam a trabalhar com a parte gráfica, o que aprendo sozinho em meia hora

Segue os links do Thoga. Ele tem um manual de Pascal publicado aqui no forum que é o que precisas para começar, seja em Pascal, Object Pascal ou Delphi.

Fica à vontade para meteres aqui no forum dúvidas concretas que te vão aparecendo, ou dúvidas menos concretas, do tipo "é possível...".

No que pudermos, ajudamos.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted

onde encontro esses famosos links do fantástico Thoga?

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted

sim thoga lol tens sido fantástico, primeira vez em anos que alguem me responde sempre as duvidas 😛

Só agora vi que não respondes PMs, repito a pergunta que te enviei, porque não posso fazer post em "Apresentação de Projectos de Programação" ??Queria criar um o post para por as duvidas todas no mesmo sitio em vez de andar a encher o forum...

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted

sim thoga lol tens sido fantástico, primeira vez em anos que alguem me responde sempre as duvidas 😛

Só agora vi que não respondes PMs, repito a pergunta que te enviei, porque não posso fazer post em "Apresentação de Projectos de Programação" ??Queria criar um o post para por as duvidas todas no mesmo sitio em vez de andar a encher o forum...

É mesmo o melhor fazeres isso... 🙂 Cada dúvida no seu post, a não ser que sejam relacionadas, e aí metes várias no mesmo.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted (edited)

Quando eu digo "não esclareço dúvidas por PM", são dúvidas de programação e etc... tenho de mudar a frase, levanta dúvidas 😛

Eu respondi-te à PM, vai ver, é uma questão que não pertence ao domínio público do fórum. 😉

sim thoga lol tens sido fantástico, primeira vez em anos que alguem me responde sempre as duvidas 😛

Quando me inscrevi no fórum propus-me a isso mesmo: ajudar sempre que posso. Portanto, não faço mais do que aquilo que acho que deva fazer. 😉

P.S. - este passa a ser o tópico central para as dúvidas. Vou mudar o título 😉

Edited by thoga31

Knowledge is free!

Posted

Como predefinir cada form ao abrir

Ok, quero predefinir as configurações de cada form ao ser aberto

ou seja

ter em codigo todas as definições (tamanho, tipo de caixa, font, bla bla bla)

ao criar novo form teria que estar a ir a lista, e colocar todas as definições como eu quero... ora quantos mais forms, mais probabilidades a de me esquecer de uma configuração, o que pode dar problemas mais tarde

como posso fazer?

qual a melhor forma de o fazer?

é possivel fazer isto num ficheiro de texto ou modulo?

exemplo (não é com sintaxe da pascal, só para entenderem)

form.height = 600

form.weight = 800

form.borderstyle=single

form.font="arial"

bla bla bla

o ideal seria poder chamar um procedimento com as configurações adicionais

ex: configform("MENU" , 800 , 600 , 0 , 0)

explicação de ex: configform("Nome do formulario" , width , height , posição X , posição Y)

estou mais a pensar num modulo com isso... mas não sei fazer ainda em lazarus.

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted (edited)

Isso parece-me complicar... 🙂

Porque não crias a form já com os tamanhos certos em DesignTime?

De qualquer modo, podes criar um procedimento que te faça isso. Por exemplo:

procedure ConfigForm(Form:TForm; aWidth, aHeight, aX, aY:Integer);
begin
  With Form Do
     begin
        Width  := aWidth;
        Height := aHeight;
        Left   := aX;
        Top    := aY;
     end;
end;
Edited by nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted

nuno, é isso mesmo 😛 agora... queria só por o código em algum sítio (módulo ou ficheiro de texto) para poder aceder apenas com uma linha de código (chamada do procedure) ao iniciar o form...

assim só tinha que definir o width e o height no IDE (com repetiçao no codigo para segurança, so vou definir no IDE para poder trabalhar com o trabalho certo) e tudo o resto era definido por código...

em VB6 criava um modulo com o procedure; ao criar novo formulário só definia o weidth e height no IDE, fazia uma chamada no procedure do form e prontos, focava-me no resto do codigo

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted

🙂 Continuo a achar que é complicar o que é simples, e perder parte da vantagem do Delphi/Lazarus.

Mas cada um trabalha como gosta mais, pelo que nada contra...

Crias uma unit (é como são chamados os módulos em Pascal), que defines na secção Uses de cada módulo que uses. Depois é só chamar sempre que queiras:

unit FormTools; // Nome da tua unit

interface       // Zona de interface, onde declaras todos os métodos da tua unit

Uses
  Forms;       // A tua unit vai usar a unit Forms (que é onde está declarada a classe TForm)

procedure ConfigForm(Form:TForm; aWidth, aHeight, aX, aY:Integer);  // Declaras aqui que vais ter um procedimento com este nome e características



implementation  // Zona de implementação, onde implementas os métodos que declaraste na zona de interface

procedure ConfigForm(Form:TForm; aWidth, aHeight, aX, aY:Integer);  // Implementação do procedimento declarado em cima
begin
  With Form Do   // O With ... Do é uma estrutura que te permite trabalhar com tipos complexos sem ter de escrever o nome do tipo em cada campo
     begin
        Width  := aWidth;    // Por exemplo, sem o With ... Do, tinhas de meter Form.Width := aWidth;
        Height := aHeight;
        Left   := aX;
        Top    := aY;
     end;
end;

end.

Para chamar, metes a tua unit na secção uses do módulo onde estiveres a trabalhar...

Depois é só chamar.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted (edited)

ok.... boca aberta... só definições e demoninações que não conheço... estou mais noob do que pensava...

Form:TForm é o que?

Uses

Forms; Porque tenho que definir isto?

Já agora o que quer dizer snipers, o que é e para que é usado?

Edited by rodrigojpf

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted

O meu conselho é começares pelos alicerces e não pelos tijolos.

O meu outro conselho é esquecer VB6 - é uma versão do Visual Basic que cria terríveis hábitos de programação e que está adaptada aos sistemas antigos - relembro que o Visual Basic Clássico apareceu bem antes do Windows 95. Relembro igualmente que estamos em 2014.

O meu último conselho é dares um passo de cada vez.

Knowledge is free!

Posted

hehe thoga a ideia era essa... se não tivessem apressado a data para o programa estava com ideias de reaprender os básicos... pois como dizes VB6 cria hábitos muito específicos... e daí estar agora a 0,01% em termos de conhecimentos

mas como tenho que fazer isto esta semana, e de preferência hoje e amanha para não andar a dormir mal e andar tipo zombie no trabalho (trabalho com empilhador, é um perigo) tenho que começar a meio, saltar para o fim e só depois de tudo feito vou ter tempo para começar pelo básico...

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted (edited)

ok.... boca aberta... só definições e demoninações que não conheço... estou mais noob do que pensava...

Form:TForm é o que?

Uses

Forms; Porque tenho que definir isto?

Já agora o que quer dizer snipers, o que é e para que é usado?

Concordo com o Thoga, dá um refresh ao Pascal antes de começares nisto... 🙂

De qualquer forma:

TForm é uma classe de objectos, e é a base de qualquer janela que cries. Dentro do TForm tens todas as propriedades e eventos necessários a lidar com as forms, como as medidas, posição, etc.

Por isso é que digo que é complicar o que é simples... No Lazarus, escreves o nome da tua form, metes um ponto (.) à frente e o IDE mostra-te logo todas as propriedades que podes alterar.

O Uses Forms é necessário porque, como no procedimento meti lá o TForm, tenho de indicar onde essa classe está guardada, que no caso é na unit Forms.

Por isto é que te disse que é quase impossível trabalhares sem objectos... Toda a aplicação é baseada em objectos.

Edited by nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Posted (edited)

ok seja cada vez que usar uma classe diferente tenho que a definir... boring...

Porque é que:

procedure ConfigForm(Form:TForm; aWidth, aHeight, aX, aY:Integer);  // Declaras aqui que vais ter um procedimento com este nome e características

tenho que ter isto duas vezes?

tudo o que usar em implementation tenho que declarar antes?

Edited by thoga31
Tags code + GeSHi + formatação do post

#########################################################

Programador amador ; Antigas linguagens, VB6 ; Aprendi Pascal e C++ na escola mas não me lembro nem de uma linha

Projecto: RESPilado: Apresentação: https://docs.google.com/file/d/0B6ohPIUzzO8dUmhWMzdsY0JNaWc // Estado do projecto: https://docs.google.com/file/d/0B6ohPIUzzO8dbk5jd2lnOHNIQ2s

Tenho urgência em criar o programa, daí andar a ser chato e perguntar informações que podem já estar no forum e na Internet

#########################################################

Posted

ok seja cada vez que usar uma classe diferente tenho que a definir... boring...

Porque é que:

procedure ConfigForm(Form:TForm; aWidth, aHeight, aX, aY:Integer); // Declaras aqui que vais ter um procedimento com este nome e características

tenho que ter isto duas vezes?

tudo o que usar em implementation tenho que declarar antes?

Boring seria que ele pusesse lá todas as units prontas a usar, e depois ficasses com um executável lento e gigante... 🙂 Assim só metes lá o que usas.

A maior parte das vezes, ele é inteligente e mete lá o que precisa. Por exemplo, se meteres um componente novo na form, ele sabe qual a unit a que pertence e mete lá sozinho. Mas se estás a criar uma unit nova, tua, como é que querias que ele soubesse o que precisas?

Quanto ao interface/implementation é assim mesmo. É uma questão de organização, de velocidade e de funcionalidade:

Organização: Numa unit grande, basta-te olhar para a interface para saberes todos os métodos que lá estão

Velocidade: O compilador, ao pesquisar as units em busca do código que precisa, só precisa avançar para a implementation se encontrar o que quer na interface.

Funcionalidade: Com isto, é completamente indiferente a ordem que metes os teus procedimentos. Mesmo que uns chamem outros, ele sabe sempre onde estão.

Pensa no Interface como um Indice. Não seria um bom "livro técnico" se não tivesse índice, não te parece?

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

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
×
×
  • Create New...

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.