Começando a programar em c , duvidas e curiosidades
20/10/2006
0
Fiz um pequeno mediaplayer com playlist em interbase+dbxpress e o componenete Tmediaplayer, demorei 2 dias pra me acostumar, e isso me despertou umas curiosidades. Como eu programo em Delphi a muito tempo, por mais que eu queira, é inevitavel surgirem comparações, embora esse não seja meu objetivo.
curiosidades:
1) Tanto o Delphi como o C++ Builder tem a VCL, mas eu li num outro tópico que a VCL foi toda escrita em object pascal e que o c++ builder acessa ela. A VCL do c++ builder não foi escrita em c++? como poderia ser escrita em object pascal ???
2) Eu conheço o básico de c/c++ que aprendi na escola, embora na escola eu tenha treinado com o compilador turbo c++ 3.0 que tambem é da borland e não é de c, é c++. O fato de o c++ ser uma evolução do c significa que ele suporta os comandos/funções antigos do c? ou c e c++ são duas linguagens completamente diferentes? posso usar compilador de c++ pra fazer programas estritamente em c?
3) para acessar ou exibir num showmessage um item de uma lista eu usei:
FileListBox1->Items->operator [](j)
só consegui fazer assim por causa da ajuda do ´code completion´, se não eu estaria até hoje batendo cabeça. No delphi eu faria assim:
FileListBox1.Items[j]
O que é e como usa o tal do operator que eu nunca vi isso em nenhum livro de C/c++ que eu tenha visto? tá certo o jeito que eu fiz? tem algum jeito mais parecido com Delphi?
4) Ao rodar o programa dum micro sem o borland c++ builder instalado, ele pediu a cc3270.dll. Tem como ele não pedir essa dll?
Valew pela ajuda!
Vitor Rubio
Posts
23/10/2006
Rodc
A VCL do C++ Builder é em pascal. Acredite!!! Tem embutido no BCB um compilador de pascal. Quando você vai fazer um novo componente em BCB, você pode fazer o componente tanto em C++ como em Pascal. Ele compila os dois. Possivelmente a Borland ficou com preguiça de refazer todo o código da VCL para C++.
[quote:4c8b09e667=´vitor^_^´]2) O fato de o c++ ser uma evolução do c significa que ele suporta os comandos/funções antigos do c? ou c e c++ são duas linguagens completamente diferentes? posso usar compilador de c++ pra fazer programas estritamente em c?
[/quote:4c8b09e667]
Os comandos de C continuam sendo aceitos em C++. Mas é claro que em uma aplicação visual você não vai fazer um GetCh(), vai usar um InputBox(). E nem em uma aplicação console (DOS) vai fazer um ShowMessage(), vai usar o printf().
Quando vai criar uma nova aplicação console o BCB lhe pergunta se você quer fazer uma aplicação em C Ansi ou em C++.
[quote:4c8b09e667=´vitor^_^´]3) para acessar ou exibir num showmessage um item de uma lista eu usei:
FileListBox1->Items->operator [](j)
só consegui fazer assim por causa da ajuda do ´code completion´, se não eu estaria até hoje batendo cabeça. No delphi eu faria assim:
FileListBox1.Items[j]
O que é e como usa o tal do operator que eu nunca vi isso em nenhum livro de C/c++ que eu tenha visto? tá certo o jeito que eu fiz? tem algum jeito mais parecido com Delphi?[/quote:4c8b09e667]
O comando certo para pegar o texto de um item no listbox é assim:
FileListBox1->Items->Strings[j];
Se não me engano, no Delphi também é assim! A forma que você fez também funciona. Na verdade, o evento Strings[j] chama o método que você usou.
[quote:4c8b09e667=´vitor^_^´]4) Ao rodar o programa dum micro sem o borland c++ builder instalado, ele pediu a cc3270.dll. Tem como ele não pedir essa dll?[/quote:4c8b09e667]
No Delphi o executável já sai pronto para enviar para o cliente. No C++ não! Para enviar ao cliente você precisa acessar a guia ´Compiler´ das opções do projeto e clicar no botão ´Release´. E na guia ´Packages´ desmarque a opção ´Build with run time packages´. Vale lembrar que com isto, você não conseguirá debugar o programa.
24/10/2006
Vitor Rubio
Isso quer dizer que eu posso pegar uma classe feita em pascal e criar um descendente pra ela em c++ e vice versa?
quanto ao compilador, bom, na pasta Borland\BDS\4.0\Bin do c++ builder 2006 tem o programa bcc32.exe que eu acredito que seja o compildor de C++. Mas não tem um dcc32.exe igual no delphi. Isso quer dizer que o proprio bcc32.exe compila pascal internamente?
24/10/2006
Rodc
Usar C++ do Delphi eu não sei se é possível. Talvêz neste nova versão que os dois estão unidos em apenas uma IDE funcione. Mas esta eu passo para os universitários...
24/10/2006
Rodc
Lembrei agora de um site que explica BCB bem legal... www.dicasbcb.com.br. Não tira as dúvidas mais obscuras mas tem um passo-a-passo bem legal de ler (e aprender). Mas pode continuar perguntando que o que eu souber eu compartilho.
Abraços,
13/12/2007
Docdoc
No delphi as classes são criadas de forma distinta das de C++, tem a ver com a tabela de funções virtuais, mas tá claro que vc poderá usar as classes descendentes de TObject em C++ da Borland, o que não significa o mesmo para outro compilador C++.
14/12/2007
Massuda
14/12/2007
Vitor Rubio
1) Para quem está acostumado com delphi, encontrará um ambiiente familiar no c++ builder, não no que ediz respeito à sintaxe e semanntica da linguagem, mas a semelhança está sim nos nomes de classees, bibliotecas e funcoes/métodos
2) Creio que tudo o que você faria num compilador c++ pra windows 32 de uma empresa concorrente, tipo o visual c++, você também poderia fazer/compilar em borland c++, desde que só usasse código c++ nativo e nenhuma biblioteca de terceiros (a não ser que sejam suas biblioptecas pessoais)
Clique aqui para fazer login e interagir na Comunidade :)