Arquivo

Posts Tagged ‘Delphi’

Inicializar seu programa com o Windows

Como fazer seus programas serem executados na inicialização do Windows

É fácil o suficiente arrastar e soltar seu aplicativo ao grupo de inicialização do Windows para executá-lo na inicialização do Windows. Mas, se você quiser fazer isso no seu programa, no final do seu programa de instalação por exemplo, ou se você quisesse fazer seu programa execute apenas uma vez a próxima vez que o Windows iniciar, função a seguir poderia vir a calhar:

procedure RunOnStartup(sProgTitle, sCmdLine: string; bRunOnce: boolean);
var
 sKey: string;
 reg : TRegIniFile;
begin
if bRunOnce then
 sKey := 'Once'
else
 sKey := '';
 reg := TRegIniFile.Create('');
 reg.RootKey := HKEY_LOCAL_MACHINE;
 reg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run' + sKey + #0, sProgTitle, sCmdLine);
 reg.Free;
end;

Utilização:

sProgTitle Titulo do programa. De um modo geral, esta poderia ser qualquer coisa que você quer.

sCmdLine Este é o nome do caminho completo onde o programa executável se encontra.

bRunOnce  Defina este como verdadeiro se você deseja executar o programa apenas uma vez.

Se este parâmetro estiver False, o programa especificado será executado sempre que Windows iniciar.

Exemplo:

RunOnStartup(‘Titulo do Progama’, ‘MeuProg.exe’, False);

Considerações importante

incluir Registry no uses

Se ao executar seu teste aparecer o seguinte erro

Figura 1.Mensagem de erro

Você que utiliza o Windows 7 como sistema operacional do seu computador, já deve ter passado por várias situações onde é obrigatório o uso do usuário “Administrador” para executar ou instalar determinado programa, e não é por menos, quem utiliza uma conta “normal”, usuário comum, ou ainda um “Usuário convidado” não tem privilégios para executar determinadas funções do sistema, isto (em partes) acaba sendo muito legal, já que dá maior segurança ao seu sistema, por outro lado, acaba sendo muito chato, já que na maneira convencional, temos que clicar com o botão direito do mouse  sobre o arquivo ou programa que desejamos executar como “Administrador” e selecionar  a opção “Executar como administrador”, como na imagem abaixo:

Figura 2.Menu ao clicar com o botão direito

clique com o botão direito do mouse sobre seu programa e escolha a opcao Executar como Administrador.

Caso queira habilitar sua conta de administrador no Windows 7 execute o cmd como administrador Digite “net user administrator /active:yes”, sem aspas, dentro do prompt de comando e depois tecle “enter”

Figura 3.Command prompt

Pronto, agora você pode notar que a conta vai aparecer na tela de logon.

Figura 4.Logon do Windows 7

Já estou fugindo do escopo principal, paro por aqui.

Um abraço e até a próxima.

Categorias:Artigos Tags:, ,

QrCode código de barras bi-dimensional

Neste artigo iremos aprender como criar código de barras 2d QRCode

O QR Code é uma tecnologia que poucas pessoas no Brasil conhecem, é um código de barras 2D que está sendo cada vez mais utilizado em anúncios publicitários, videoclipes e uma série de outras situações.

Ficou curioso para saber como funciona? Então confira este artigo.

Trata-se de um código de barras 2D capaz de armazenar até 4.296 caracteres alfanuméricos de texto.

Códigos QR pode ser lido por um dispositivo que vão desde leitores de código QR e para qualquer celular que permite ao usuário apontar a câmera para uma figura.

O mais legal é que você mesmo pode criar um QR Code !

Então vamos nessa, crie um novo projeto Delphi Vcl e iremos adicionar um TImage, TMemo, TButton, 2 TMaskEdit, TComboBox e 3 TLabel, , abaixo temos o layout do formulário.

Figura 1. Layout do Formulário

Mudando as propriedades dos componentes no projeto .

Image1 Height e Width mude para 321

Memo1 Lines mude para digite aqui sua mensagem

