Mostrando postagens com marcador Desenvolvimento. Mostrar todas as postagens
Mostrando postagens com marcador Desenvolvimento. Mostrar todas as postagens

quinta-feira, agosto 19, 2021

Por que não usa Lazarus?

Já ouvir falar na IDE Lazarus? Não? Pois então dê uma olhada https://www.lazarus-ide.org.

Lazarus é uma IDE compatível com Delphi para desenvolvimento rápido de aplicativos (RAD). Possui um grande número de componentes nativos, permitindo criar interfaces gráficas bem ricas, inclusive para Linux. Ele usa como linguagem padrão o Free Pascal, e o código-fonte pode facilmente ser portado o para o Delphi. Aliás, para quem já programa em Delphi a dificuldade será nula, pois o Lazarus é muito parecido com as versões mais antigas da famosa plataforma.

Na próxima postagem  mostraremos como montar uma aplicação de banco de dados simples, conectando-se ao MS SQL Server.

Té+

sábado, abril 21, 2018

Melhorando suas atribuições booleanas

Salve leitor.

No dia--a-dia de um desenvolvedor é muito comum associar um retorno booleano a um valor inteiro, ou outro retorno. Seria algo do tipo (exemplo em Delphi Language):

procedure QualquerCoisa();
begin
if (numPedidos > 0) then
  begin
    existePedidos := True;
  end
else
  begin
    existePedidos := False;
  end;
end;

Isso funciona? Sim, funciona. Mas e se houvesse uma forma mais simples e bem menor. E há!
Qualquer linguagem de programação moderna suporta uma comparação diretamente na atribuição, tornando o código bem mais enxuto. Veja como seria:

procedure QualquerCoisa();
begin
  existePedidos := numPedidos > 0;
end;

Simples, não é? Com o código acima a variável existePedido recebe o valor da comparação "numPedidos > 0", sem a necessidade de uso do IF.

sexta-feira, abril 06, 2012

TimeOut TSoapConnection

Salve,

Essa semana enfrentei um sério transtorno com erro de TimeOut em um Webservice consumido via SoapConnection. Depois pesquisar bastante descobri que o tempo de retorno de um Webservice é algo definido pelo Windows, e que a atualização do Internet Explorer pode alterar tal configuração. A boa notícia é que dá pra configurar isso via Delphi, invocando uma procedure disponível na unit WinInet. Bom chega de prosa e vamos à solução!

No componente TSoapConnection, procure pelo evento OnBeforeExecute, e codifique-o conforme exemplo abaixo:


procedure TForm1.soapConnBeforeExecute(
  const MethodName: String; var SOAPRequest: WideString);
  var timeOut: Integer;
begin
  timeOut := 360000;
  InternetSetOption(nil, INTERNET_OPTION_RECEIVE_TIMEOUT, pointer(@timeOut), sizeof(timeOut));
end;


Não se esqueça de adicionar na cláusula Uses a unit WinInet.

Té+

quinta-feira, setembro 02, 2010

Reiniciando as configurações do Visual Studio

Salve,

Quando se usa o Microsoft Visual Studio pela primeira vez, ele pede para que se escolha o ambiente padrão (C# Development Settings, Visual Basic Development Settings, Web Development Settings, etc), a partir daí, toda vez que ele é iniciado esse ambiente é carregado, agilizando a carga e facilitando para o desenvolvedor. É um recurso interessante, porém, não é incomum ser necessário mudar essa configuração em algum momento, e aí a coisa complica, já que MS "escondeu" essa opção. Segue abaixo como mudar tais configurações:

Vá em Tools -> Import and Export Settings... e siga conforme a seguir:


Marque a opção "Reset all settings"


Marque a opção "No, just reset settings, overwriting current settings"


Pra finalizar, selecione a configuração desejada e clique "Finish"


É isso aí gente.

Té+


terça-feira, março 03, 2009

Ranking das Linguagens 2009

Salve,

Periodicamente a TIOBE Software publica um ranking, uma lista, com a participação (rating) de mercado das linguagens mais usadas. Com relação ao Delphi, meu ganha pão, sua participação permaneceu inalterada entre 2008 e 2009, ocupando a 9º posição. Honestamente, acho uma posição muito boa, tendo em vista toda a nuvem de lambanças da Borland/Codegear/Embarcado/ETC.

Certamente essa posição é mantida pelo legado que o Delphi criou até sua versão 7. Bons tempos aqueles...

A lista pode ser vista nesse link.

Abraços

terça-feira, julho 08, 2008

Preview Personalizado com Quick Report

Salve,

Muitos não gostam dele, mas ainda acho que o QuickReport é um dos mais práticos (não disse um dos melhores) geradores de relatório para Delphi. Não precisa de nenhuma configuração especial, é levinho, funcional, e é por isso que eu ainda o utilizo ostensivamente em meus sistemas.

Pensando nos desenvolvedores que como eu usam o QReport, revolvi publicar o código e formulário de um Preview Personalizado que desenvolvi, que inclui algumas funcionalidades interessantes, como a possibilidade de se exportar o relatório para um arquivo CSV, que pode ser aberto DIRETAMENTE em planilhas eletrônicas sem a necessidades de codificações mirabolantes, e de ser totalmente em português, que ajuda muito aos usuários "monoglotas" :)



A primeira providência a se tomar é a atualização do QReport para a versão 3.5, pois a que acompanha o Delphi não é a versão mais atual do pacote, e por isso não inclui o componente QRPreview, fundamental nesse exemplo. As atualizações podem se baixadas no seguintes links: D5, D6 e D7. Após baixar o arquivo basta instalá-lo normalmente, o instalador atualizará o Delphi, não precisa se preocupar em reconfigurar nada.

