Ir para conteúdo
Fórum Script Brasil

flavioavilela

Membros
  • Total de itens

    375
  • Registro em

  • Última visita

Posts postados por flavioavilela

  1. você pode usar a mesma lógica, só que você deverá agora, não percorrer todo o arquivo texto e sim, o conteúdo do memo... tenta fazer assim:

    var

    x: integer;

    begin

    for x := 0 to Memo1.Lines.count - 1 do

    begin

    VariavelTexto:= Memo1.Text;

    //faça outros tratamentos que desejar... isso tudo linha a linha do memo

    end;

    end;

  2. bom, minha opinião é a seguinte:

    já usei a versão 7, 2007 e estou na 2010... e já tem a 2011... na versão 2010, tem mtos outros componentes interessantes para se colocar na aplicação e outros recursos que o 2007 e o 7 não tinha... por exemplo, o menu Ribbon (estilo office 2007, Hint com balões entre outros, rave reports já incorporado)... todos os componentes externos que eu utilizava nas versões anteriores, consegui para a versão 2010.... eu utilizo como bd, sql server express 2005... muito bom e a integração dele com o delphi é moleza... já tem conexão própria do sql no delphi, o que facilita a integração... mas imagino que se for para aplicações "pequenas", que imagino ser o seu caso, tanto sql server express, firebird, interbase você consegue desenvolver tranquilamente sem grilos, visto que o fluxo de informações não será grande...

    essa é minha opinião, espero ter ajudado...

  3. para colocar a data no maskedit, faz assim:

    MaskEdit1.Text:= DateToStr(date);

    para colocar a mascara no formato de data "DD/MM/AAAA", faz assim '!99/99/9999;1;_'... onde esse 1 no final, indica se você quer gravar o formato também junto no seu banco de dados... '01/01/2011'... se for 0, ele salva só os números da data '01012011'...

    espero ter ajudado...

  4. devo ter me expressado mal então... estou usando no evento onKeyDown:

    if (key = VK_DELETE) then
      begin
          if not (dm.CDSItens_Venda.State in [dsEdit]) then
            dm.CDSItens_Venda.Edit;
    
          dm.CDSItens_VendaCancelado.AsString:= 'S';
          dm.CDSItens_Venda.SaveToFile(Local_Arquivo(2), dfXMLUTF8);
      end;

    tipo, não é para deletar propriamente dito... pro usuário, ele pensa que está excluindo, mas para o sistema, ele está cancelando o item selecionado....

    outra coisa, eu devo mandar o CDSItens_Venda.SaveToFile somente quando acabar de remover os itens que eu quero??? se sim, fiz um teste aqui, apenas deixando o Clientdataset em modo de edição, passando o valor 'S' para o campo cancelado e só após o usuário terminar tudo, ele salvar... e não funcionou... continuou alterando apenas o último registro para 'S'....

    desde já, obrigado

  5. bom dia a todos...

    tenho dbgrid... estou usando clientdataset para criar xml (local)... estou ligando da forma correta, funciona tudo perfeito...

    só que, tenho um campo chamado Cancelado, onde se o usuário selecionar a linha desejada e pressionar delete, esse campo dessa linha tem que ficar Sim... estou fazendo assim:

    if not (dm.CDSItens_Venda.State in [dsEdit]) then
            dm.CDSItens_Venda.Edit;
    
          dm.CDSItens_VendaCancelado.AsString:= 'S';
          dm.CDSItens_Venda.SaveToFile(Caminho_Arquivo, dfXMLUTF8);

    só que não funciona... ele sempre coloca o 'S' em uma linha que nem selecionei... e se eu tenho 10 registros e pressiono Delete em 5 por exemplo (um de cada vez), ele fica 'S' somente em um... já tentei ClientDataSet.Post, ClientDataSet.ApplyUpdates e nada... estou usando clientdataset -> datasetprovider -> adoquery -> datasource...

    desde já, obrigado a todos...

  6. bom, ai você está querendo usar porcentagem?

    se for, você poderia dar uma "separada" para ficar mais fácil, atribuindo os valores a uma variável e depois jogando nos edit's correspondentes... e para usar a porcentagem, você usa

    (Valor / 100) * Valor2

    ... assim, você pode estruturar da forma que quiser...

  7. bom, se entendi o que você quis dizer, você quer rodar esse script ai só depois que o processo X estiver aberto, não é isso??

    com ctz, quando esse processo estiver aberto, vai ser criado um arquivo na sua máquina, simbolizado esse processo... então, tente fazer assim:

    Verifica:= false;
    while not Verifica do
    begin
      if FileExists('ArquivoQueRepresentaOProcessoAberto') then
      begin
        Verifica:= true;
        CódigoQueDesejaImplementar;
      end;
    end;

    ou seja, você clica no botão e ele fica num loop até ser encontrado o processo... sacou???

    espero ter ajudado...

  8. bom, você poderia fazer assim, se eu entendi o que você quer fazer:

    crie uma variável chamada ativo do tipo boolean... no evento onEnter do RadioGroup você atribui a variavel a true e no onExit você atribui a variavel a false...

    ai você verifica:

    if ativo then
      faça algo
    else
      faça algo também

    tente assim para ver se funciona...

  9. porque você não faz um modo randomico?? ai esses números já gerados, você vai guardando num lugar (banco, arquivo texto sei lá)... ai, quando gerar outro (numa próxima ocasião), você verifica se esse número gerado já foi gerado... se sim faz algo, se não faz algo....

    procedure GeraNumero;
    var
       numero: integer;
    begin
      randomize;
      numero := Round(random(99999)); // 99999 é o limite do numero randomico
      Edit1.Text := IntToStr(num);
    end;

    ai um exemplo de como fazer um randomize...

    espero ter ajudado

  10. boa noite a todos...

    estou desenvolvendo uma aplicação TEF e nela pede para bloquear o teclado.... estou usando o BlockInput do windows mesmo para bloquear... ele bloqueia teclas "normais", algumas combinações como Alt+Tab, Ctrl+Tab e tal... mas, por exemplo, Tecla do Windows + L ele chama a janela de bloquear computador... mas é preciso bloquear qualquer tecla... alguém da uma dica ai de como fazer para bloquear literalmente tudo????

×
×
  • Criar Novo...