rodrigojpf Posted February 22, 2014 at 03:32 PM Report #546141 Posted February 22, 2014 at 03:32 PM (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 February 22, 2014 at 06:03 PM 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 #########################################################
thoga31 Posted February 22, 2014 at 03:42 PM Report #546144 Posted February 22, 2014 at 03:42 PM (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 February 22, 2014 at 03:43 PM by thoga31 Knowledge is free!
rodrigojpf Posted February 22, 2014 at 05:05 PM Author Report #546151 Posted February 22, 2014 at 05:05 PM 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 #########################################################
thoga31 Posted February 22, 2014 at 05:42 PM Report #546157 Posted February 22, 2014 at 05:42 PM (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 February 22, 2014 at 05:42 PM by thoga31 1 Report Knowledge is free!
nunopicado Posted February 22, 2014 at 06:11 PM Report #546163 Posted February 22, 2014 at 06:11 PM 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.
rodrigojpf Posted February 22, 2014 at 06:19 PM Author Report #546167 Posted February 22, 2014 at 06:19 PM 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 #########################################################
thoga31 Posted February 22, 2014 at 06:42 PM Report #546169 Posted February 22, 2014 at 06:42 PM Quanto a links, vê este tópico acerca de Pascal e este acerca de Delphi. fantástico Thoga ??? Knowledge is free!
rodrigojpf Posted February 22, 2014 at 06:47 PM Author Report #546171 Posted February 22, 2014 at 06:47 PM 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 #########################################################
nunopicado Posted February 22, 2014 at 06:52 PM Report #546173 Posted February 22, 2014 at 06:52 PM 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.
thoga31 Posted February 22, 2014 at 06:55 PM Report #546175 Posted February 22, 2014 at 06:55 PM (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 February 22, 2014 at 06:55 PM by thoga31 Knowledge is free!
rodrigojpf Posted February 22, 2014 at 07:14 PM Author Report #546178 Posted February 22, 2014 at 07:14 PM 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 #########################################################
nunopicado Posted February 22, 2014 at 07:19 PM Report #546179 Posted February 22, 2014 at 07:19 PM (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 February 22, 2014 at 07:20 PM 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.
rodrigojpf Posted February 22, 2014 at 07:25 PM Author Report #546181 Posted February 22, 2014 at 07:25 PM 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 #########################################################
nunopicado Posted February 22, 2014 at 07:33 PM Report #546183 Posted February 22, 2014 at 07:33 PM 🙂 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.
rodrigojpf Posted February 22, 2014 at 08:19 PM Author Report #546191 Posted February 22, 2014 at 08:19 PM (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 February 22, 2014 at 08:22 PM 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 #########################################################
thoga31 Posted February 22, 2014 at 08:22 PM Report #546193 Posted February 22, 2014 at 08:22 PM 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!
rodrigojpf Posted February 22, 2014 at 08:27 PM Author Report #546197 Posted February 22, 2014 at 08:27 PM 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 #########################################################
nunopicado Posted February 22, 2014 at 08:29 PM Report #546198 Posted February 22, 2014 at 08:29 PM (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 February 22, 2014 at 08:30 PM 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.
rodrigojpf Posted February 22, 2014 at 08:36 PM Author Report #546201 Posted February 22, 2014 at 08:36 PM (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 February 22, 2014 at 08:40 PM 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 #########################################################
nunopicado Posted February 22, 2014 at 08:42 PM Report #546204 Posted February 22, 2014 at 08:42 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now