Depois de instalada a atualização já pode executar a aplicação de exemplo (Delphi 7), que inclui um form com um ClientDataSet, um QuickReport e o formulário do Preview, além é claro, dos códigos utilizados na exibição do mesmo. Chamo a a atenção para o evento OnPreview do QuickReport, pois é onde reside a codificação que exibe o preview.

Importante: é necessário adicionar a Unit QRPrntr na unit do relatório.

Até +

sexta-feira, junho 06, 2008

Erro ao instanciar SqlDataReader

Salve,

Faz algum tempo que venho ensaiando ASP.NET (usando C#, obvio), mas esta semana mergulhei mesmo nesse negócio.
Na que na empresa em que trabalho está se cogitando a mudança de tecnologia - na verdade os Analistas estão querendo, já que para a empresa isso é indiferente, o que vale é o resultado - e nosso supervisor sugeriu que nós desenvolvessemos algo real, para que tenhamos argumentos para convencer nosso gerente (sic). Tem alguma coisa na contra-mão, não tem não? Mas deixa isso pra lá.

Pois bem, comecei do básico, e nesse caso o básico é o acesso e a manipulação de dados no SQL Server 2000, e aí veio aquele monte de dúvidas, sobre qual arquitetura usar, sobre qual meio de acesso usar (o ADO.NET oferece vários) , sendo que para a solução que eu precisava achei que o SqlDataReader seria interessante, já que eu precisava apenas recuperar um registro, e ele é bem levinho e simples. Porém chegou um momento, onde o eu recebia uma mensagem muito impertinente, que me avisava que eu já tinha um DataReader aberto, mas eu não tinha, ou melhor eu tinha, mas eram SqlDataReader diferentes! Porque então recebia a mensagem? Simples: eu estou usando o pattern Singleton para me retornar um objeto SqlConnection, ou seja, uma mesma conexão para os dois e eu NÃO POSSO ter dois SqlDataReader abertos ao mesmo tempo em uma mesma conexão. Mas como irritou aquela mensagem! :)

Esse é um problema comum de quando estamos aprendendo uma nova tecnologia, mas está sendo muito bacana essa nova "empreitada".

Abraços e até+

quarta-feira, setembro 26, 2007

Versões mais usadas de Delphi

Salve Pessoal,

Há alguns dias estava no ar no meu blog uma enquete sobre a versão mais utilizada do Delphi, que foi submetida à votação de desenvolvedores de todo o país, que participam de comunidades e foruns relacionados ao Delphi. O resultado está a seguir, e confesso que não fiquei surpreso.
Abraços.

Versão Utilização
Delphi 7 57,35%
Delphi 2006 16,18%
Delphi 5/6 8,82%
Delphi 2007 7,35%
Outra versão 5,88%
Delphi 2005 4,41%

terça-feira, abril 10, 2007

Será que já não vi esse filme?

Hoje, em uma lista de discussão sobre Delphi onde participam alguns funcionários da CodeGear, perguntei sobre o futuro dos Turbos, a sua linha de ferramentas populares e, como já imaginava, a resposta que tive não foi das mais animadoras, pois fiquei sabendo de que eles só serão atualizados depois do lançamento do BDS 2007 (codinome Highlander).
No fundo compreendo que a CodeGear tenha um interesse maior em seu "top de linha", pois, pra se ter uma idéia, o BDS 2006 Professional (D2006, C++Builder 2006 + C# Builder 2006) para novos usuários (a versão mais barata) custa hoje, em promoção, R$ 2.452,50, enquanto que qualquer um dos Turbos sai por R$ 1.200,00, ou seja, metade do preço. Será que já não vimos esse filme com o Kylix (alguém se lembra dele)?
Honestamente, acho que a CodeGear deveria focar mais nessa linha, afinal, quantos de nós desenvolvemos comercialmente em mais de uma linguagem? Eu pessoalmente, uso o Delphi e comecei agora a "brincar" com o C#, então pra quê eu quero Delphi, C++ e C# no mesmo pacote?
Tudo bem, se o preço fosse acessível como o do Visual Studio, que custa entre R$ 1.200,00 e R$ 1.700,00 e vem com IDE para C# e VB.NET. E com todo respeito a CodeGear, o VS dá um banho em termos de produtividade.

quinta-feira, março 22, 2007

Quanto cobrar pelo seu sistema?

Hoje, em uma das listas de discussão que assino, ocorreu um debate ferrenho sobre quanto e como cobrar por um sistema. Lá eu vi de tudo; há quem cobre por hora, por licença, por módulo, por pacote, etc.

O preço depende, é claro, da complexidade do sistema, mas discrepância é que não faltou, sendo que uns cobram R$100,00 por sistema e R$ 0,00 de manutenção (acreditam nisso?), outros cobram R$1.000,00 de implantação mais R$ 150,00 por licença mensalmente, o que é um valor no mínimo razoável. Há aqueles que cobram exageros, que acho melhor nem comentar.

Um texto muito bom, publicado pelo colega José Carlos Macoratti, pode ser lido aqui. Neste texto ele faz uma explanação séria e muito coerente sobre tema, vale a pena ler.

terça-feira, janeiro 23, 2007

Ranking das Linguagens mais usadas

Salve PessoALL,

Para aqueles que são desenvolvedores é sempre importante saber a quantas andam as linguagens de programação, assim é possível decidir em quais delas vale a pena investir estudos.

Baseado em pesquisas nos mecanismos de busca e atualizado mensalmente, o TPC Index é uma espécie de índice de popularidade das linguagens de programação.


Anotem o link aí e fiquem de olho: http://www.tiobe.com/tpci.htm

Abraços