EditMask1 EditMask mude para !999;1;

EditMask2 EditMask mude para !999;1;

EditMask1 Text mude para 300

EditMask2 Text mude para 300

ComboBox1 Text mude para L – [padrão] Permite a recuperação de até 7% de perda de dados

ComboBox1 Items mude para L – [padrão] Permite a recuperação de até 7% de perda de dados

M – Permite a recuperação de até 15% de perda de dados

Q – Permite a recuperação de até 25% de perda de dados

H – Permite a recuperação de até 30% a perda de dados

ComboBox1 Style mude para csDropDownList

ComboBox1 ItemIndex mude para 0

Button1 Caption mude para Gerar Etiqueta

Codificando o projeto, incluir 3 classes no uses PngImage, HTTPApp, WinInet, procedure WinInet_HttpGet, procedure GetQrCode, constante UrlGoogleQrCode e uma variável enumerada na sessão Type com o nome TQrImage_ErrCorrLevel.

Observação. variável enumerada é um tipo de variável pré-definida criada na sessão Type Exemplo:

Type

TDiaSemana = (segunda, terça-feira, domingo);

Assim que definir um tipo de dados enumerado, podemos declarar variáveis para ser desse tipo:

var algumdia: TDiaSemana;

O objetivo principal de um tipo de dados enumerado é deixar claro quais dados o programa irá manipular. Um tipo enumerado é realmente apenas uma maneira abreviada de atribuição de valores seqüenciais a constantes. Dadas estas declarações, terça-feira é uma constante do tipo TDiaSemana .

1.Ficando assim nosso código até o momento!

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.ExtCtrls;

type
TForm1 = class(TForm)
Image1: TImage;
Memo1: TMemo;
Button1: TButton;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses
PngImage,
HTTPApp,
WinInet;

{$R *.dfm}

type
TQrImage_ErrCorrLevel = (L, M, Q, H);

const
UrlGoogleQrCode =
'http://chart.apis.google.com/chart?chs=%dx%d&cht=qr&chld=%s&chl=%s';
QrImgCorrStr: array [TQrImage_ErrCorrLevel] of string = ('L', 'M', 'Q', 'H');

