-
Total de ítens
187 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Élviro Cavalcanti postou
-
Bom dia pessoal, estava revendo meu código de inclusão de item no detvenda, atualmente meu banco conta com mais de 1.000.000 de registros nessa tabela, estou usando o Firebird com o IBX. Estou vendo uma forma de melhorar e otimizar o tempo de inclusão desse registro, caso tenham alguma ideia agradeço a ajuda! Segue abaixo o código IBQueryDetVenda.Close; IBQueryDetVenda.sql.Clear; IBQueryDetVenda.SQL.Add('insert into DETVENDA'); IBQueryDetVenda.SQL.Add('(CODVENDA, DATA, HORA, CODPRODUTO, DESCRICAO, UN, NCM, CFOP,'); IBQueryDetVenda.SQL.Add('QUANTIDADE, VALORUNITARIO, SUBTOTAL, DESCONTO, VLRDESCONTO,'); IBQueryDetVenda.SQL.Add('VALORTOTAL, PESOLIQ, PESOBRUTO, ALIQUOTA, VALORICMS, USUARIO,'); IBQueryDetVenda.SQL.Add('DATAMODIFICACAO, CODLOTE, NLOTE, DTVENCIMENTOLOTE, DTFABBRICACAOLOTE, COMISSAONORMAL, VLRCOMISSAONORMAL,'); IBQueryDetVenda.SQL.Add('COMISSAODIFERENCIADA, VLRCOMISSAODIFERENCIADA, CODVENDEDOR, VENDEDOR,'); IBQueryDetVenda.SQL.Add('COMISSAO, REF, TAMANHO, CODCLI, CLIENTE, CODGRUPO, GRUPO, CODSUBGRUPO,'); IBQueryDetVenda.SQL.Add('SUBGRUPO, CODFORNECEDOR, FORNECEDOR, LUCRO, VLRCUSTOINCIAL, VLRCUSTO,'); IBQueryDetVenda.SQL.Add('VLRTOTALCUSTO, DIFERENCACUSTO, CODCOLABORADOR, CODBARRAS, BASECALCULOICMS,'); IBQueryDetVenda.SQL.Add('LABORATORIO, TOTALPESOLIQUIDO, TOTALPESOBRUTO, VOLUMES, QUANTVOLUMES,'); IBQueryDetVenda.SQL.Add('ALIQ_NAC, VLRALIQ_NAC, CODCOBRADOR, COBRADOR, CODMUNICIPIO, CEST, PROMOCAO, CSTNOTAFISCAL, PIS, COFINS, CODANP, CSOSN, VLRCUSTOMEDIO,'); IBQueryDetVenda.SQL.Add('CODORIGEMMERCADORIA, CST, CODCHAVETAMANHOSDETVENDA, FAMILIA, CODGRADE, DESCRICAOGRADECOR)'); IBQueryDetVenda.SQL.Add('values'); IBQueryDetVenda.SQL.Add('(:QCODVENDA, :QDATA, :QHORA, :QCODPRODUTO, :QDESCRICAO, :QUN, :QNCM, :QCFOP,'); IBQueryDetVenda.SQL.Add(':QQUANTIDADE, :QVALORUNITARIO, :QSUBTOTAL, :QDESCONTO, :QVLRDESCONTO,'); IBQueryDetVenda.SQL.Add(':QVALORTOTAL, :QPESOLIQ, :QPESOBRUTO, :QALIQUOTA, :QVALORICMS, :QUSUARIO,'); IBQueryDetVenda.SQL.Add(':QDATAMODIFICACAO, :QCODLOTE, :QNLOTE, :QDTVENCIMENTOLOTE, :QDTFABBRICACAOLOTE, :QCOMISSAONORMAL, :QVLRCOMISSAONORMAL,'); IBQueryDetVenda.SQL.Add(':QCOMISSAODIFERENCIADA, :QVLRCOMISSAODIFERENCIADA, :QCODVENDEDOR, :QVENDEDOR,'); IBQueryDetVenda.SQL.Add(':QCOMISSAO, :QREF, :QTAMANHO, :QCODCLI, :QCLIENTE, :QCODGRUPO, :QGRUPO, :QCODSUBGRUPO,'); IBQueryDetVenda.SQL.Add(':QSUBGRUPO, :QCODFORNECEDOR, :QFORNECEDOR, :QLUCRO, :QVLRCUSTOINCIAL, :QVLRCUSTO,'); IBQueryDetVenda.SQL.Add(':QVLRTOTALCUSTO, :QDIFERENCACUSTO, :QCODCOLABORADOR, :QCODBARRAS, :QBASECALCULOICMS,'); IBQueryDetVenda.SQL.Add(':QLABORATORIO, :QTOTALPESOLIQUIDO, :QTOTALPESOBRUTO, :QVOLUMES, :QQUANTVOLUMES,'); IBQueryDetVenda.SQL.Add(':QALIQ_NAC, :QVLRALIQ_NAC, :QCODCOBRADOR, :QCOBRADOR, :QCODMUNICIPIO, :QCEST, :QPROMOCAO, :QCSTNOTAFISCAL, :QPIS, :QCOFINS, :QCODANP, :QCSOSN, :QVLRCUSTOMEDIO,'); IBQueryDetVenda.SQL.Add(':QCODORIGEMMERCADORIA, :QCST, :QCODCHAVETAMANHOSDETVENDA, :QFAMILIA, :QCODGRADE, :QDESCRICAOGRADECOR)'); IBQueryDetVenda.ParamByName('QCODVENDA').AsInteger := DM.IBVendaCODIGO.AsInteger; IBQueryDetVenda.ParamByName('QDATA').AsDate := DM.IBVendaDATA.AsDateTime; IBQueryDetVenda.ParamByName('QHORA').AsString := TimeToStr(now); IBQueryDetVenda.ParamByName('QCODPRODUTO').AsInteger := DM.IBEstoqueCODIGO.Value; IBQueryDetVenda.ParamByName('QDESCRICAO').AsString := VDescricao; IBQueryDetVenda.ParamByName('QUN').AsString := DM.IBEstoqueUNIDADE.AsString; IBQueryDetVenda.ParamByName('QNCM').AsString := DM.IBEstoqueCODIGONCM.AsString; IBQueryDetVenda.ParamByName('QCODVENDEDOR').AsCurrency := DM.IBVendaCODVENDEDOR.AsInteger; IBQueryDetVenda.ParamByName('QVENDEDOR').AsString := DM.IBVendaVENDEDOR.AsString; IBQueryDetVenda.ParamByName('QCOMISSAO').AsCurrency := VComissaoVendedor; IBQueryDetVenda.ParamByName('QREF').AsString := DM.IBEstoqueREF.AsString; IBQueryDetVenda.ParamByName('QTAMANHO').AsString := DM.IBEstoqueTAMANHO.AsString; IBQueryDetVenda.ParamByName('QCODCLI').AsInteger := DM.IBVendaCODCLI.AsInteger; IBQueryDetVenda.ParamByName('QCLIENTE').AsString := DM.IBVendaCLIENTE.AsString; IBQueryDetVenda.ParamByName('QCODGRUPO').AsInteger := DM.IBEstoqueCODGRUPO.AsInteger; IBQueryDetVenda.ParamByName('QGRUPO').AsString := VGrupo; IBQueryDetVenda.ParamByName('QCODSUBGRUPO').AsInteger := DM.IBEstoqueCODSUBGRUPO.AsInteger; IBQueryDetVenda.ParamByName('QSUBGRUPO').AsString := DM.IBEstoqueSUBGRUPO.AsString; IBQueryDetVenda.ParamByName('QCODFORNECEDOR').AsInteger := DM.IBEstoqueCODFORNECEDOR.AsInteger; IBQueryDetVenda.ParamByName('QFORNECEDOR').AsString := DM.IBEstoqueFORNECEDOR.AsString; IBQueryDetVenda.ParamByName('QLUCRO').AsCurrency := CurrencyEdit3.Value - (CurrencyEdit4.Value * DM.IBEstoqueVLRCUSTOFINAL.AsCurrency); IBQueryDetVenda.ParamByName('QVLRCUSTOINCIAL').AsCurrency := DM.IBEstoqueVLRCUSTO.AsCurrency; IBQueryDetVenda.ParamByName('QVLRCUSTO').AsCurrency := DM.IBEstoqueVLRCUSTOFINAL.AsCurrency; IBQueryDetVenda.ParamByName('QVLRTOTALCUSTO').AsCurrency := DM.IBEstoqueVLRCUSTOFINAL.AsCurrency * CurrencyEdit4.Value; IBQueryDetVenda.ParamByName('QDIFERENCACUSTO').AsCurrency := (DM.IBEstoqueVLRCUSTOFINAL.AsCurrency * CurrencyEdit4.Value) - (DM.IBEstoqueVLRCUSTO.AsCurrency * CurrencyEdit4.Value); IBQueryDetVenda.ParamByName('QCODCOLABORADOR').AsInteger := DM.IBVendaCODPARCEIRO.AsInteger; IBQueryDetVenda.ParamByName('QCODBARRAS').AsString := DM.IBEstoqueCODBARRAS.AsString; IBQueryDetVenda.Prepare; IBQueryDetVenda.ExecSQL; //Insere os dados na tabela de venda //Somar os valores na tabela de venda try begin IBQuery1.DisableControls; IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add('SELECT sum(VLRTOTALCUSTO), Count(DESCRICAO), Sum(QUANTIDADE), Sum(VLRDESCONTO), Sum(TOTALPESOLIQUIDO), Sum(TOTALPESOBRUTO), Sum(VLRALIQ_NAC), Sum(VALORTOTAL), Sum(SUBTOTAL), Sum(VLRACRESCIMO) FROM DETVENDA'); IBQuery1.SQL.ADD('WHERE CODVENDA = ' + QuotedStr(edcodvenda.Text) + ''); IBQuery1.Prepare; IBQuery1.open; DM.IBVenda.Edit; DM.IBVendaSUBTOTALCUSTO.AsString := floattostr(IBQuery1.fields[0].asfloat); DM.IBVendaTOTALCUSTO.Text := floattostr(IBQuery1.fields[0].asfloat); DM.IBVendaITENS.AsString := floattostr(IBQuery1.fields[1].asfloat); DM.IBVendaVOLUMES.AsString := floattostr(IBQuery1.fields[2].asfloat); DM.IBVendaVLRDESCONTO.AsString := floattostr(IBQuery1.fields[3].asfloat); DM.IBVendaPESOLIQ.AsString := floattostr(IBQuery1.fields[4].asfloat); DM.IBVendaPESOBRUTO.AsString := floattostr(IBQuery1.fields[5].asfloat); DM.IBVendaVLRTOTALALIQ_NAC.AsString := floattostr(IBQuery1.fields[6].asfloat); DM.IBVendaVALORTOTAL.AsString := floattostr(IBQuery1.fields[7].asfloat); DM.IBVendaSUBTOTAL.AsString := floattostr(IBQuery1.fields[8].asfloat); DM.IBVendaVLRACRESCIMO.Text := floattostr(IBQuery1.fields[9].asfloat); DM.IBVendaSENHALIBERACAO.Clear; DM.IBVendaUSUARIOSENHALIBERACAO.Clear; DM.IBVendaVALORTOTAL.AsCurrency := (DM.IBVendaSUBTOTAL.AsCurrency - IBQuery1.fields[3].asfloat) + DM.IBVendaVLRACRESCIMO.AsCurrency; DM.ibvenda.Post; IBQuery1.EnableControls; DM.IBTransaction1.CommitRetaining; end; except begin ShowMessage('Não foi possível somar itens da venda!'); Close; end; end; //Somar os valores na tabela de venda
-
Segue a forma que faço pra pegar o XML original, essa rotina fica logo após a rotina de envio GerarNFCe(DM.IBVendaPDVNUMEROCUPOM.AsString); //Rotina para gerar o xml ACBrNFe1.Enviar (1,False,False,False); //Rotina para envio do arquivo para a sefaz //Rotina para copiar o xml original para a pasta de xml originais if not DirectoryExists(edtPathLogs.Text + '\XMLOriginal') then ForceDirectories(edtPathLogs.Text + '\XMLOriginal'); VsOrigem := edtPathLogs.Text + '\1-env-lot.xml'; if FileExists(edtPathLogs.Text + '\XMLOriginal\' + DM.IBVendaPDVNUMEROCUPOM.AsString + '.xml') then begin Application.MessageBox('Já existe um arquivo XML que foi gerado anteriormente na pasta \XMLOrigimal, verifique!', 'Controller', MB_OK + MB_ICONINFORMATION); end else begin if FileExists(edtPathLogs.Text + '\1-env-lot.xml') then Begin VsDestino := edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml'; CopyFile(Pchar(VsOrigem), PChar(VsDestino), False); if FileExists(edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml') then RenameFile(edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml', edtPathLogs.Text + '\XMLOriginal\' + DM.IBVendaPDVNUMEROCUPOM.AsString + '.xml'); End; end; //Rotina para copiar o xml original para a pasta de xml originais
-
Bom dia, sempre consulto dessa forma FrmPrincipal.ACBrNFe1.NotasFiscais.Clear; FrmPrincipal.ACBrNFe1.Consultar(DM.IBVendaPDVCHAVENFCE.AsString, False); FrmPrincipal.ACBrNFe1.WebServices.Consulta.Executar; MemoResp.Lines.Text := FrmPrincipal.ACBrNFe1.WebServices.Consulta.RetWS; memoRespWS.Lines.Text := FrmPrincipal.ACBrNFe1.WebServices.Consulta.RetornoWS; ShowMessage(obterNroResultado(MemoResp.text, 'xMotivo','</xMotivo'));
-
Boa tarde, eu estava com um problema semelhante, conseguia gerar o XML com o campo de hora usando o now, mas quando usava a hora do meu sistema, sempre acusava que estava atrasado, continuei usando o now como parâmetro de hora para envio, só que pego o xml original (sem o protocolo de retorno)e coloco numa pasta renomeado com o número do cupom, dessa forma eu quando vou consultar e baixar o xml com o protocolo de autorização, eu apenas carrego no componente o xml que foi gerado originalmente, segue abaixo o que fiz, espero que ajude! Aqui eu gero o xml e envio para a sefaz GerarNFCe(DM.IBVendaPDVNUMEROCUPOM.AsString); ACBrNFe1.Enviar (1,False,False,False); //Rotina para copiar o xml original para a pasta de xml originais if not DirectoryExists(edtPathLogs.Text + '\XMLOriginal') then ForceDirectories(edtPathLogs.Text + '\XMLOriginal'); VsOrigem := edtPathLogs.Text + '\1-env-lot.xml'; if FileExists(edtPathLogs.Text + '\XMLOriginal\' + DM.IBVendaPDVNUMEROCUPOM.AsString + '.xml') then begin Application.MessageBox('Já existe um arquivo XML que foi gerado anteriormente na pasta \XMLOrigimal, verifique!', 'Controller', MB_OK + MB_ICONINFORMATION); end else begin if FileExists(edtPathLogs.Text + '\1-env-lot.xml') then Begin VsDestino := edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml'; CopyFile(Pchar(VsOrigem), PChar(VsDestino), False); if FileExists(edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml') then RenameFile(edtPathLogs.Text + '\XMLOriginal\1-env-lot.xml', edtPathLogs.Text + '\XMLOriginal\' + DM.IBVendaPDVNUMEROCUPOM.AsString + '.xml'); End; end; //Rotina para copiar o xml original para a pasta de xml originais e aqui é onde faço a consulta caso não tenha o xml na pasta ou por algum acaso o cliente não tenha mais esse xml //Consulta se o xml está na pasta if FileExists(DM.IBVendaPDVCAMINHOXML.AsString) then Begin Label16.Caption := 'Localizado aquivo XML na pasta '; FrmSituacaoNFCe.Refresh; Sleep(1000); MemoResp.Lines.LoadFromFile(DM.IBVendaPDVCAMINHOXML.AsString); ScrollBox3.Visible := true; DM.IBVendaPDV.Edit; DM.IBVendaPDVPROTOCOLONFCE.AsString := obterNroResultado(MemoResp.text, '<nProt','</nProt'); DM.IBVendaPDVENVIADO.AsString := 'S'; DM.IBVendaPDV.Post; DM.IBTransaction1.CommitRetaining; End else begin Application.MessageBox('XML da NFCe não localizada na pasta, o sistema vai gerar um novo arquivo XML!', 'Controller', MB_OK + MB_ICONINFORMATION); Label16.Caption := 'Aguarde, o sistema vai gerar o aquivo XML ...'; FrmSituacaoNFCe.Refresh; Sleep(1000); FrmPrincipal.ACBrNFe1.NotasFiscais.Clear; EdCodVendaEnvio.Text := DM.IBVendaPDVCODIGO.AsString; FrmPrincipal.ACBrNFe1.Consultar(DM.IBVendaPDVCHAVENFCE.AsString, False); FrmPrincipal.ACBrNFe1.WebServices.Consulta.Executar; MemoResp.Lines.Text := FrmPrincipal.ACBrNFe1.WebServices.Consulta.RetWS; memoRespWS.Lines.Text := FrmPrincipal.ACBrNFe1.WebServices.Consulta.RetornoWS; ShowMessage(obterNroResultado(MemoResp.text, 'xMotivo','</xMotivo')); Edit2.Text := obterNroResultado(MemoResp.text, 'xMotivo','</xMotivo'); if Edit2.Text = 'Autorizado o uso da NF-e' then begin Label16.Caption := 'Autorizado o uso da NF-e'; FrmSituacaoNFCe.Refresh; Sleep(500); //ShowMessage('Vai gerar a NFCe'); DM.IBVendaPDV.Edit; DM.IBVendaPDVPROTOCOLONFCE.AsString := obterNroResultado(MemoResp.text, '<nProt','</nProt'); DM.IBVendaPDVENVIADO.AsString := 'S'; DM.IBVendaPDV.Post; EdCodVendaEnvio.Text := DM.IBVendaPDVCODIGO.AsString; //GerarNFCe(DM.IBVendaPDVNUMEROCUPOM.AsString); FrmPrincipal.ACBrNFe1.NotasFiscais.LoadFromFile(FrmPrincipal.edtPathLogs.Text + '\XMLOriginal\' + DM.IBVendaPDVNUMEROCUPOM.AsString + '.xml'); FrmPrincipal.ACBrNFe1.Consultar(); end else begin Application.MessageBox('Não foi possível gerar o novo XML!', 'Controller', MB_OK + MB_ICONSTOP); end; Panel1.Visible := false; FrmSituacaoNFCe.Refresh; end;
-
conectar Firebird com UniConnection
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
Quando tento enviar apenas com o caminho retrna o erro "Undefined service gds_db/tcp -
conectar Firebird com UniConnection
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
No caso, estou informando 192.168.1.58/3050:C:Fire\DADOS.FDB -
conectar Firebird com UniConnection
um tópico no fórum postou Élviro Cavalcanti Object Pascal - Delphi & Lazarus
Boa tarde, estou tentando conectar o banco Firebird 2.5 com o componente UniConnection no APP usando Delphi, quando uso o MySQL ele funciona e conecta normal, mas usando o firebird ele retorna "connection rejected by remote interface" mesmo com a porta liberada, segue abaixo a forma que estou usando para conectar o banco (192.168.1.58/3050:C:Fire\DADOS.FDB), alguém já pegou esse problema? UniConnection1.Close(); UniConnection1.Database := EdBase.Text; UniConnection1.Port := 3050; UniConnection1.Username := 'sysdba'; UniConnection1.Password := 'masterkey'; UniConnection1.LoginPrompt := False; UniConnection1.ProviderName := 'InterBase'; UniConnection1.Connected := True; -
Impressão NFCe em bobina
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Pois é meu amigo, estava usando o do danfe da nfe, acabei de ajustar aqui, peço desculpas pela falta de atenção! Aqui resolvido agora, tudo correndo certo aqui, pode fechar a postagem! -
Impressão NFCe em bobina
um tópico no fórum postou Élviro Cavalcanti NFC-e - Nota Fiscal do Consumidor Eletrônica
Bom dia, estou tentando imprimir a NFCe na bobina, mas sempre me retorna no papel A4 ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile('C:\Delphi 2010\NFCe ACBR\Arquivos NFCe\NFCe\202109\NFCe\26210905347988000183650010000054051000930194-nfce.xml',False); ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe; ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400; ACBrNFe1.NotasFiscais.Imprimir; Esse é como chamo a impressão, mas sempre retorna no formato A4, alguém sabe como posso converter e imprimir de forma na bobina? -
Entendi, vou pesquisar na internet sobre como usar sequence e generators, fico grato pela ajuda mais uma vez !
-
Você tem algum exemplo de como usar? Sempre usei gerators.
-
Boa tarde, estou migrando pra usar o componente Unidac no delphi 2010 e como sempre usei os gatilhos do firebird para gerar o código sequencial, vi que pra o Unidac tem a forma via SQL, o que acontece é que meu banco é grande e esse retorno demora um pouco, segue abaixo o código e caso alguém use de outra forma, agradeço a ajuda! DM.IBQVerifica.close; DM.IBQVerifica.SQL.Clear; DM.IBQVerifica.SQL.Add('select max(Vendas.Codigo) from Vendas'); DM.IBQVerifica.open; DM.IBVendaCODIGO.AsInteger := DM.IBQVerifica.Fields[0].AsInteger + 1;
-
Como cadastrar softwarehouse no DF e AL
Élviro Cavalcanti replied to Ailton Ferreira's tópico in Dúvidas não relacionadas ao ACBr
Isso mesmo meu amigo, basta pegar o CSC e emitir as 10 notas de teste -
Como cadastrar softwarehouse no DF e AL
Élviro Cavalcanti replied to Ailton Ferreira's tópico in Dúvidas não relacionadas ao ACBr
Boa tarde, só os códigos CSC e pedir os protocolos de homologação e produção -
Para correção do erro Could not load SSL library ao enviar a NFe ou a NFCe, basta colocar esses dois arquivos nas pastas C:\Windows\System32 e C:\Windows\SysWOW64 caso exista na máquina. Segue abaixo o link para baixar os arquivos https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa1B0ajYwd29ZTXZGUUVpbm82RVFxdkNIM2N4Z3xBQ3Jtc0trZ211UXVoOTFuZk45dGxjWHhYZ2o5RDk4U0RwS0hyRmVmZlVyN0M2X2RMS3pOZUg4WDFTRVFfUnRYVl9QTXJQZGFsWHNvcWZBcklpT2l1c0huUno2VS1MN1hNRDltV3VnRnA2NGxMNkxFR2d4dGI3UQ&q=http%3A%2F%2Ftecno.dev%2FDLL-fintech
-
Como usar o Firebird no Android via Zeos.
Élviro Cavalcanti replied to EMBarbosa's tópico in Banco de Dados
Sim, mas como o componente tem a cesso a Firebird e SQL Lite fiz esse questionamento sobre qual seria melhor pra uso nesse caso. -
Como usar o Firebird no Android via Zeos.
Élviro Cavalcanti replied to EMBarbosa's tópico in Banco de Dados
Qual seria o melhor para trabalhar nesse caso, Unidac ou o Zeos? -
ler arquivo xml de importação
Élviro Cavalcanti replied to Fernando Rodrigo's tópico in Object Pascal - Delphi & Lazarus
Fernando, eu uso uma rotina pra meu sistema, vou postar abaixo, pode ser util pra você Favor anexar arquivo e não colar trecho de códigos EDIT: Exemplo.txt -
Android 11 com app no delphi
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
Eu tive que usar o Delphi Delphi 10.4 pra poder fazer rodar, agora o app está normal -
Android 11 com app no delphi
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
entendi, estou no xe8 vou atualizar ele novamente e verificar se vai rodar, vou colocando aqui os procedimentos que poderá ajudar outros membros nessa questão, obrigado meu amigo! -
Android 11 com app no delphi
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
Estou usando a Android 10 (API 29), é a mesma que você utiliza? -
Android 11 com app no delphi
Élviro Cavalcanti replied to Élviro Cavalcanti's tópico in Object Pascal - Delphi & Lazarus
Juliomar, sempre que tento abrir no android 11 ele fecha o app, fui nas permissões no delphi e marquei como True as permissões, mas mesmo assim ele fecha. -
Parcelar venda, arredondar parcelas.
Élviro Cavalcanti replied to Dfox's tópico in Object Pascal - Delphi & Lazarus
Eu acho que se fizer com variávem também daria certo var VValorTotal, VValorDividido, VValorResultado:Currency; begin VValorTotal := 50; VValorDividido := VValorTotal / 3; Edit1.Text := floattostr(VValorDividido); VValorResultado := VValorDividido * 3; ShowMessage(FormatFloat('0.00', VValorResultado));