Ir para conteúdo
Fórum Script Brasil

Douglas Soares

Veteranos
  • Total de itens

    864
  • Registro em

  • Última visita

Posts postados por Douglas Soares

  1. Você pode utilizar o registro do windows :) eu até te passaria um exemplo em delphi mas não vou fazer isso, tenho mt dificuldades com Windows Vista e 7, ele não cria a chave porque não tem permissões... daí o que eu fiz... criei um instalador do InnoSetup que faz isso por mim :D, não sei porque mas ele tem permissão divina pra acessar o registro :P, segue o compilador:

    http://www.4shared.com/file/tffRqz-o/iniciar.html

    O Script acima eu coloco o firebird para iniciar com o Windows (COMO APLICAÇÃO)

    Se você não tem o InnoSetup instale-o:

    http://www.baixaki.com.br/download/inno-setup.htm

    em seguida o ISTool

    http://www.baixaki.com.br/download/istool.htm

    PS: dps que fizer o executavel pelo InnoSetup você pode coloca-lo na pasta de sua aplicação, e executa-la com um ShellExecute.

    Abraços

  2. você tem que colocar um TSQLQuery, um ClientDataSet e DataSetProvider, ligue-os e depois faça a query no Evento SQL do componente SQLQuery:

    SELECT CODIGO, COR

    FROM TABELA1

    Depois adicione os campos no seu TSqlQuery e no ClientDataSet, em seguida use o seguinte comando no botão:

    cdsTeste.Open;
    cdsTeste.IndexFieldNames := 'codigo';
    cdsTeste.FindKey([cod]);
    cdsTeste.Edit;
    cdsTeste.FieldByName('COR').Value := 1; // valor que desejar
    cdsTeste.ApplyUpdates(0);
    cdsTeste.Close;

    Abraços

  3. Não, você pode fazer como eu te disse... checa se existe a pasta no destino, se não existir você cria, daí você pega e copia!

    dirFile1 := 'C:\Teste';
    FillChar(Buffer, sizeof(Buffer), #0);
    p := @buffer;
    StrECopy(p, PChar(dirFile)); //nome da pasta a copiar
    FillChar(Fo, sizeof(Fo), #0);
    Fo.Wnd := Application.Handle;
    Fo.wFunc := FO_COPY;
    Fo.pFrom := @Buffer;
    if not DirectoryExists(dirFile1 + '_1') then // checo se a pasta Teste_1 existe
    ForceDirectories(dirFile1 + '_1'); // Se não existe crio ela
    Fo.pTo := PChar(dirFile1 + '_1'); //copio para a pasta Teste_1
    Fo.fFlags := 0;
    if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
    ShowMessage('Erro a copiar ficheiro imagens')

    Faça o teste, creio que vai ser o que você precisa!

    Abraços

  4. Tenta assim:

    dirFile1 := 'C:\Teste';
    FillChar(Buffer, sizeof(Buffer), #0);
    p := @buffer;
    StrECopy(p, PChar(dirFile)); //nome da pasta a copiar
    FillChar(Fo, sizeof(Fo), #0);
    Fo.Wnd := Application.Handle;
    Fo.wFunc := FO_COPY;
    Fo.pFrom := @Buffer;
    if not DirectoryExists(dirFile1 + '_1') then // checo se a pasta Teste_1 existe
    ForceDirectories(dirFile1 + '_1'); // Se não existe crio ela
    Fo.pTo := PChar(dirFile1 + '_1'); //copio para a pasta Teste_1
    Fo.fFlags := 0;
    if ((SHFileOperation(Fo) <> 0) or (Fo.fAnyOperationsAborted <> false)) then
    ShowMessage('Erro a copiar ficheiro imagens')

    Abraços

  5. Não tinha reparado que você faz isso no evento OnChange de um Edit, assim ele vai dar erros porque você usa o mesmo componente query, daí uma hora ele vai fechar e outra ele vai abrir, vai ficar num loop infinito pelo jeito... tenta assim:

    procedure TForm1.Edit4Change(Sender: TObject);
    var
    tabela : string;
    begin
    if (not RadioButton7.Checked) and (not RadioButton8.Checked) and (not RadioButton9.Checked) then
    bd.ADOQuery2.close
    else
    begin
    
    if RadioButton7.Checked then
    tabela := 'plv_chv';
    
    if RadioButton8.Checked then
    tabela := 'rsm_lgl';
    
    if RadioButton9.Checked then
    tabela := 'norma';
    
      bd.ADOQuery2.close;
      bd.ADOQuery2.SQL.Clear;
      bd.ADOQuery2.SQL.Add ( 'Select * From tbl_legislacao Where ' + tabela + ' Like ' );
      bd.ADOQuery2.SQL.Add(QuotedStr('%' +Edit4.Text+'%'));
      bd.ADOQuery2.open;
      DbGrid4.Refresh;
    
    end;
    end;

    Abraços

  6. Você apenas está fazendo uma pesquisa quando um dos radiobox's estão marcados, porém você ainda deixa a query aberta, creio que você tem que fecha-la.

    Tente assim:

    procedure TForm1.Edit4Change(Sender: TObject);
    begin
    if RadioButton7.Checked then
    begin
      bd.ADOQuery2.Active := false;
      bd.ADOQuery2.SQL.Clear;
      bd.ADOQuery2.SQL.Add ( 'Select * From tbl_legislacao Where plv_chv Like ' );
      bd.ADOQuery2.SQL.Add(QuotedStr('%' +Edit4.Text+'%'));
      bd.ADOQuery2.Active := true;
      DbGrid4.Refresh;
    end
    else
      bd.ADOQuery2.close;
    if RadioButton8.Checked then
    begin
      bd.ADOQuery2.Active := false;
      bd.ADOQuery2.SQL.Clear;
      bd.ADOQuery2.SQL.Add ( 'Select * From tbl_legislacao Where rsm_lgl Like ' );
      bd.ADOQuery2.SQL.Add(QuotedStr('%' +Edit4.Text+'%'));
      bd.ADOQuery2.Active := true;
      DbGrid4.Refresh;
    end
    else
      bd.ADOQuery2.close;
    if RadioButton9.Checked then
      bd.ADOQuery2.Active := false;
      bd.ADOQuery2.SQL.Clear;
      bd.ADOQuery2.SQL.Add ( 'Select * From tbl_legislacao Where norma Like ' );
      bd.ADOQuery2.SQL.Add(QuotedStr('%' +Edit4.Text+'%'));
      bd.ADOQuery2.Active := true;
      DbGrid4.Refresh;
    end
    else
      bd.ADOQuery2.close;

    Abraços

  7. Bom dia pessoal!

    Tenho uma dúvida que a tempo me perturba e nunca achei o que realmente preciso...

    Tenho varios documentos word que uso com mascaras que pegam os dados do meu banco e funciona normal, porém as vezes preciso mandar essas cartas por email, e com mascaras não dá pois o cliente não vai ver os dados lá... então eu abro o word e vou em Mala Direta > Editar documentos individuais... daí ele abre outro word com o mesmo documento porém com os dados sem as mascaras!!! É isso que eu preciso, ou então um jeito de alterar o documento de word pelo mascara, exemplo:

    Word.FieldByName('igreja').text := 'testando';

    alguém pode me ajudar??

    Abraços

×
×
  • Criar Novo...