Clique aqui

quinta-feira, 9 de junho de 2011

Recuperando arquivos apagados com o EasyRecovery

Quando você não fez o backup de seus arquivos e um vírus apaga todos seus arquivos (ou um problema do Windows que "só" resolve formatando e você perde todos seus arquivos), isso é motivo de muito desespero, certo ? Bem, existe uma solução para recuperar os seus arquivos apagados: o EasyRecovery da Ontrack !

Ao formatar um HD ou apagar um arquivo, a sua referência é apenas "apagada" das tabelas de alocação FAT - e na prática o arquivo não é fisicamente eliminado do HD, o que possibilita a recuperação dos arquivos. Para efetivamente apagar o arquivo do HD, você deve utilizar um programa específico para isso (como o ZeroFill da Maxtor).

Formatei meu HD ou perdi todos meus dados por causa de um vírus. O que devo fazer ?
A primeira coisa a ser feita é não mexer no HD: nada de reformatá-lo, instalar o Windows etc. Tenha em mãos um outro HD com tudo instalado normalmente (Com pelo menos o Windows instalado) e deixe-o como MASTER, colocando o HD que você quer recuperar como SLAVE. Coloque os HD's no computador, vá no Setup e peça para que ele reconheça o novo HD: depois pegue o programa chamado "Easy Recovery Professional" encontrado 
AQUI. Neste tutorial eu estarei utilizando a versão 5.0 embora a versão mais recente seja a 6.0 (que tem mais opções de recuperação, como recuperação de arquivos do Word, Excel, Access, entre outros).

Vamos ao processo de recuperação: instale no HD com o Windows instalado, o programa "Easy Recovery Professional" e depois da instalação, abra o programa. Após a tela de instalação, clique em "Next" e o programa irá para esta tela :
 

Escolha o HD que você queira recuperar: depois de selecioná-lo clique em "Next" novamente. Abrirá um tela onde aparece as descrições do HD selecionado para o Scan e clique em "Advanced Options" para ter opções avançadas. Se clicar em "Advanced Options" abrirá esta tela:
 

Deixe em "Use Best Match" que é a melhor opção para recuperar boa parte dos seus arquivos, mas você pode recuperar arquivos de acordo com sua necessidade. Clique em "Next" novamente e o programa irá para esta tela:
 

Este é o processo de busca de arquivos apagados: o tamanho e velocidade do HD vão determinar o tempo para a busca de todos os arquivos (para ter uma idéia, este teste foi realizado com um HD de 8.6Gb e demorou cerca de uma hora com um processador de 500mhz e 160 Mb de memória RAM). 
Quando acabar, clique em "Next" para ver os arquivos que podem ser salvos. Ao final do scan de arquivos, irá para esta tela:
 

Note que do lado esquerdo da tela, são os diretórios e do lado direito os arquivos de cada diretório: clique nos "+" para ver os diretórios e quando quiser salvar tal diretório ou arquivo basta clicar nas caixinhas. Você poderá salvar vários arquivo de uma só vez.

Em "Destination" coloque onde quer salvar os arquivos. Você não pode salvar no HD onde foi feita a busca e por este motivo há a necessidade de outro HD. Coloque o caminho do HD onde o programa instalado (O que deve ser C:\, e você pode salvar em C:\Meus Documentos por exemplo, e onde o HD que foi scaneado deve ser o D:\) e clique em "Next" para o processo de recuperação começar. Os aquivos serão salvos (e isso poderá demorar bastante). Lembre-se de que o HD onde será salvo deverá caber os arquivos que você quer recuperar.
Se seus arquivos foram apagados por causa de alguns vírus, é altamente recomendável você ter um ótimo antivirus instalado no seu computador e não se esqueça de atualizá-lo sempre !

Delphi Calcular

procedure Calcular;
begin
       edit_Total.Text := StrToFloat(Edit_Total.Text + Edit_Salario.Text + Edt_Custo.Text + Edit_Adcional) ;

      if Edit_Total.Text <> 0 then
         Edit_Total.Text := FormatFloat('0.00',SrtToFloat(Edit_Total.Texte)
      else
            Edit_Total.Text := FormatFloat('0.00',0);
end;


-----------------------------------
var a,b,c, total: Real;
begin
a:= DBEdit6.Field.AsFloat;
b:= DBEdit7.Field.AsFloat;
c:= DBEdit8.Field.AsFloat;
total:= (a * b * c);
DBEdit9.Field.AsFloat:= total;
end;

-------------------------------------------
na saida de um campo (on exit) do dbedit
Tenho três DBEdit (DBEditQuantidade, DBEditValor_Compra e DBEditTotal_Compra) preciso que o DBEDitTotalCompra mostre o calculo:

DBEDitQuantidade * DBEDitValor_Compra


O DBEDitQuantidade está definido com INTEGER e o DBEDitValot_Compra, DBEDitTotal_Compra defido como $.
Table1.FieldByName('CampoqueRecebeTotal')Value:=Table1.FieldByName('CampoSoma1')Value * Table1.FieldByName('CampoSoma2').Value;

-------------------

Campo Calculated

Delphi - Trabalhando com Campos

Objeto TField - Fiels Editor e Campos Calculados

Quando você ativa um componente Table através da propriedade Active := True, componentes TField são criados para cada campo da tabela. Mas você não pode se referir a eles em seu código, ou mesmo mudar determinadas propriedades. Para isso, é preciso criá-los durante o projeto de seu aplicativo. Isto é feito através do Fields Editor.

Este editor permite que você defina quais os campos de determinada tabela aparecerão no Object Inspector, e poderão ser referenciados no código.

Para acessar o Fields Editor:
• Um duplo clique no componente Table ou Query inserido no formulário. Aparece o Fields Editor.
• Clique com o botão direito do mouse sobre o Fields Editor, e, no menu que aparece selecione Add Fields para abrir uma caixa de dialogo listando os campos da tabela associada ao componente Table.
• Selecione os campos que você quer mostrar, e clique OK, os campos passam para o interior do Fields Editor;
• Caso queira mude a ordem de disposição dos campos, arrastando os mesmos;

A propriedade Name do componente TField é estabelecida automaticamente pelo Delphi, atravéz da associação do nome do componente Table com o nome do campo na tabela.

Mudando Propriedades de componentes TFiels

Após ter criado componentes TFields durante o projeto, através do Fields Editor podemos mudar suas propriedades através do Object Inspector.

Lendo valores de Campos

Criar componentes TFields durante o projeto permite que você possa manipular os mesmos através do seu código. Ou seja, você poderá se referir a eles no código de sua aplicação.

Você lê valores de um campo através da propriedade Value do componente TField.

Por exemplo: Para ler na caixa de edição o valor de um campo Nome do tipo texto faríamos:

Edit1.Text := Table1Nome.Value;

Cada campo escolhido no Fields Editor representa um componente TField diferente.
Veja alguns exemplos:

Tipo Campo
Objeto TField
Conversão
Campo Texto TStringField AsString
Campo Data TDateField AsDateTime
Campo Lógico - Boolean TBlobField AsBoolean
Campo Inteiro TIntegerField AsInteger
Campo Float TFloatField AsFloat
Campo Moeda TCurrencyField AsCurrency
Se você quiser colocar o valor de um campo inteiro em um componente TEdit, usamos a propriedade de conversão AsInteger.

Edit1.Text := Table1Idade.AsInteger;
ou campo data assim
Edit2.Text := Table1DataNascimento.AsDateTime ;

Então:

Do campos para a variável usar

MDescricao := Tbl_ProdutosDescricao.AsString ;

Da variável para o campo usar

Tbl_produtosDescricao.AsString := MDescricao ;



Outro método usado para fazer referencia a campos de suas tabelas é a propriedade FieldByName.
Sintaxe:
MCliente := Table1.FieldByName( 'Nome' ).AsString



Adicionando Registros ( Incluindo )

Table1.Append; // Com o Fields Editor
Table1Nome.AsString := 'João da Silva' ;
Table1Pago.AsBoolean := False;
Table1.Post;

Table1.Append; // Com FieldByName
Table1.FieldByName( 'Nome' ).AsString := 'João da Silva' ;
Table1.FieldByName( 'Pago' ).AsBoolean := False;
Table1.Post;

Editando Registros

Table1.Edit; // Com o Fields Editor
Table1Pago.AsBoolean := True;
Table1.Post;

Table1.Edit;// Com FieldByName
Table1.FieldByName( 'Pago' ).AsBoolean := True;
Table1.Post;

Excluindo ( Apagando )

Table1.Delete;

Definindo um campo calculado - Um campo calculado é aquele que é resultado da intereção entre dois ou mais campos de uma tabela.

Para criar um campo calculado:

Entre no Fields Editor e clique com o botão direito sobre ele, e, no menu que aparece escolha New Field
No quadro Name, entre com o nome do campo calculado;
No quadro Component, o Delphi automaticamente coloca o nome do componente TField criado;
No quadro Type, escolha o tipo de campo calculado (DateTime, Float, Currency, etc);
No quadro Size entre com o tamanho do campo ;
Em Field Type, marque a caixa Calculated para informar que esse é um campo calculado que está sendo criado;
Clique OK quando terminar. O novo campo é inserido no Object Inspector. Agora você poderá se referir a ele no código.
Associando Código ao campo calculado

Para criar um código associado ao campo calculado:

Selecione o componente Table associado;
No Object Inspector, vá para a página Events dê um duplo clique sobre o evento OnCalcFields entrando no Editor de Código;
Escreva as linhas de código necessárias, dentro da procedure relacionada ao evento acima.
Dicas:
A propriedade Active da tabela tem de estar em False.
No evento OnCalcFields, você só pode atribuir valores a campos calculados.

------------ / / ------------------

Vamos praticar:



No projeto da aula Trabalhando com índices (alterado na aula Localizando Registros) vamos incluir:
um campo calculado com nome = juros, Type = Currency e ...
um objeto DBEdit (Paleta Data Controls) com as seguintes propriedades DataSource = Ds_Clientes, Enable = False e DataField = Juros.

No evento OnCalcFields do objeto Table coloque a seguinte procedure:

procedure TForm1.tbl_clientesCalcFields(DataSet: TDataSet);
begin
    tbl_clientesJuros.AsCurrency := tbl_clientesvalor_debito.Value * 1.10 ;
end;

Pronto agora ja temos um campo calculado com 10 % de juros sobre o saldo devedor.

segunda-feira, 6 de junho de 2011

Internet no Celular

quer usar internet no celular ? segue aí as configurações

TIM

crie um perfil TIM WAP FAST
coloque como pagina principal http://wap.tim.com.br
vá para conta de dados selecione tim wap fast e configure :
gprs: tim wap fast
npa wap.tim.br
utilizador tim
senha tim
tipo de ligação: http
ip 200.244.116.065
porta : 8080
utilizador tim
senha tim

domingo, 5 de junho de 2011

DBEdit

Fazer soma utilizando dbedit
coloque 3 dbedit no form
no evento On exit do dbedit 2 coloque :


procedure TFormControle.DBEdit2Exit(Sender: TObject);
begin
TbControle.FieldByName('Saldo').Value:=TbControle.FieldByName('Valor1').Value - TbControle.FieldByName('Valor2').Value;

ou seja:  Saldo é igual valor 1 - valor 2

sexta-feira, 3 de junho de 2011

Currency

Deixar o DBedit em estilo moeda:

DBEDIT1.TEXT:= FORMATFLOAT('R$ ###,##0.00', STRTOFLOAT(DBEDIT1.TEXT));

Trocar o enter por tab no delphi

Trocar o tab pelo enter em um form.

No evento OnKeyPress do formulário.

Digite.
if key=#13 then
begin
        key := #0; 

        Perform(WM_NEXTDLGCTL,0,0);

end;

Botão de Pesquisa delphi

fazer uma pesquisa na tela de pesquisa e mandar o resultado para os edits faça o seguinte :
Criei um exemplo básico. Criei uma aplicação normal com 2 formulários. O primeiro deles é o frmPrincipal, e apenas ele é iniciado com o sistema. Nele coloquei um campo TEdit com o nome de edtCampo, e coloquei um TButton que chama btnPesquisar.
O outro formulário se chama frmPesquisa. Como se trata apenas de um exemplo de manipulação de informação atraves dos formularios, não coloquei um grid, e sim um TListBox já com informações adicionadas, apenas para teste. Criei também nesse formulário um botão OK.

No btnPesquisar do frmPrincipal coloque o seguinte código:


procedure TfrmPrincipal.btnPesquisarClick(Sender: TObject);
begin
  Application.CreateForm(TfrmPesquisa, frmPesquisa);
  frmPesquisa.ShowModal;
  edtCampo.Text := frmPesquisa.lbItens.Items.Strings[frmPesquisa.lbItens.ItemIndex];
  FreeAndNil(frmPesquisa);
end;


No btnOK do frmPesquisar coloque o conteudo

procedure TfrmPesquisa.btnOKClick(Sender: TObject);
begin
  Close;
end;

Delphi Edit Soma Multiplica

para somar ou multiplicar duas edit e aparecer o resultado na terceira edit, sem ter que colocar um botão faça o seguinte :
Na Propriedade KeyPrewiew coloque True

private
    { Private declarations }
    FCampo1,
    FCampo2: Double;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  total: real;
  Fcampo1: real;
  FCampo2: real;
implementation
{$R *.dfm}

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
key :=#0;
Perform(WM_NextDlgCtl,0,0);
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
FCampo1 := StrToFloat (Edit1.Text);
end;
procedure TForm1.Edit2Exit(Sender: TObject);
begin
FCampo2 := StrToFloat (Edit2.Text);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
FCampo1 :=StrToFloat(Edit1.Text);
Edit2.SetFocus;
end;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
FCampo2:=StrToFloat(Edit2.Text);
total:= FCampo1 * FCampo2;
Edit3.Text:=FloatToStr(Total);
end;

end.