Ir para conteúdo
Fórum Script Brasil

ramon

Membros
  • Total de itens

    1.354
  • Registro em

  • Última visita

Tudo que ramon postou

  1. Bom existe uma discusão enorme sobre este assunto em varios site cujo eu tenho um artigo que eu vi na net sobre o assunto. Sem dúvida nenhuma quando se fala de programação em ambiente Visual, duas das ferramentas mais conhecidas (e principalmente reconhecidas pelo seu ótimo desempenho) são o Microsoft Visual Basic e o Borland Delphi. É claro que como qualquer outro tema, a comparação entre opostos é natural, afinal de contas, qual deles pode ser considerado o melhor, ou ainda, qual deles eu devo utilizar para desenvolver aplicações ? Este artigo não serve de maneira alguma para explicitar qual é a melhor das duas ferramentas, mesmo porque esta decisão cabe ao desenvolvedor.A função deste artigo é a de avaliar riscos e vantagens em adotar (ou não) uma das ferramentas (lembre-se que nos exemplos sempre serão comparados o Visual Basic 6.0 com o Delphi 6). O conceito das duas ferramentas é basicamente a mesma, ou seja, possuir uma camada de acesso as APIs do Windows para simular controles e componentes do Windows que seriam acessados somente via programação (tenha como exemplo os Common Controls), mas ainda oferecer ao desenvolvedor um ambiente flexível que lhe permita criar interfaces gráficas de qualidade e que acima de tudo, respondam as expectativas com respostas rápidas. Vamos analisar neste artigo, um processo que pode ser considerado um dos mais básicos no mundo da programação. Iremos carregar um controle listbox com o nome de todas as fontes que temos instalado no computador. Parece simples (e realmente é), mas somente por este pequeno exemplo você vai notar diferenças sensíveis de como uma ferramenta trabalha, e quais são suas vantagens/desvantagens em relação à outra. Aplicação no Delphi Código para carregar o listbox com as fontes do sistema no Delphi procedure TForm1.FormShow(Sender: TObject); begin label1.Caption := 'Inicio: ' + TimeToStr(Time); listbox1.Items := screen.Fonts; label3.Caption := IntToStr(listbox1.Count) + ' fontes carregadas'; label4.caption := Application.ExeName; label2.Caption := 'Fim: ' + TimeToStr(Time); end; Aplicação no Visual Basic Código para carregar o listbox com as fontes do sistema no Visual Basic Private Sub Form_Load() Dim I As Integer Label1.Caption = "Início: " & Format(Now, "hh:mm:ss") For I = 0 To Screen.FontCount - 1 List1.AddItem Screen.Fonts(I) Next Label3.Caption = List1.ListCount - 1 & " fontes carregadas" Label4.Caption = App.Path & "\" & App.EXEName & ".exe" Label2.Caption = "Fim: " & Format(Now, "hh:mm:ss") End Sub Bom, se você analisar superficialmente o Delphi fez o mesmo processo sem necessitar de tanto código e nem ao mesmo requerer a criação de uma variável (que já não é o caso do Visual Basic, que requer um integer para passar por um Loop dentro do array de fontes do sistema). Vamos ser mais detalhistas agora, tudo bem, usando o comando para definir que a collection (TStrings do Delphi) de items do Listbox será a collection de items contidas no objeto screen, pronto resolvemos o problema em uma linha de código. Porém este código não enriquece o desenvolvedor em nada, pois ele simplesmente setou uma propriedade, não houve um carregamento da lista. Isto é bom, realmente poupa trabalho, mas ao mesmo tempo, não faz com que você seu avanço no aprendizado da ferramenta seja mais lento.O grande problema do Delphi é sua curva de aprendizado, pois a sua linguagem de programação é de longe, bem mais complexa que o Basic. Seja pelos terminadores de código, ou pela sua forte tipagem de dados, as vezes, certos trabalhos que no Delphi seriam executados facilmente não ocorrem da mesma maneira no Delphi. Vejamos, no Visual Basic ao escrever a rotina dentro de Form_Load(), eu simplesmente espero que meu programa faça o que desejei, ao incluir uma função ou sub e utilizar em meu programa, sei perfeitamente que o programa funcionará. No Delphi, é necessário que seu procedimento/função seja sempre declarado com um identificador além da declaração da função propriamente dita (quando se dá dois cliques no form em ambos (Visual Basic ou Delphi) a ferramenta já constrói seu evento default, mesmo que vazio, porém no Delphi a declaração do evento também será feita). Por isto no código do Form feito no Delphi, facilmente a linha procedure FormShow(Sender: TObject); será encontrada no começo do form (onde o Type do Form é criado). Além disso, veja que as Labels do Visual Basic estão prontas para aceitar o valor passado, sem necessariamente solicitar que haja uma conversão. No Delphi entretanto, uma conversão de tipo de dados é necessário (IntToStr,TimeToStr,etc...), tem seu lado bom, pois você deve ressaltar todo tipo de dados destino, porém imagine fazer isto tela à tela, rotina à rotina de um sistema complexo. Outro resultado sensível aos olhos é sem dúvida o tamanho do executável final gerado, enquanto o Visual Basic compilou um programa sem usar nenhum activex ou referencia ao projeto, tendo um executável final de 20KB (ok, sabemos que runtimes serão necessários), o Delphi gerou um executável de 375KB para este programa que não precisar de runtime nenhum é claro. O grande problema do Delphi realmente está em sua portabilidade. Por utilizar Pascal como linguagem (por favor, não me entendam mal) o emprego desta linguagem em outras ferramentas (mesmo que não sejam Microsoft) se torna difícil. Desde ferramentas de bancos de dados, planilhas, editores de texto à emuladores de terminal 3270 para mainframe, o Basic é amplamente divulgado e utilizado pois é de fácil assimilação. Além deste problema, o Delphi tem uma característica muito incomum, quando se pense em uma ferramenta de desenvolvimento.O Help do Delphi não ajuda tanto quanto se imagina ! Na verdade, é mais fácil você obter um arquivo de ajuda compilado (com 800 dicas de Delphi) para ter em mãos quando achar necessário, pois se você não tiver acesso à Internet para fazer pesquisas de código fonte ou acabar com uma determinada dúvida, desculpe, mas no arquivo de ajuda é que você não vai encontrar a resposta mesmo. Apesar da riqueza da linguagem Pascal, seu emprego em ferramentas, limita-se muito ao ambiente do Delphi, e nem tudo nesta vida se resolve com um executável.Por exemplo: - Você precisa fazer uma rotina interna usando módulos do Access para resolver um problema de sua empresa, mas não pode usar ferramentas compiladas, ou pior ainda, não quer ficar distribuindo um executável não homologado pela Rede e ainda por cima é fera em Pascal, mas uma negação em Basic (programa em VBA então nem pensar), o que fazer ? Como disse, este artigo não pretende lhe mostrar qual é a melhor ferramenta, mas sim, elucidar pontos que dificilmente são abordados, cabe a você se necessário pesquisar mais para entender melhor as diferenças. Tenha em mente que as duas ferramentas poderão sem dúvida alguma, fazer a mesma coisa, chegar no mesmo resultado, porém algumas vezes com mais ou menos código.
  2. ramon

    Ftp Do Bol

    O geocities da para fazer pelo programa de ftp exemplo no http://br.geocities.com/ configuracao Host: ftp.br.geocities.com login: ramon senha: seilá falou!
  3. ramon

    Barra De Rolagem

    Aqui vai um exemplo <iframe src='publicidade.htm' width='470' height='62' frameborder='0' border='0' marginheight='0' marginwidth='0' scrolling='yes'></iframe></p> É isso que você quer
  4. Cara tire as aspas e use ' Pois se não tudo que tiver embaixo do iframe não aparecera corretamente <DIV STYLE="height:81px"></DIV> <iframe src='blog.htm' marginwidth='0' marginheight='0' hspace='0' vspace='0' frameborder='0' width='296' height='172' scrolling='auto'></iframe> falou
  5. ramon

    Ftp Do Bol

    pelo que eu sei o BOL so permite ftp pelo site deles. você pode winzipar todas sua paginas arquivos figuras e etc e enviar tudo de uma vez e depois la mesmo no servidor ele descompacta o que é uma boa falou
  6. Tem sim Pega aqui http://download.microsoft.com/msdownload/s...ce/vb5ccein.exe Esta versão é gratis porem não possui o criador de executaveis e não possui help e os controles são limitados O help você pode consiguir aqui no site do Graymalkin não me lembro o endereço Coloca aeh Graymalkin Tambem você pode consiguir facilmente pela net dlls e ocx para adicionar controles Bom espero que ajude
  7. Valeu pela ajuda Graymalkin Vou ver então se acho na net esta tabela do códigos ASCII
  8. É isso aeh mesmo Valeu!
  9. Valeu! Aonde eu obtenho o significado destes codigos keyascii? Eu gostari de fazer pois o meu programa ta executando em 640 x 480 e sempre que o ussuario apertar crt esc vai ter uma surpresa desagradavel claro se ele estiver usando 800x600
  10. Teclas Gostaria de exemplos: Desativar o a teclas crtl + esc Ativar a tecla Enter para abrir um form
  11. tenho uma listview com 3 colunas A coluna 1 e 2 contem itens a coluna 3 ta vazia Gostaria de saber como adicionar um iten na coluna 3 quando houver um clique sobre a coluna 3 Se eu clicar em um iten que esta na coluna 1 ou na coluna 2, a coluna 3 tera que comtinuar vazia Agora se eu clicar no iten da coluna 3 que na verdade contem um espaco em branco então este adicionara um iten OBS: estou usando a propiedade FullRowSelect Teria que fazer um sistema de coordenadas da listview ou não? Tem como fazer
  12. ramon

    Organizar 9 Rodadas

    Agora sim funcionou do jeito que eu queria Valeu aragorn13 Então eu devo estar errando na organização dos times. Bom se funcionou com 4 times terá que funcionar com 10 times. Agora eu vou procurar aonde que eu to errando no meu projeto que contem 10 times Brigadão aragorn13
  13. ramon

    Organizar 9 Rodadas

    Mas no calendario do flamengo no 2° jogo vai ficar FLAMENGO x flamengo tambem dara erro
  14. ramon

    Organizar 9 Rodadas

    Sim aragorn13 seu código deu certo mas Veja só pessoal Resolvi diminuir os times para ficar menor São 4 times cada um jogara com os 3 Private Sub Command1_Click() Dim Times(10, 10) As String 'Calendario gremio Times(0, 0) = "GREMIO" Times(0, 1) = "juventude" Times(0, 2) = "coritiba" Times(0, 3) = "flamengo" 'Calendario flamengo Times(1, 0) = "FLAMENGO" Times(1, 1) = "juventude" Times(1, 2) = "coritiba" Times(1, 3) = "gremio" 'Calendario coritiba Times(2, 0) = "CORITIBA" Times(2, 1) = "flamengo" Times(2, 2) = "gremio" Times(2, 3) = "juventude" 'Calendario juventude Times(3, 0) = "JUVENTUDE" Times(3, 1) = "gremio" Times(3, 2) = "flamengo" Times(3, 3) = "coritiba" For A = 0 To 3 For B = 1 To 3 Debug.Print Times(A, 0) + " X " + Times(A, B) Next B Debug.Print "****************" Next A End Sub Este codigo resultara em GREMIO X juventude GREMIO X coritiba GREMIO X flamengo **************** FLAMENGO X juventude FLAMENGO X coritiba FLAMENGO X gremio **************** CORITIBA X flamengo CORITIBA X gremio CORITIBA X juventude **************** JUVENTUDE X gremio JUVENTUDE X flamengo JUVENTUDE X coritiba **************** O calendario do flamengo tem ....1°jogo deles FLAMENGO X juventude Porem se você visualizar o calendari do juventude o 1° jogo dele será JUVENTUDE X gremio Ai que to quebrando a cabeca Eu to tentando organizar os jogos na matriz antes que eles aparecam? E ai será que tem solução??? Aonde sera que eu to errando?
  15. ramon

    Organizar 9 Rodadas

    Ieeeeeeee até o Graymalkin respondeu antes Vou olhar agora, mas não sei se vai dar, terei que alterar algumas coisas pelo menos eu acho
  16. ramon

    Organizar 9 Rodadas

    Beleza aragorn13 Eu tava postando e você postou antes que eu postase Vou olhar o seu codigo, porem não sei se vai dar de uma olhada no meu tópico acima
  17. ramon

    Organizar 9 Rodadas

    Exatamente Fiz um calendario onde eu quero que apareca somente os 9 jogos que o time vai jogar e não todos 45 Mas porem quero armazenar os 45 jogo em uma matriz Tipo escolho Gremio vai aparecer somente 9 jogos para este time escolho Corinthians vai aparecer somente 9 jogos para este Então ficaria uma matriz bidimensional Calendario(9, 8) Onde no 1 indice armazenaria os times e no segundo os adversarios Porem surge a duvida de como fazer este sitema para organizar as rodadas de cada time No calendario do gremio Calendario(0, 1) no indice 0 Gremio na segunda coluna Santos então Gremio x Santos Vou visualizar o calendario do Santos calendario(4, 0) Santos x Gremio porem o jogo não confere pois no calendario do gremio esta Gremio x santos gremio joga em casa no calendario do santos esta santos x gremio santos joga em casa Teria que estar neste calendario o santo jogando fora Ai que ta a minha duvida? Bom aproveitando isto então resolvi fazer turno e returno porem ai complicou mais ainda a minha cuca Ai seria 90 jogos 18 rodadas alguém bom em matematica poderia me ajudar?
  18. To numa broca aqui Não to conseguindo organizar uma rodada de jogos para colocar num form Tipo tenho 10 nomes de clubes alocado numa matriz, porem não to conseguindo fazer um esquema para criar as rodadas 1 Gremio 2 Inter 3 São Paulo 4 Palmeiras 5 Corinthians 6 Bahia 7 Santos 8 Flamengo 9 Coritiba 10 Juventude Cada time jogara 9 jogos Teremos 5 rodadas Resultando em 45 jogos 1x10 2x9 3x8 4x7 5x6 Bom minha duvida ta em como criar esta rodada? alguém tem uma ideia ou exemplo simples?
  19. ramon

    Flash,gifs

    Para flash você pode usar o componente ShockwaveFlash Exemplo ShockwaveFlash1.Movie = "c:\meuflash.swf"
  20. ramon

    Pci Card

    se form moden on-board da pcchips tipo HSP 56 ocorreu o mesmo caso comigo Eu comprei o pc veio com windows xp tirei fora esta porcaria e instalei o windows 98 se porem ocorria um erro na porta que não era possivel encontrar o modem etc... o mesmo caso seu então instalei o windows me beleza aceitou e o modem funcionou então eu acho que o windows 98 não tem os drivers necessarios para funcionar com os driveres do cd de instalacao
  21. ramon

    Pente De Memoria

    aproveitando o tópico eu tenho um placa pcchips que tem 2 soquetes patra ddr e 2 para dimm tenho um pente de 128 mb no ddr peguei do meu pc velho uma pc 100 dim e coloquei porem o meu pc ficava travado nem seguer abria o setup alguém sabe me dizer o porque sera que dando conflito
  22. ramon

    Não Perder O Foco

    Resolver até resolve Mas tem algum jeito de não mudar a cor do iten selecionado?
×
×
  • Criar Novo...