Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Posts postados por Jhonas

  1. A figura que voce postou, especifica como corrigir os erros

    faça a tradução da pagina pelo Google Tradutor

    Basicamente está relatando não encontrar o(s) arquivo(s) no caminho  ou diretório especificado

    Obs: Em ultimo caso , sugiro que voce desinstale tudo, limpe os registros do windows, e instale tudo novamente mantendo as configurações padrão de instalação.

    abraço

  2. A solução está na sua primeira figura

    Abra o SDK Manager e verifique se o valor do campo Adb Location está correto no SDK Properties no seu Android SDK

    erro: falha ao obter o conjunto de recursos: dispositivo f não encontrado

    Obs: essa informação deve estar na configuração do caminho para os arquivos

    abraço

  3. Voce não informou qual é o tipo do display

    se for Display: Vácuo fluorescente ... uma trinca no display vai retirar o vacuo e fazer com que a luminosidade fique fraca até o completo apagamento.

    vale lembrar que esse tipo de display exige um circuito inversor para gerar alta voltagem para o brilho ( como se fosse uma lampada fluorescente ) e o problema pode ser nesse circuito.

    se for Display: Led ... voce tem que verificar a voltagem de alimentação do display

    se a voltagem de alimentação estiver abaixo do esperado, então voce deve verificar os componentes que fazem parte do circuito do display

    Obs:

    Voce não precisa substituir a placa principal, mas somente o display

    não tenho o esquema eletrico dessa balança, então fica essa dica para a solução.

     

    abraço

  4. Voce tem que ter algum registro dos sorteios para que não ocorra repetições.

    Armazene os resultados em uma tabela ou em uma matriz e depois de cada sorteio, teste o resultado com os valores que estão armazenados e faça uma comparação ... se os valores são iguais basta realizar novo sorteio ... se os valores são diferentes  então armazene esses novos  valores na tabela ou na matriz.

    abraço

  5. Tente outras soluções:

    1 - se o teclado for um form deixe ele como showmodal

    2 - diminua o tamanho do teclado ( deixe o teclado com a mesma largura da figura acima ) ou diminua o comprimento da figura acima

    3 - veja para onde segue o código quando voce usa  evento onClick do mouse no teclado

    4 - use o break point do delphi para descobrir o que esta acontecendo

    Obs:  Isso tambem pode estar ocorrendo, quando, ao clicar no teclado, o cursor esta indo para o Edit e ficando lá ... por isso o teclado vai para segundo plano.

    Tente fazer o cursor ( foco ) voltar para o teclado, assim que o valor for colocado no edit.

    abraço

     

  6. *Keyboardtype > (NamePhonePad) se eu coloco Keyboardtype > (Default) ele funciona normal, mas queria que so aparece-se os números.

    sugestões:

    1 -   troque o componente no form e recompile o projeto

    2 - deixe o componente Keyboardtype > (Default) e use uma rotina no evento OnKeyPress para que ele aceite somente numeros

    begin
       if not (Key in['0'..'9',Chr(8),',']) then Key:= #0;
    end;

    abraço

     

     

  7. exemplo:

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ExtCtrls, Mask;
    
    type
      TForm1 = class(TForm)
        MaskEdit1: TMaskEdit;
        Label1: TLabel;
        RadioGroup1: TRadioGroup;
        MaskEdit2: TMaskEdit;
        Label2: TLabel;
        function cpf(num: string): boolean;
        function ValidaCNPJ(I:string): Boolean;
        procedure RadioGroup1Click(Sender: TObject);
        procedure MaskEdit1Exit(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    function TForm1.cpf(num: string): boolean;
    var
       n1,n2,n3,n4,n5,n6,n7,n8,n9: integer;
       d1,d2: integer;
       digitado, calculado: string;
    begin
      if MaskEdit1.text = '' then exit;
      if MaskEdit1.text <> '   .   .   -  ' then
      begin
      n1:=StrToInt(num[1]);
      n2:=StrToInt(num[2]);
      n3:=StrToInt(num[3]);
      n4:=StrToInt(num[5]);
      n5:=StrToInt(num[6]);
      n6:=StrToInt(num[7]);
      n7:=StrToInt(num[9]);
      n8:=StrToInt(num[10]);
      n9:=StrToInt(num[11]);
      d1:=n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10;
      d1:=11-(d1 mod 11);
      if d1>=10 then
        d1:=0;
    
      d2:=d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11;
      d2:=11-(d2 mod 11);
      if d2>=10 then
        d2:=0;
    
        calculado:=inttostr(d1)+inttostr(d2);
        digitado:=num[13]+num[14];
      if calculado=digitado then
        cpf:=true
      else
        cpf:=false;
      end;
    end;
    
    function CalculaCnpjCpf(Numero : String) : String;
    var
     i,j,k, Soma, Digito : Integer;
     CNPJ : Boolean;
    begin
     Result := Numero;
     case Length(Numero) of
     9:
     CNPJ := False;
     12:
     CNPJ := True;
     else
     Exit;
     end;
     for j := 1 to 2 do
     begin
     k := 2;
     Soma := 0;
     for i := Length(Result) downto 1 do
     begin
     Soma := Soma + (Ord(Result[i])-Ord('0'))*k;
     Inc(k);
     if (k > 9) and CNPJ then
     k := 2;
     end;
     Digito := 11 - Soma mod 11;
     if Digito >= 10 then
     Digito := 0;
     Result := Result + Chr(Digito + Ord('0'));
     end;
    end;
    
    
    function TForm1.ValidaCNPJ(I:string): Boolean;
    var
       cnpj: array[1..14] of integer;
       apoio: array[0..13] of integer;
       f: integer;//para uso no for
       total: integer;//para totalização dos valores
       D1: integer;//primeiro dígito calculado
       D2: integer;//segundo dígito calculado
    begin
    //Primeiro teste: o número de algarismos
    if (Length(I)<>14) then result:=false
    else
      begin
      //Antes do teste propriamente dito temos que montar a matriz com os
      //os algarismos do CNPJ e depois uma matriz apoio) que terá os números
      //que ajudarão a verificar so dígitos verificadores
      for f := 1 to 14 do
          begin
           cnpj[f]:=0;
           apoio[f-1]:=0;
          end;
      //Monta matriz cnpj
      for f := 1 to 14 do
          begin
           cnpj[f]:=strtoint(I[f]);
          end;
      end;
      //Monta matriz de apoio
      apoio[0]:=6;//só será usada no cálculo do segundo dígito verificador
      apoio[1]:=5;
      apoio[2]:=4;
      apoio[3]:=3;
      apoio[4]:=2;
      apoio[5]:=9;
      apoio[6]:=8;
      apoio[7]:=7;
      apoio[8]:=6;
      apoio[9]:=5;
      apoio[10]:=4;
      apoio[11]:=3;
      apoio[12]:=2;
      //Começa cálculo do primeiro dígito verificador
      total:=0;//variável que conterá a soma da operação com os números
      for f := 1 to 12 do
            begin
              total:=total+(cnpj[f]*apoio[f]);
            end;
      D1 := total mod 11;
          if (D1<2) then D1:=0 else D1:=11-D1;
          if (D1<>cnpj[13]) then
            begin
              //Primeiro dígito verificador não confere
              Result:=false;
            end else
                    begin
                     //Entrou aqui, então o primeiro dígito confere!
                     total:=0;
                     for f := 0 to 12 do
                            begin
                               total:=total+(cnpj[f+1]*apoio[f]);
                            end;
                     D2 :=total mod 11;
                     if (D2<2) then D2:=0 else D2:=11-D2;
                     if (D2<>cnpj[14]) then
                            begin
                               //Segunod digito verificador não confere
                               Result:=false;
                            end else Result:=true;
                     end;
    
    end;
    
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    begin
      MaskEdit1.Text := '';
      MaskEdit2.Text := '';
    
      if RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] = 'Física' then
         begin
           Label1.Caption := 'CPF'; // seria o seu label onde o caption é c_cnpj
           Label2.Caption := 'RG';
           MaskEdit1.EditMask := '000.000.000-00';
           MaskEdit2.EditMask := '##############';
         end;
    
      if RadioGroup1.Items.Strings[RadioGroup1.ItemIndex] = 'Juridica' then
         begin
           Label1.Caption := 'CNPJ'; // seria o seu label onde o caption é c_cnpj
           Label2.Caption := 'INSCR.EST';
           MaskEdit1.EditMask := '000.000.000/0000-00';
           MaskEdit2.EditMask := '000.000.000-000';
         end;
    end;
    
    
    procedure TForm1.MaskEdit1Exit(Sender: TObject);
    VAR S, s2 : boolean;  s1 : string;
    begin
      try
      if Label1.Caption = 'CPF' then
        begin
          if MaskEdit1.text = '' then exit;
          s := cpf(MaskEdit1.text);
    
          if s = true  then
            //showmessage('CIC/CPF Valido')
          else
            begin
              showmessage('CIC/CPF Inválido');
              MaskEdit1.Text := '000.000.000-00';
            end;
        end;
      except
          MaskEdit2.Text := '000.000.000-00';
      end;
    
      try
      if Label1.Caption = 'CNPJ' then
        begin
          if MaskEdit1.text = '' then exit;
    
          s1 := MaskEdit1.Text;
    
          while Pos('.', S1) > 0 do
             delete(s1,Pos('.', S1),1);
          while Pos('/', S1) > 0 do
             delete(s1,Pos('/', S1),1);
          while Pos('-', S1) > 0 do
             delete(s1,Pos('-', S1),1);
    
          if Pos('0', S1) = 1 then
             delete(s1,Pos('0', S1),1);
    
          s2 := ValidaCNPJ(s1);
    
          if s2 = true  then
            //showmessage('CNPJ Valido')
          else
            begin
              showmessage('CNPJ Inválido');
              MaskEdit1.Text := '000.000.000/0000-00';
            end;
        end;
      except
          MaskEdit1.Text := '000.000.000/0000-00';
      end;
    
    end;
    
    end.

    Obs: Faça as modificações necessarias para o seu uso.

    Ou se preferir veja esses links

    https://www.google.com/search?q=validar+cpf++delphi&ie=utf-8&oe=utf-8&client=firefox-b

    abraço

  8. OBS: Tutoriais & Dicas - Delphi, Kylix

    É o Fórum destinado à postagem de tutoriais dicas e artigos sobre as linguagens Delphi e Kylix

    Para dúvidas é o Delphi, Kylix ... ok ?

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

    A duvida é como criar esta janela de pesquisa e como chama-la sem atrapalhar o momento do cadastro do produto?

    Voce vai criar um outro Form para pesquisa e vai chama-lo através de um botão no seu Form de Cadastro

    Voce vai usar uma variavel Global  ( ou seja, vai definir a variavel no seu form de cadastro como publica , e qundo voce criar o form de pesquisa e associar a unit do form cadastro, a variavel vai aparecer no no form de pesquisa ...  e nele voce vai atribuir o valor a essa variavel . que automaticamente vai passar para o seu form de cadastro.

    Voce vai encontrar exemplos disso nesses links 

    https://www.google.com/search?q=chamar+form+de+pesquisa+delphi&ie=utf-8&oe=utf-8&client=firefox-b

    abraço

  9. ok... exemplo

    SELECT * FROM Produtos
    WHERE Codigo BETWEEN
    vCodigoIni AND vCodigoFim;

    nesse caso voce deve passar os valores dos edits para as variaveis

    .. Button1.OnClick;

    var

      vCodigoIni, vCodigoFim: String

    begin

      vCodigoIni := edtCodigoIni.Text;

      vCodigoFim := edtCodigoFim.Text;

      MinhaQry.close;

      MinhaQry.SQL.Clear;

      MinhaQry.SQL.ADD.('Select * from produtos');

      MinhaQry.SQL.ADD.( + 'Where Codigo BETWEEN ' + vCodigoIni  + ' and ' + vCodigoFim );

      MinhaQry.Open;

    end;

    se quiser usar os proprios edits .. seria isso

    begin

      MinhaQry.close;

      MinhaQry.SQL.Clear;

      MinhaQry.SQL.ADD.('Select * from produtos');

      MinhaQry.SQL.ADD.( + 'Where Codigo BETWEEN '+ inttostr(strtoint(trim(edtCodigoIni.Text))) + ' and '  +  inttostr(strtoint(trim(edtCodigoFim.Text)));

      MinhaQry.Open;

    end;

    abraço

  10. Quando tento definir o cliente_id como not null retorna erro 1452 - Cannot add or update a child row: a foreign key constraint fails.

    Quando tento definir o cliente_id como não null retorna erro 1452 - Não é possível adicionar ou atualizar uma linha filha: uma restrição de chave estrangeira falha.

    Obs: O erro 1452 - Não é possível adicionar ou atualizar uma linha filha: uma restrição de chave estrangeira falha ocorre quando o registro de dados é inicialmente inserido na Tabela Estrangeira.

    Exemplo:

    https://translate.google.com.br/translate?hl=pt-BR&sl=en&u=https://www.tutorialspoint.com/mysql-error-1452-cannot-add-or-a-child-row-a-foreign-key-constraint-fails&prev=search&pto=aue

    abraço

  11. Voce não colocou qual é a versão do seu delphi ...  entretanto, uma aplicação feita para 32 bits deve rodar sem problemas em 64 bits.

    Desenvolvi programas em delphi 7 usando o windows XP ( 32 bits ) que rodam ( sem modificação alguma ) tranquilamente no windows 10 ( 64 bits ).

    Mas existem algumas limitações relacionadas a componentes de terceiros ou legados. Se a maioria dos componentes usados são VCL, não precisa modificar nada.

    Links sobre o assunto:

    https://www.google.com.br/search?ei=IqBXX8WqD7m95OUP2JaOuA4&q=migrar+projeto+32+bits+para+64+bits+delphi&o que=migrar+projeto+32+bits+para+64+bits+delphi&gs_lcp=CgZwc3ktYWIQAzoFCCEQoAE6CAghEBYQHRAeOgcIIRAKEKABUM4CWIIRYLQTaABwAXgBgAGSA4gB6BCSAQkwLjIuMy4yLjGYAQCgAQGqAQdnd3Mtd2l6wAEB&sclient=psy-ab&ved=0ahUKEwjFw8r57NnrAhW5HrkGHViLA-cQ4dUDCAw&uact=5

    abraço

     

×
×
  • Criar Novo...