procedure WinInet_HttpGet(const Url: string; Stream: TStream);
const
BuffSize = 1024 * 1024;
var
hInter: HINTERNET;
UrlHandle: HINTERNET;
BytesRead: DWORD;
Buffer: Pointer;
begin
hInter := InternetOpen('', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(hInter) then
begin
Stream.Seek(0, 0);
GetMem(Buffer, BuffSize);
try
UrlHandle := InternetOpenUrl(hInter, PChar(Url), nil, 0,
INTERNET_FLAG_RELOAD, 0);
if Assigned(UrlHandle) then
begin
repeat
InternetReadFile(UrlHandle, Buffer, BuffSize, BytesRead);
if BytesRead > 0 then
Stream.WriteBuffer(Buffer^, BytesRead);
until BytesRead = 0;
InternetCloseHandle(UrlHandle);
end;
finally
FreeMem(Buffer);
end;
InternetCloseHandle(hInter);
end
end;

procedure GetQrCode(Width, Height: Word;
Correction_Level: TQrImage_ErrCorrLevel; const Data: string;
StreamImage: TMemoryStream);
Var
EncodedURL: string;
begin
EncodedURL := Format(UrlGoogleQrCode,
[Width, Height, QrImgCorrStr[Correction_Level], HTTPEncode(Data)]);
WinInet_HttpGet(EncodedURL, StreamImage);
end;

end.

2. No Evento OnClick do Button1 implemente o código abaixo:

procedure TForm1.Button1Click(Sender: TObject);
var
ImageStream: TMemoryStream;
PngImage: TPngImage;
begin
Image1.Picture := nil;
ImageStream := TMemoryStream.Create;
PngImage := TPngImage.Create;
try
try
GetQrCode(StrToInt(Trim(MaskEdit1.Text)), StrToInt(Trim(MaskEdit2.Text)),
TQrImage_ErrCorrLevel(ComboBox1.ItemIndex), Memo1.Lines.Text,
ImageStream);
if ImageStream.Size > 0 then
begin
ImageStream.Position := 0;
PngImage.LoadFromStream(ImageStream);
Image1.Picture.Assign(PngImage);
end;
except
on E: exception do
ShowMessage(E.Message);
end;
finally
ImageStream.Free;
PngImage.Free;
end;

3. No Evento OnCreate do Form1 implemente o código abaixo:

 Button1Click(Sender);

Neste momento se você executar o projeto vai ter o seguinte resultado:

Considerações finais:

Podendo criar uma rotina para impressão da etiqueta.
Para decifrar o códigos é necessário de um aplicativo instalado em seu celular segue o site do aplicativo:
http://i-nigma.com/i-nigmahp.html

Vamos ver imagens e vidêos como são usados o QRCode.

Programa de TV francês: caça ao tesouro com QR Code .
http://www.youtube.com/watch?v=zn4mIKMH7S4

Veja onde usam o QRCode.
http://www.qrstuff.com/qr_code_examples.html

Qrcode em camisetas.
http://www.messa.com.br/eric/ecode/uploaded_images/qr_tshirt01-715400.jpg

Espero que tenham gostado
Um grande abraço a todos!

Código Fonte clique aqui

Categorias:Artigos Tags:,

Memória utilizada nos sistemas

Veja neste artigo como descobrir o percentual de memória utilizada nos sistemas.

Olá pessoal, vamos ver neste artigo como podemos saber o percentual de memória utilizada nos sistemas .

Iniciaremos agora criando um novo projeto em Delphi e iremos adicionar um  TTimer e um TGauge  no mesmo, abaixo temos o layout bem simples do formulário.
Figura 1. Layout do Formulário
Neste momento vamos implementar nosso código :
No Evento OnTimer do componente Timer1 implemente o código abaixo:
procedure TForm1.Timer1Timer(Sender: TObject);</span>
var
Mem: TMemoryStatus;
begin
Mem.dwLength := SizeOf(Mem);
GlobalMemoryStatus(Mem);
Gauge1.MaxValue := Mem.dwTotalPhys;
Gauge1.Progress := Mem.dwTotalPhys - Mem.dwAvailPhys;
end;
Veja a informação de memória utilizada em meus sistemas .
A dica final seria incluir exemplo em uma tela de recursos de sistema e hardware .
espero que tenham gostado, ate a próxima.
Um grande abraço!
Categorias:Artigos Tags:,

Cindy components for all Delphi versions

Componentes de qualidade free

link abaixo :

http://sourceforge.net/projects/tcycomponents/files/

Categorias:Componentes Tags:, ,

Delphi Cloud Development with Amazon Web Service

                                 http://edn.embarcadero.com/br/article/40948

Categorias:Blogs e Sites Tags:, ,

Delphi Conference 2010


Delphi Conference 2010

Categorias:Delphi, Videos Tags:, ,

CnPack Open Source Projects

Link abaixo :

http://www.cnpack.org/index.php?lang=en

Delphi XE2 – VCL Styles

A nova versão do Rad Studio incluem uma funcionalidade muito interessante chamado Estilos VCL, esta funcionalidade permite-lhe aplicar a skin (tema) para qualquer aplicação Form VCL. Então neste post vou mostrar-lhe o básico sobre como carregar no tempo de execução um estilo incorporado ou ler o arquivo de estilo diretamente a partir do disco. além de como você pode facilmente criar um novo estilo.

 

http://theroadtodelphi.wordpress.com/2011/09/01/exploring-delphi-xe2-vcl-styles-part-i/

ACBR

Componentes ACBR link abaixo

http://acbr.sourceforge.net/drupal/

Categorias:Componentes, Delphi Tags:, , , ,

JEDI

Project JEDI Portal link abaixo

http://www.delphi-jedi.org/

%d blogueiros gostam disto: