Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens

Como escolher um teclado mecânico bom para trabalhar como programador?

 Escolher um teclado mecânico ideal para trabalhar como programador envolve considerar uma série de fatores que impactam o conforto, a produtividade e a durabilidade. Aqui estão algumas dicas para ajudar na escolha:

1. Tipo de Switches (Mecanismos das Teclas)

Os switches determinam o feeling ao digitar e são uma das partes mais importantes do teclado mecânico. Os três principais tipos são:

  • Táteis (Tactile): Oferecem um feedback tátil leve no ponto de atuação (ex.: Cherry MX Brown).
  • Clicky: Fazem barulho ao clicar e oferecem feedback tátil (ex.: Cherry MX Blue).
  • Lineares: Movem-se suavemente sem feedback tátil ou som (ex.: Cherry MX Red).
    Para programação, switches táteis são geralmente preferidos por proporcionar uma sensação clara ao digitar sem serem excessivamente barulhentos.

2. Conforto e Ergonomia

  • Procure teclados com apoio de pulso integrado ou compatível.
  • Modelos ergonômicos (curvados ou divididos) podem ajudar a reduzir fadiga em longas sessões de codificação.
  • Teste a altura do teclado e o layout das teclas para verificar se são confortáveis para você.

3. Tamanho do Teclado

  • Full Size: Inclui teclado numérico. Ideal se você também lida com números.
  • Tenkeyless (TKL): Sem teclado numérico, economiza espaço e é mais portátil.
  • 60% ou 75%: Mais compactos, removem teclas extras (ex.: F-keys, Home, etc.). São ótimos para setups minimalistas, mas pode ser necessário configurar macros.

4. Qualidade de Construção

  • Prefira teclados com estrutura metálica ou de plástico de alta qualidade para maior durabilidade.
  • Keycaps em PBT são mais resistentes ao desgaste do que os de ABS.

5. Funcionalidades Extras

  • Programação de Macros: Facilita atalhos e comandos personalizados.
  • Teclas Iluminadas: Útil para quem trabalha em ambientes escuros. (Luz branca ou RGB ajustável).
  • Conexão: Escolha entre teclados com fio (melhor resposta) ou sem fio (mais organizado).

6. Orçamento

Defina o quanto pretende investir. Marcas como Keychron, Ducky, Logitech, Razer e Corsair têm opções para diferentes faixas de preço.


7. Teste Pessoal (Se Possível)

Se puder, vá a uma loja e teste diferentes switches e modelos para sentir qual combina mais com o seu estilo de digitação.


8. Comunidade e Reviews

Consulte fóruns e análises no YouTube ou Reddit (ex.: r/MechanicalKeyboards) para obter opiniões de programadores que usam teclados mecânicos diariamente.

Algumas recomendações populares para programadores incluem:

  • Keychron K2/K4: Compacto, sem fio, e ótimo custo-benefício.
  • Logitech G Pro X: Personalizável e robusto.
  • Ducky One 2 Mini: Compacto e bem construído.
  • Anne Pro 2: Minimalista com boa resposta.

Dicas para como organizar o desenvolvimento de sistemas de informática

 Aqui estão algumas dicas para organizar o desenvolvimento de um sistema de informática:

  • Defina os requisitos do sistema: Antes de começar a codificar, é importante ter uma compreensão clara dos requisitos do sistema e do que ele deve fazer. Isso inclui definir o escopo do sistema, identificar os usuários alvos e estabelecer os objetivos do sistema.
  • Crie um plano de projeto: Depois de definir os requisitos do sistema, é importante criar um plano de projeto detalhado que inclua uma lista de tarefas, um cronograma e um orçamento. Isso ajudará a garantir que o projeto progrida de maneira organizada e eficiente.
  • Use uma ferramenta de gerenciamento de projeto: Existem muitas ferramentas de gerenciamento de projeto disponíveis que podem ajudá-lo a organizar o desenvolvimento do sistema. Elas incluem o Trello, o Asana e o JIRA.
  • Tenha um processo de controle de versão: É importante ter um processo de controle de versão para gerenciar as alterações no código do sistema. Isso inclui usar uma ferramenta de controle de versão, como o Git, e estabelecer uma política de ramificação e mesclagem.
  • Faça testes: É importante ter um processo de teste bem estabelecido para garantir que o sistema esteja funcionando corretamente. Isso inclui criar casos de teste, executar testes automatizados e realizar testes manualUse uma metodologia ágil: A metodologia ágil é uma abordagem iterativa e incremental para o desenvolvimento de software que se concentra em entregar valor rapidamente e se adaptar a mudanças. Usar uma metodologia ágil, como o Scrum, pode ajudar a garantir que o sistema evolua de maneira organizada e eficiente.
  • Tenha um processo de documentação: É importante ter um processo de documentação para garantir que todos os aspectos do sistema sejam documentados adequadamente. Isso inclui criar documentação técnica, manuais do usuário e guias de referência.
  • Faça revisões de código: As revisões de código são um processo em que o código é revisado por outros membros da equipe para garantir que ele esteja de acordo com os padrões de qualidade e segue as melhores práticas. Realizar revisões de código pode ajudar a garantir que o sistema esteja bem projetado e fácil de manter.

Seguir essas dicas pode ajudar a garantir que o desenvolvimento do sistema seja organizado e eficiente.

Lazarus docked desktop

 Link que explica como configurar o Lazarus para funcionar da forma docked.

https://github.com/FlKo/LazarusDockedDesktops

PHP Fundamentals Cheat Sheet by mkpeacock

Cheat sheet com vários comandos PHP.


Fonte: https://www.cheatography.com/mkpeacock/cheat-sheets/php-fundamentals/

Expressão regular Cheat Sheet

Expressão regular Cheat Sheet
Expressão regular Cheat Sheet

HTML 5 Cheat sheet

Infográfico com as tags do HTML 5.

HTML 5 Cheat sheet
HTML 5 Cheat sheet

Links sobre Delphi

Geral
Freebyte's Guide to freeDelphi programming
Página em inglês com muito conteúdo sobre Delphi.
Ela é um índice para vários outros sites sobre Delphi.

Componentes
ZeosDB
Componente para conectar em bancos de dados. É open source e aceita vários bancos de dados.

Project JEDI
Vários componentes visuais e não visuais para Delphi.

Ferramentas
CnPack
É um plugin para a IDE do Delphi que adiciona várias funcionalidades, auxiliando na programação.
O CnPack possui alguns projetos além do plugin para a IDE, para fazer o download do plugin acesse: http://www.cnpack.org/showdetail.php?id=797&lang=en. No fim da página tem  o link de download.

Funções para trabalhar com strings no Delphi

Esou postando uma unit que achei no documento de 900 dicas para Delphi.
Essa unit possui várias funções para tratar strings:

Resposta do problema 19 - Counting Sundays

O objetivo desse problema é somar quantos domingos aconteceram no primeiro dia do mês entre as datas: 01/01/1901 e 31/12/2000 usando apenas as informações passadas que são:



  • 01/01/1900 foi uma segunda-feira
  • 30 dias tem setembro, abril, junho e novembro
  • todos os outros meses tem 31 exceto fevereiro que pode ter 28 ou 29 (quando for bissexto)
  • o ano bissexto ocorre em todos os anos divisíveis por 4 exceto na virada do século, a menos que esse ano seja divisível por 400


Se fosse para usar as bibliotecas de data de qualquer linguagem esse problema seria muito simples, mas o objetivo é fazer com que o programador crie uma lógica apenas com as informações passadas.

You are given the following information, but you may prefer to do some research for yourself.

  • 1 Jan 1900 was a Monday.
  • Thirty days has September,
  • April, June and November.
  • All the rest have thirty-one,
  • Saving February alone,
  • Which has twenty-eight, rain or shine.
  • And on leap years, twenty-nine.
  • A leap year occurs on any year evenly divisible by 4, but not on a century unless it is divisible by 400.
How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
Link para a pergunta: https://projecteuler.net/problem=19 



Criei o seguinte script para resolver o problema;


Primeiramente criei uma função que retorna True se o ano for bissexto e False se não for.

Depois eu criei a função que calcula o próximo dia da semana (se o dia for 7 o próximo tem que ser 1, pois a semana começa novamente). Eu considerei que segunda-feira foi o dia 1, pois no enunciado do problema fala que 01/01/1900 foi uma segunda-feira e é a partir dessa data que o programa inicia.

Depois disse fiz vários "for's" que passam pelos anos, meses e dias do período especificado.

O script começa a contar a partir de 01/01/1900, mas só pode considerar na soma de domingos no início do mês a partir de 01/01/1901.



Algumas outras soluções que encontrei no fórum:



Usuário: emandres

import datetime
count = 0
for y in range(1901,2001):
    for m in range(1,13):
        if datetime.datetime(y,m,1).weekday() == 6:
            count += 1
print count


Usuário: nmadnani


numdays ={1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
startday = 2
count = 0
for m in range(1,13):
    currday = startday
    for curryear in xrange(1901,2001):
        leap = False
        prevyear = curryear-1
        if prevyear % 100 == 0 and prevyear % 400 == 0:
            leap = True
        elif prevyear % 4 == 0:
            leap = True

        if leap:
            currday = (currday + 2) % 7
        else:
            currday = (currday + 1) % 7

        if currday == 0:
            count += 1
    tmp = numdays[m] + 1
    startday = (startday + (tmp - ((tmp/7)*7)) - 1) % 7
 
print count

Resposta do problema 050 - Consecutive prime sum

Resolvi esse problema utilizando força-bruta, demorou 692 segundos.
O objeivo desse problema é encontrar o número primo abaixo de 1000000 que seja originado da maior sequência de números primos.
Consecutive prime sum

Problem 50

The prime 41, can be written as the sum of six consecutive primes:

41 = 2 + 3 + 5 + 7 + 11 + 13

This is the longest sum of consecutive primes that adds to a prime below one-hundred.

The longest sum of consecutive primes below one-thousand that adds to a prime, contains 21 terms, and is equal to 953.

Which prime, below one-million, can be written as the sum of the most consecutive primes?
Link para a pergunta: https://projecteuler.net/problem=50



Criei o seguinte script para resolver o problema:

def is_prime(n):
 if n == 2 or n == 3: return True
 if n < 2 or n%2 == 0: return False
 if n < 9: return True
 if n%3 == 0: return False
 r = int(n**0.5)
 f = 5
 while f <= r:
  #print('\t',f)
  if n%f == 0: return False
  if n%(f+2) == 0: return False
  f +=6
 return True

# lista que armazena todos os números primos até o limite desejado que no caso do problema é < 1000000
lista_primos = []

# número máximo pra verificar, no caso do problema é 1000000
limite = 1000000

# preenche a lista lista_primos com os números primos até o valor da variável limite
for x in range(1, limite):
 if is_prime(x):
  lista_primos.append(x)

def maior_numero_soma_seq(lista):
 i = 0
 lista.reverse()
 maior_numero_lista = max(lista)
 maior_sequencia = 0
 maior_numero = 0
 soma = []
 tamanho_lista = len(lista)
 while i < len(lista):
  j = i + 1
  soma.clear()
  soma.append(lista[i])
  while j < len(lista):
   if lista[j] < lista[i]:
    soma.append(lista[j])
    # fiz isso para que se o sum da lista soma for maior que o maior numero da lista
    # ele já passa e muda o indice i do while, ou seja passa para o próximo número
    # de início
    if sum(soma) > maior_numero_lista:
     j = len(lista) + 1
    else:
     if sum(soma) in lista:
      if len(soma) > maior_sequencia:
       maior_sequencia = len(soma)
       maior_numero = sum(soma)
       print("Maior sequencia = ",maior_sequencia)       
       print(soma, "=" , maior_numero)
       print("Indice i =", i,"de", tamanho_lista, "- % analisados =", (i/tamanho_lista)*100,"%")
       print("------------------------------------")
   j += 1
  i += 1
 return maior_numero

print("Resposta =", maior_numero_soma_seq(lista_primos))


Resposta (answer) - Selecione a linha abaixo para ver a resposta

997651


O script funciona da seguinte forma: crio uma lista com todos os números primos, depois vou analisando um a um com todas as somas possíveis (a soma tem que ser um número primo na lista).

Coloquei uns "print" para ver a evolução do processamento.

A medida que vai processando vai ficando cada vez mais lento, futuramente pretendo otimizar esse script.



Outras respostas postadas por outros usuários:

Usuário: dpinchbe

def primesieve(n):
    '''Sieve of Eratosthenes as suggested in Hans Riesel's Book'''
    ilist=[k for k in range(3,n+1,2)] #list of odds

    index=0
    p=3
    while p*p <= 2*((n-1)//2):   #only looking at oddsmax(P):
            return []
        if sum(P[k:k+length]) in P:
            return [P[k:k+length],sum(P[k:k+length])]
    return []

length=546  #I checked that 2+3+...+P_546 exceeds one million
while not is_sum(length):
    length-=1

answer=is_sum(length)
psum,firstp=answer[1],answer[0][0]
print(psum," is the sum of ",length," consecutive primes")
print("starting with ",firstp)


Usuário: skasch

def prm(n):
    f = [True] * n
    for i in [2] + list(range(3, int(sqrt(n)) + 1, 2)):
        if f[i]:
            f[2*i::i] = [False] * len(f[2*i::i])
    return [i for i in [2] + list(range(3, n+1, 2)) if f[i]]
N = 1000000
ps = prm(N)
n = 0
ms = 0
while ms < N:
    ms += ps[n]
    n += 1
r = 0
for l in reversed(range(n)):
    i0 = 0
    while sum(ps[i0:i0+l]) < N:
        if sum(ps[i0:i0+l]) in ps:
            r = sum(ps[i0:i0+l])
        i0 += 1
    if r != 0:
        break
print(r)

Recursividade em Python

Recursividade é quando uma função chama a mesma função dentro dela mesma.

Vários problemas podem ser resolvidos com recursão. Para criarmos uma função recursiva primeiramente precisamos analisar o problema e entender a sequência para definirmos quando a função deverá sair da recursividade e retornar algum valor.

Por exemplo a série de Fibonacci. [1,1,2,3,5,8,13...]

Vamos criar uma função que calcule o valor da série e acordo com o índice que passamos. Se passarmos o número 3 a função tem que retornar o número 2 como resposta, se passarmos o número 6 como parâmetro a função tem que retornar o número 8 como resposta e assim sucessivamente.

Analisando o série concluímos que quando o parâmetro passado for 1 o retorno será 1, quando for 2 o retorno será 1, quando for 3 o retorno será 2, esses serão os retornos que farão com que a função saia da recursão.

Obs: estou fazendo dessa forma para ficar bem fácil de entender recirsividade

Nos comentários do código acima explico detalhadamente como a função funciona e consequentemente a recursividade.

Qualquer dúvida postem nos comentários.

Função em Delphi para converter minutos em horas formatada

Função para delphi que recebe um valor em segundos e retorna o valor em horas, minutos e segundos formatada.
Exemplo: se a função receber o valor 61, ela vai retornar o valor 00:01:01

function FormatSecsToHMS(Secs: LongInt): string;
 var
  Hrs, Min: Word;
  horas, minutos, segundos: string;
begin
 Hrs := Secs div 3600;
 Secs := Secs mod 3600;
 Min := Secs div 60;
 Secs := Secs mod 60;

 if Hrs = 0 then
    horas := '00'
 else
    horas := IntToStr(Hrs);

 if Min = 0 then
    minutos := '00'
 else
    if(Min < 10) then
   minutos := '0' + IntToStr(Min)
    else
   minutos := IntToStr(Min);

 if Secs = 0 then
    segundos := '00'
 else
    if(Secs < 10) then
    segundos := '0' + IntToStr(Secs)
    else
     segundos := IntToStr(Secs);

 Result := horas + ':' + minutos + ':' + segundos;
end; 


Guia de referência para as principais funções do PHP

Esse é um guia completo explicando o funcionamento das principais funções do PHP.

A forma como esse arquivo mostra a informação nos permite encontrar o que queremos de forma rápida e fácil.

Manual do Smarty em português

Manual do Smarty em Português.
Para quem não conhece o Smarty, ele é um gerenciador de template para PHP. Como ele é possível separar muito facilmente o código PHP do HTML. Vale a pena conferir.

Lista de 40 sites de templates gratuitos para sites

Lista de 40 sites de templates gratuitos para sites

Simavera Website Templates
Simavera Website Templates
Flash and web site templates. Great collection with some attractive and modern designs to choose from.

Open Designs
Open Designs
XHTML and CSS based free web design templates. Over 1100 open source designs available for download and growing by the day!

Tristar Web Design
Tristar Web Design Templates
Just 9 templates here but if your looking for free fast loading quality XHTML & CSS templates, this site is a must!

Solucija
Solucija Templates
Free XHTML/CSS website templates available to use without any limitations. They can be used on a non commercial site as well as on a commercial one. Keeping a small credit link in the footer is not obligatory. All templates are hand coded and lightweight (under 60KB) which ensures fast loading.

Styleshout
Styleshout Templates
Large collection of quality free website templates for download. All templates are valid xthml(strict) and valid CSS, and distributed under a Creative Commons Attribution 2.5 license

Dream Template
Dream Template
334 free templates but users must at all times have the pre-installed DreamTemplate linking button/text on the front page of their web site. This policy does NOT apply to registered/paid members.

Metamorphozis Design
Metamorphosis Design Templates
A large collection of attractive designs released under a Creative Commons Attribution 2.5 license by the metamorphosis designers.

Iron Myers
Iron Myers Templates
Simplify your site designs with 168 of the most useful Grid and CSS Layouts. They are perfect for website templates, Blog themes, CMS or as a starting point for your web projects. Layouts offer full Grade-A browser support, That is, the layouts will look and behave the same in all internet browsers.

Six Shooter Media
Six Shooter Media Templates
A list of 11 extremely fast loading quality templates fully xhtml 1.1 and css compliant.

Nice and Free CSS Templates
Nice and Free CSS Templates
Just copy and paste any of the 12 layouts, all templates are XHTML 1.0 and CSS2/ tableless.

CSSTemps
CSS Temps
About 60 free valid XHTML/CSS templates. All templates are protected by the license inside the template.

Free CSS Templates
Free CSS Templates
All of these templates are released for FREE under the Creative Commons Attribution 2.5 license for any type of personal or commercial use provided you follow the license. Link back required.

Clan Templates
Clan Templates
Free templates for on-line gaming clans for games with multiplayer options. Clan Templates provides free gaming layouts and graphics to gamers and designers alike.

Free Website Templates
Free Website Templates
Claims to be the best free website templates on the internet and you don’t need to link back, but you should state that you used a template originally made by Free Website Templates.

Template World
Template World
Absolutely top quality, unique and creative web site XHTML/CSS templates designed by Template World. Templates have been tested and proven compatible with all major browser environments and operating systems. Released under Creative Commons Attribution 2.5 license you are free to modify but you must link back to Template World.

Layout Gala
Layout Gala
A collection of 40 CSS layouts based on the same markup and ready for download! If you want, you can download the entire collection, 40 HTML pages in a single zip file.

Open Web Design
Open Web Design
Download and upload free web designs, over 3000 demo’s to browse through!

Free CSS
Free CSS
All of the 1000 templates or so that are featured within Free CSS are distributed under some form of GNU/GPL License or under a Creative Commons License.

Open Source Web Design
Open Source Web Design
A collection of 2000+ web designs submitted by the community that anyone can download free of charge!

CSS 4 Free
CSS 4 Free Templates
Free CSS based website templates gallery for you to preview, rate, comment on, and download. Most of the templates are licensed under Creative Commons 2.5 or GPL.

Open Source Web Templates
Open Source Web Templates
Free Open Source XHTML/CSS templates designed with true web 2.0 standard and 100% W3C validated.

Premium Website Templates
Premium Website Templates
Tableless web templates built using XHTML and CSS with some also available as Blogger template or WordPress theme. All released under a Creative Commons Attribution 2.5 license

Template Navigator
Template Navigator
Free templates catalogue that links only to high quality and free templates that can be 100% downloaded.

Templates Box
Templates Box
A large inventory of free website and flash templates available. Link back is required, downloads include the .PSD files and fonts.

Open Source Templates
Open Source Templates
Studio 7 designs all free CSS/XHTML website templates are free to use under the Creative Commons Attribution 2.5 license

Free Layouts
Free Layouts
Offers several hundred free W3 standard-compliant website templates and flash template pages for download. The site has some older templates in the collection that may not validate, and as such, you should make sure your code validates before using the template.

Dotcom Webdesign
Dotcom Design Templates
Premier source with 527 free website templates and layouts created specifically for CMSimple.

Themebot
Themebot Templates
Portal helping users to find themes/templates/styles/skins for various content management systems, blog and forum software. Free high quality open source website templates using XHTML and CSS.

Interspire
Interspire Templates
Dozens of website templates, website layouts, newsletter templates and logo templates, that you can download free of charge.

Free CSS Templates
Free CSS Templates
One of the biggest, never before seen collection of free CSS Templates on the web! All these CSS templates are released under the Creative Commons Attribution 2.5 license. At present, there are 219 free CSS templates downloadable in .Zip format.

All Free Templates
All Free Templates
Nice collection of free web and flash templates for personal and business use. Some templates include the .PSD files.

Template Workz
Template Workz
Templates are free to download and use for your personal and business projects. Website templates are available in Photoshop (PSD) and HTML formats, all the fonts are also included with the PSD file. Link back only required if you use the downloaded graphics.

Snakeye Dreamweaver Web Templates
Snakeye Dreamweaver Web Templates
20 free Dreamweaver web site templates and web page templates for download. May be used for any web site, provided the tagline at the base of the template remains within the template design.

TemplateYes
TemplateYes
About 100 cool web, flash and CSS templates 100% free. Link back required.

Mashable
Mashable Templates
A collection of 150+ great free templates from around the web including 40+ one column layouts, 80+ two column layouts and 30+ three column layouts.

Free Templates Online
Free Templates Online
Gallery of 150 professional looking websites free of charge! Link back required.

Web Design Company
Web Design Company
Unique and professional Web site templates, Flash templates, HTML templates including the full set of sub-pages free of cost. Submit name and email prior to download and link back required.

Andreas Viklund
Andreas Viklund Templates
All templates are made with valid XHTML (strict) and CSS, and they are supposed to be small, easy to work with and of high code quality. Templates are free to use for any purpose without any limitations, obligations or conditions.

Zymic
Zymic Templates
Preview live and download any one of the 90+ top quality free web designs and layouts. Link back is required!

Free online web template generator
doTemplate Generator
Easily create unique professional web templates: Pick Template > Customise > Download!
doTemplate offers a catalogue of free web templates. All templates are fully customizable to your taste and needs. You can easily tweak the colors, the fonts, apply a bunch of graphical effects to create a unique professional template in no time.

Projeto em branco do Zend Framework - versão 1.11

Projeto em branco do Zend Famework. É só descompactar o arquivo e usar. Nele já tem todas as pastas necessárias e a biblioteca do Zend.
Resolvi fazer isso para não precisar ficar criando toda a vez a estrutura de pasta que o Zend necessita ou ter que executar o script da própria framework para a criação do projeto.

Link para download:
http://www.filesmall.com/6F9455415/download.html






Principais propriedades dos componentes e seus significados - Delphi

Segue abaixo as propriedades mais comuns dos componentes no Delphi e seus significados.

Propriedade Significado
Align Determina como o componente será alinhado no seu container - [alNone, alTop, alBottom, alLeft, alRight, alClient]
Caption Legenda do componente (& indica a tecla de atalho)
Cursor Desenho que representa o cursor da mouse [crDefault, crNone, crArrow, crCross , crIBeam, crSize, crSizeNESW, crSizeNS, crSizeNWSE, crSizeWE, crUpArrow, crHourGlass, crDrag, crNoDrop, crHSplit, crVSplit, crMultiDrag, crSQLWait, crNo, crAppStart, crHelp, crHandPoint]
Name Nome da instância do componente
Left Distância em Pixel da borda esquerda do componente até a borda esquerda do FORM
Top Distância em pixel da borda superior do componente até a borda superior do FORM
Height Altura em pixel do componente
Width Largura em pixel do componente
ComponentCount O número de componentes possuídos por um componente container
Components Uma matriz de componentes possuídos por um componente container
Color Indica a cor de fundo do componente
Font Fonte utilizada no componente
Ctl3D Define a aparência 3D ou 2D de um componente
Enabled Define se o componente esta ou não ativo
Visible Define se o componente esta ou não visível
Hint String utilizada na exibição de dicas instantâneas
ShowHint Define se o hint será mostrado automaticamente
PopupMenu Menu que será acionado com o botão direito do mouse
TabOrder A ordem de tabulação do componente
TabStop Indica se o componente será ponto de parada para a tecla TAB
HelpContext Número utilizado para chamar o help on-line sensível ao contexto

Programa para instalar componentes no Delphi

O Delphipi é um programa que facilita em muito a instalação de componentes.

Para baixar ele acesse: http://www.mediafire.com/?8t6zphs7ev0krpo

Se você está com dúvida de como instalar componentes no Delphi  baixe esse programa que ele fará todo o trabalho para você.

Qualquer dúvida me avisem.

Project Euler - Pra quem gosta de programar

Hoje quero falar sobre um site muito interessante, é o http://projecteuler.net/
Esse site possui vários problemas matemáticos onde você precisa criar algorítimos para resolvê-los. Você pode usar a linguagem que desejar, a única coisa que precisa fazer é postar a resposta certa no site e ele irá dizer se você acertou ou não.
Quando você responder de forma correta um problema você terá acesso ao fórum específico (do problema resolvido) onde as pessoas postam seus algorítimos além de um documento explicando a melhor forma de resolvê-lo. Isso é bom para você comparar a sua resposta com as de outros programadores.
Até o momento consegui responder os 10 primeiros.
Se alguém precisar de ajuda com eles é só avisar.
Segue abaixo a descrição dos 10 primeiros que consegui resolver.


Para saber mais obre o site acesse: http://projecteuler.net/about

Usando SQLite com o Delphi

O SQLite é um banco de dados free cuja a principal vantagem é que para ele funcionar não precisa de instalação, basicamente basta copiar a dll dele junto com a sua aplicação e começar a utilizá-lo.

No caso do Delphi ou Lazarus, para conectar no banco de dados eu utilizo o componente ZeosDB, para baixar acesse: https://sourceforge.net/projects/zeoslib/

O ZeosDB é um componente opensource que permite conectar, executar consultas, scripts em vários bancos de dados como MySQL, Oracle, etc...

Para conectar em um banco de dados sqlite com o ZeosDB basta colocar o componente TZConnection no form e depois setar as seguintes propriedades:

Database = coloque aqui o endereço do seu banco de dados, por exemplo: "c:\programa\banco.sqlite"
Protocol = selecione a opção "sqlite"
LibraryLocation = coloque a dll do sqlite na mesma pasta da sua aplicação e depois nesse campo coloque o nome da dll, por exemplo "sqlite.dll"

Para fazer o download da dll acesse: https://www.sqlite.org/download.html

Para criar e administrar o banco de dados eu utilizo a ferramenta Sqlite Expert Personal, para fazer o download acesse: http://www.sqliteexpert.com/download.html

Espero ter ajudado, qualquer dúvida postem nos comentários.