Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''Delphi''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
    • Recomendação de sistemas operacionais
    • Windows
    • GNU/Linux, BSD, Unix-like e software livre
  • Eletrônicos
    • Equipamentos de som, home theaters e gravadores de mesa
    • Televisores e projetores
    • Câmeras e filmadoras
    • Players portáteis
    • Consoles (videogames)
    • GPS
    • Telefonia fixa
    • Eletrônica
    • Retrocomputação
  • Outros
    • Recomendações de serviços e lojas
    • Preços e ofertas
    • Notícias
    • Bolsa de empregos, certificações e mercado de trabalho
    • "Causos"
    • Encontros de usuários
  • Clube do Hardware
    • Comentários, elogios, críticas, sugestões e questões sobre o Clube do Hardware
    • Comentários de artigos
    • Fórum para testes de funcionalidades

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 74 registros

  1. boa noite! precisava de uma ajuda com remoçao de constraint no firebird pelo iexpert. tenho uma tabela com fk e pk, e preciso de uma forma de excluir através de um script, para posteriormente criar novamente. no firebird 2.5, o script abaixo eu conseguia excluir a fk e em seguida a pk: delete from rdb$relation_constraints where rdb$constraint_name = ( select first 1 tc.rdb$constraint_name x from rdb$relation_constraints tc join rdb$index_segments idx on (idx.rdb$index_name = tc.rdb$index_name) where tc.rdb$constraint_type = 'foreign key' and tc.rdb$relation_name = 'movcontacorrente' and idx.rdb$field_name = 'clifor_id' ); delete from rdb$relation_constraints where rdb$constraint_name = ( select first 1 tc.rdb$constraint_name x from rdb$relation_constraints tc join rdb$index_segments idx on (idx.rdb$index_name = tc.rdb$index_name) where tc.rdb$constraint_type = 'primary key' and tc.rdb$relation_name = 'movcontacorrente' ); porém no firebird 3.0 o comando delete do script acima não funciona. achei em vários sites o pessoal falando para utilizar dessa forma: alter table nome_da_tabela drop constraint nome_da_constraint; o problema é que o nome da constraint eu não sei, e para encontrá-la, utilizo o select: select first 1 tc.rdb$constraint_name x from rdb$relation_constraints tc join rdb$index_segments idx on (idx.rdb$index_name = tc.rdb$index_name) where tc.rdb$constraint_type = 'foreign key' and tc.rdb$relation_name = 'movcontacorrente' and idx.rdb$field_name = 'clifor_id'; queria saber como faço para utilizar o resultado desse select para colocar no comando abaixo: alter table nome_da_tabela drop constraint nome_da_constraint;
  2. Fala galera, sou iniciante no delphi e tenho que fazer um programa que calcule a moda, media, e mediana. Na hora de fazer a mediana estou com um erro de tipo de variáveis incompatíveis porém as variáveis são do mesmo tipo, e tentei de várias formas, se alguem puder me ajudar, segue o código e a foto do erro. procedure CalculoMedia(cont: integer); procedure CalculoModa(cont: integer); procedure CalculoMediana(cont: integer); var Form1: TForm1; vet: array [1..100] of real; // DECLARAÇÃO VETOR QUE RECEBE OS VALORES moda,media,mediana:real; aux,aux2,aux3:real; i,j:integer; implementation {$R *.dfm} procedure TForm1.Button2Click(Sender: TObject); begin application.Terminate; end; procedure TForm1.Button1Click(Sender: TObject); begin i:=i+1; vet[i]:=StrtoFloat(Edit1.Text); // EDIT1 memo1.Lines.Add(FloatToStr(vet[i])); //ADICIONANDO Nº DIGITADO AO MEMO CalculoMedia(i); // CHAMANDO A FUNÇÃO CALCULO MEDIA Edit1.Clear; Edit1.SetFocus; end; procedure TForm1.CalculoMedia(cont: integer); begin aux:=aux+vet[cont]; media:=aux/cont; Label4.Caption:=FloatToStr(media); end; procedure TForm1.CalculoMediana(cont: integer); begin for i:=1 to cont do //PRIMEIRO FOR begin for j:=1 to cont do //SEGUNDO FOR begin if vet[i]<vet[j] then aux:=vet[i]; vet[i]:=vet[j]; vet[j]:=aux; end;//FIM PRIMEIRO FOR end;//FIM SEGUNDO FOR if ((cont mod 2)=0) then begin aux2:=cont/2; mediana := vet[aux2]; Label6.Caption:=FloatToStr(mediana); end else begin mediana := (vet[cont/2-1]+vet[cont/2])/2; Label6.Caption:=FloatToStr(mediana); end; end;
  3. Como eu gero Registros De Cadastro automaticamente, sem o Auto Incremento. que vai gerar os registros automaticamente, a cada novo cadastro por exemplo. Não achei nada na internet que me ajude. Eu estou usando o Firebird . eu tinha esse código mais meu pc deu problema no hd e perdi tudo! Me Parece que cria uma variavel <COD>, E no caso o Edit1 Recebe, não sei muito bem se e isso. Estou usando o Firebird, como converto isso para minha realidade? Eu trabalho só com IBTAble!! Uma vez numa aplicação que eu fiz, tinha esse código, mais meu pc deu pau e perdi os arquivos. mais fazia uma variavel, e o Edit que o que vai receber a sequência de números, por sequência. 1 2 3 4 e assim por diante. A cada cadastro ele adiciona automaticamente no Grid. Por incrível que pareça não encontrei nada em vídeos ou artigos que me ajudasse com minha realidade que desenvolvo,
  4. Bom dia Quando executo o programa abaixo, buga no "end." e aparece a seguinte mensagem de erro: "BEGIN expected but END found". Porquê? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) edt1: TEdit; lbl1: TLabel; edt2: TEdit; lbl2: TLabel; edt3: TEdit; btn1: TButton; btn2: TButton; btn3: TButton; btn4: TButton; btn5: TButton; procedure btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure btn5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var resultadoFinal: Integer; procedure TForm1.btn1Click(Sender: TObject); procedure btn2Click(Sender: TObject); procedure btn3Click(Sender: TObject); procedure btn4Click(Sender: TObject); procedure btn5Click(Sender: TObject); var numero1, numero2: Integer; begin numero1 := StrToInt(edt1.Text); numero2 := StrToInt(edt2.Text); resultadoFinal := numero1 + numero2; edt3.Text := IntToStr(resultadoFinal); end; end.
  5. Podem me explicar uma forma de fazer exponenciação? Da forma que eu to fazendo não dá certo, tentei de algumas formas e não obtive sucesso. Vou continuar tentando mas se puderem me dar alguma luz ^^ var numero1, numero2, resultadoFinal: Integer; implementation numero1 := StrToInt(edt1.Text); numero2 := StrToInt(edt2.Text); resultadoFinal := Power(numero1,numero2); edt3.Text := IntToStr(resultadoFinal);
  6. Oi, gente. Estou precisando fazer um trabalho para a faculdade e preciso criar um componente visual e um não visual. Já li várias apostilas na internet, já vi livro, mas nada me ajuda. Será que alguém pode me ajudar? Desde já agradeço.
  7. Boa tarde, estou com um trabalho, que solicita o uso da ferramenta Tchart para a realização de calculos dos pontos criticos de uma função. Esse componente já aplica esse calculo de alguma forma? Obrigado
  8. Boa tarde. Preciso que minha query retorne os aniversariantes entre duas datas selecionadas em dois datetimepickers. Fiz assim: //Realiza a consulta Adoquery1.Close; Adoquery1.SQL.Clear; Adoquery1.SQL.Add('Select * from CadPessoas'); ADOQuery1.SQL.add('where ((Month(DtNasc) * 100) + Day(DtNasc)) between :DtNascIni and :DtNascFim'); AdoQuery1.SQL.add('Order by DtNasc'); ADOQuery1.Parameters.ParamByName('DtNascIni').Value := MonthOf(DateTimePicker1.DateTime) * 100 + DayOf(DateTimePicker1.DateTime); ADOQuery1.Parameters.ParamByName('DtNascFim').Value := MonthOf(DateTimePicker2.DateTime)*100 + DayOf(DateTimePicker2.DateTime); AdoQuery1.Open; Só que ele ta confundindo os meses que tem o numero 1. Por exemplo, fiz uma consulta entre 01 de Janeiro e 01 de fevereiro. Ele retornou todos os aniversariantes de outubro, novembro, dezembro e janeiro. Já se a consulta for entre fevereiro e março, por exemplo, que não envolve meses que começam com o numero 1, dá certinho. Alguém poderia ajudar? Uso Delphi 7 e Access.
  9. Olá pessoal, poderiam me dar algumas dicas? Eu gostei da sintaxe do Delphi e da simplicidade para criar aplicações com interface gráfica, mas ainda vale a pena aprender Delphi. Há mercado? Tenho vontade de trabalhar com aplicações Desktop para Windows. Agradeço desde já
  10. Boa tarde, gente! No meu programa eu estou lendo um arquivo txt e preciso separar cada coisa para colocar em Edits diferentes na minha tela principal. Dentro do meu arquivo tenho palavras e números separadas por tabulação. Já estou obtendo exito em relação as strings, entretanto, não sei e não encontrei uma forma de fazer o mesmo com os números. Irei mandar o código abaixo, quem puder me ajudar ficarei extremamente grata! Desde já, meus agradecimentos!! -------------------------- begin Readln(txt,linha); if contador <> 0 then begin Splitted := linha.Split([#9], 2); setlength(dados,contador); dados[contador-1].Cliente:=Splitted[0]; dados[contador-1].Marca:=Splitted[1]; end; inc(contador); end; Edit17.Text:= dados[0].Cliente; Edit2.Text:= dados[1].Marca; end; end. --------------------- Nesse caso, tanto meu cliente e marca são strings, mas minhas outras variáveis que estou com dificuldade são do tipo real, como o número, a data de fabricação e a potência. Obrigada novamente!
  11. Boa Noite. Estou com um probleminha que não estou conseguindo resolver. Tenho dois DBGrids onde no 'Dbgrid1' coloco as contas e no 'Dbgrid2' as parcelas das mesmas e desta forma atualizo as cores conforme baixa nas contas e parcelas. Digamos que para o 'Dbgrid1' uso o DM.qcontasareceber e no 'Dbgrid2' uso o DM.qparcelasR. Preciso que as contas vencendo no dia atual fiquem conforme abaixo. //A Pagar Hoje else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) then begin DBGrid1.Canvas.Brush.Color := clGray; DBGrid1.Canvas.Font.Color := clBlack; end porém preciso puxar mais um campo para validação do DM.qparcelasR mais ou menos assim //A Pagar Hoje else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) and (dm.qparcelas_RContaFinalizada.Value = 'Não') then begin DBGrid1.Canvas.Brush.Color := clGray; DBGrid1.Canvas.Font.Color := clBlack; end porém quando coloco desta forma acima não muda a cor do grid como se não reconhecesse o comando. Alguém pode me ajudar? Segue abaixo todo o código de pintura para quem interessar!!! Todos os demais códigos estão todos funcionando!!! procedure Tfrm_ContasAReceber.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin // Selecionado if (gdSelected in State) or (gdFocused in State) then Begin DBGrid1.Canvas.Brush.Color := clBlue; DBGrid1.Canvas.Font.Color := clWhite; End // Sem gerar Parcela Else if (dm.qcontasreceberESTATUS.Value = 'QUITADO') and (dm.qContasreceberULTIMAPARCELA.Value = 0) then begin DBGrid1.Canvas.Brush.Color := clBlack; DBGrid1.Canvas.Font.Color := clWhite; end // Pago Else if (dm.qContasreceberESTATUS.Value = 'QUITADO') then begin DBGrid1.Canvas.Brush.Color := clYellow; DBGrid1.Canvas.Font.Color := clBlack; end //A Pagar Hoje else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) then begin DBGrid1.Canvas.Brush.Color := clGray; DBGrid1.Canvas.Font.Color := clBlack; end // Vencida else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value < date) and (dm.qcontasreceberESTATUS.Value = 'PENDENTE') then begin DBGrid1.Canvas.Brush.Color := clRed; DBGrid1.Canvas.Font.Color := clWhite; end // A Pagar else if (dm.qContasreceberPROXIMOPAGAMENTO.Value > date)and (dm.qcontasreceberESTATUS.Value = 'PENDENTE') then begin DBGrid1.Canvas.Brush.Color := clGreen; DBGrid1.Canvas.Font.Color := clWhite; end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end;
  12. faça um algoritmo que receba a idade de 5 pessoas e mostre na tela a soma das idades dos maiores ou iguais a 18 anos não estou conseguindo terminar pois na hora que digito os dados no programa os resultados não batem com a resposta, podem me dizer o estou fazendo de errado (Fiz o algoritmo no Pascalzim) Program Pzim ; Var i, idade, total: integer; Begin For i:=1 to 5 do begin Writeln('Digite a idade:'); read(idade); if (idade>=18) then total:=total + 1 end; Writeln('A soma das idades maiores de 18 anos é ', total); if (idade=18) then total:=total - 1; Writeln('A soma das idades iguais a 18 anos é ', total); End.
  13. Boa tarde a todos, Como já havia dito em um post anterior, sou novato em desenvolvimento e mais ainda em Pascal/Delphi, no programa que estou escrevendo, me deparei com um problema que de repente é até simples mas não estou conseguindo resolver. Tenho uma unit, dentro desta unit tenho um PageControl com seis abas e dentro da primeira aba tenho outro PageControl com mais duas abas (por enquanto). Pois bem, dentro das abas deste último PageControl, tenho dois DBGrids, com SQLDataSet, DataSetProvider e ClientDataSet. Inseri e programei alguns botões para Inserir, Editar, Excluir, Cancelar, Salvar e Sair, todos configurados e funcionando, tudo no PageControl(último citado). Ainda no mesmo PageControl, coloquei um ComboBox e um botão de "OK", para selecionar as abas, funcionando quase da forma que preciso. Ainda no mesmo PageControl, coloquei um campo TEdit para digitar e um potão de pesquisa, também funcionando, para as duas abas. Ainda no mesmo PageControl, e agora vem a questão mesmo, inseri um botão de voltar, programei a parte em que ele apaga os dados escritos no campo de pesquisa porém, ele não retorna a tabela ao seu estado original, a tabela fica com o resultado da busca indefinidamente. 1º Como posso fazer para que quando eu trocar de abas em qualquer um dos PageControl's a outra aba desapareça? 2º Como posso fazer para que quando eu clique no botão voltar o grid retorne ao seu estado original? Se houver mais alguma dica ou algo que eu possa melhorar em meu código(o que eu acho muito provável), eu agradeço imensamente. Segue o código do botão voltar até agora: procedure TfrmCompras.sbtnVoltarClick(Sender: TObject); Var i : Integer; begin for i := 0 to ComponentCount -1 do if Components is TEdit then begin TEdit(Components).Text := ''; end; if pcFormCompras.ActivePage = tbsInsumos then begin tbsInsumos.TabVisible := false; TClientDataSet(dsInsumos.DataSet).Close; TClientDataSet(dsInsumos.DataSet).Open; tbsInsumos.TabVisible := true; end; end; Código do botão "OK" para troca de abas do segundo PageControl, o do primeiro é basicamente a mesma coisa: procedure TfrmCompras.sbtnComprasFormClick(Sender: TObject); begin case cbxComprasForm.ItemIndex of 0 : tbsInsumos.TabVisible := true; 1 : tbsProcedimentos.TabVisible := true; end; edtFormCompras.SetFocus; end; Utilizo Win10Pro64, Delphi Tokyo, MySQL(HeidiSQL) Desde já agradeço imensamente.
  14. Bom dia! Primeiramente gostaria de pedir desculpas pela pergunta, sei que esse tópico é destinado somente para a programação em si, mas já tem um tempinho que formatei meu computador e estou tentando instalar o delphi novamente sem sucesso e preciso da ajuda de algum de vocês. Acredito que estou realizando todos os processos corretamente, inclusive a inserção da licença, mas nos últimos passos para a conclusão aparece o erro " Problem loading data", como a imagem abaixo. Ao clicar em close, o programa abre, mas de modo diferente do que devia estar, faltando diversos recursos essenciais para seu funcionamento, já tentei procurar alguma solução na internet, mas não obtive êxito até o momento. Se alguém puder me ajudar ficarei eternamente grata. Obrigada, desde já!
  15. Boa noite pessoal, estou quebrando a cabeça em uma questão aqui faz dois dias, já pesquisei em vários Fóruns e vídeo aulas mais sem sucesso. O Problema é o Seguinte. Tenho duas tabelas (contas_a_pagar) e (conta_a_pagar detalhes), em uma delas tenho um atualizo via "FORM" as contas com valores total da mesma, na outra atualizo "Botão Gerar Parcelas" e utilizo para gerar as parcelas. A Parte 1 que uso para gerar parcelas e inserir na minha tabela "contas_a_pagar_detalhe" esta funcionando normalmente e usei o comando abaixo: procedure Tfrm_ContasAPagar.BitBtn_GerarParcaela_MovClick(Sender: TObject); var qend, qend1 : TZQuery; LongintVar, i : Integer; DataConta : TDate; DataUltParcela : TDate; begin qend := TZQuery.Create(nil); qend.Connection := dm.Conect; qend1 := TZQuery.Create(nil); qend1.Connection := dm.Conect; qend.SQL.Clear; qend.SQL.Add(' SELECT ID, CENTRODECUSTO, VALORTOTAL '+#10+ ' FROM CONTAS_A_PAGAR WHERE ID = '''+ dm.qContasaPagar.FieldByName('id').asstring +''' '); qend.Open; qend1.SQL.Clear; qend1.SQL.Add('SELECT IDCONTA FROM CONTAS_A_PAGAR_DETALHE '+ 'WHERE IDCONTA = '''+ qend.FieldByName('ID').AsString +''' '); qend1.Open; LongintVar := StrToInt(edt_QtdParcelas_CP.Text); DataConta := StrToDate(edt_Data_CP.text); try if LongintVar = 1 then begin Messagedlg('Este Pagamento não tem Parcelas a Ser Geradas!',mtinformation,[mbok],0); exit; end else if qend1.RecordCount > 0 then begin Messagedlg('As Parcelas Já Foram Geradas Anteriormente!',mtinformation,[mbok],0); exit; end else begin LongintVar := StrToInt(edt_QtdParcelas_CP.Text); for I := 1 to LongintVar do begin qend1.SQL.Clear; qend1.SQL.Add(' INSERT INTO CONTAS_A_PAGAR_DETALHE '+#10+ ' (CENTRODECUSTO, IDCONTA, VALOR, JUROS, '+#10+ ' DESCONTOS, DATAVENCIMENTO, PARCELA, VALORDEVEDOR) '); qend1.SQL.Add(' VALUES '); qend1.SQL.Add(' (:P1, :P2, :P3, :P4, :P5, :P6, :P7, :P8) '); qend1.ParamByName('P1').asString := qend.FieldByName('CENTRODECUSTO').asString; qend1.ParamByName('P2').asString := qend.FieldByName('ID').asString; qend1.ParamByName('P3').AsCurrency := qend.FieldByName('VALORTOTAL').Value / LongintVar; qend1.ParamByName('P4').asString := '0'; qend1.ParamByName('P5').asString := '0'; qend1.ParamByName('P6').asDate := incMonth(DataConta, i); qend1.ParamByName('P7').AsString := IntToStr(i)+'/'+ IntToStr(LongintVar); qend1.ParamByName('P8').AsCurrency := qend.FieldByName('VALORTOTAL').Value / LongintVar; qend1.ExecSQL; end; end; except On E: Exception do raise Exception.Create(E.Message); end; ShowMessage('Foram Geradas ' + IntToStr(LongintVar) + ' Parcela(s) com Sucesso'); end; A Segunda Parte que é para atualizar meu campo "DatavUltParcela" na minha tabela conforme a "contas_a_pagar" é que mora o problema. Segue o comando que estou usando para ela. begin qend.SQL.Clear; qend.SQL.Add(' UPDATE CONTAS_A_PAGAR SET (DATAVULTPARCELA) '+#10+ ' WHERE ID = '''+ qend1.FieldByName('IDCONTA').AsString +''' '); qend.SQL.Add(' VALUES '); qend.SQL.Add(' (:CP1) '); qend.ParamByName('CP1').asDate := incMonth(DataConta, i); qend.ExecSQL; end; Será que estou fazendo algo de errado? Segue o código Completo do codigo: procedure Tfrm_ContasAPagar.BitBtn_GerarParcaela_MovClick(Sender: TObject); var qend, qend1 : TZQuery; LongintVar, i : Integer; DataConta : TDate; DataUltParcela : TDate; begin qend := TZQuery.Create(nil); qend.Connection := dm.Conect; qend1 := TZQuery.Create(nil); qend1.Connection := dm.Conect; qend.SQL.Clear; qend.SQL.Add(' SELECT ID, CENTRODECUSTO, VALORTOTAL '+#10+ ' FROM CONTAS_A_PAGAR WHERE ID = '''+ dm.qContasaPagar.FieldByName('id').asstring +''' '); qend.Open; qend1.SQL.Clear; qend1.SQL.Add('SELECT IDCONTA FROM CONTAS_A_PAGAR_DETALHE '+ 'WHERE IDCONTA = '''+ qend.FieldByName('ID').AsString +''' '); qend1.Open; LongintVar := StrToInt(edt_QtdParcelas_CP.Text); DataConta := StrToDate(edt_Data_CP.text); try if LongintVar = 1 then begin Messagedlg('Este Pagamento não tem Parcelas a Ser Geradas!',mtinformation,[mbok],0); exit; end else if qend1.RecordCount > 0 then begin Messagedlg('As Parcelas Já Foram Geradas Anteriormente!',mtinformation,[mbok],0); exit; end else begin LongintVar := StrToInt(edt_QtdParcelas_CP.Text); for I := 1 to LongintVar do begin qend1.SQL.Clear; qend1.SQL.Add(' INSERT INTO CONTAS_A_PAGAR_DETALHE '+#10+ ' (CENTRODECUSTO, IDCONTA, VALOR, JUROS, '+#10+ ' DESCONTOS, DATAVENCIMENTO, PARCELA, VALORDEVEDOR) '); qend1.SQL.Add(' VALUES '); qend1.SQL.Add(' (:P1, :P2, :P3, :P4, :P5, :P6, :P7, :P8) '); qend1.ParamByName('P1').asString := qend.FieldByName('CENTRODECUSTO').asString; qend1.ParamByName('P2').asString := qend.FieldByName('ID').asString; qend1.ParamByName('P3').AsCurrency := qend.FieldByName('VALORTOTAL').Value / LongintVar; qend1.ParamByName('P4').asString := '0'; qend1.ParamByName('P5').asString := '0'; qend1.ParamByName('P6').asDate := incMonth(DataConta, i); qend1.ParamByName('P7').AsString := IntToStr(i)+'/'+ IntToStr(LongintVar); qend1.ParamByName('P8').AsCurrency := qend.FieldByName('VALORTOTAL').Value / LongintVar; qend1.ExecSQL; end; begin LongintVar := StrToInt(edt_QtdParcelas_CP.Text); for I := 1 to LongintVar do begin qend.SQL.Clear; qend.SQL.Add(' UPDATE CONTAS_A_PAGAR SET (DATAVULTPARCELA) '+#10+ ' WHERE ID = '''+ qend1.FieldByName('IDCONTA').AsString +''' '); qend.SQL.Add(' VALUES '); qend.SQL.Add(' (:CP1) '); qend.ParamByName('CP1').asDate := incMonth(DataConta, i); qend.ExecSQL; end; end; end; except On E: Exception do raise Exception.Create(E.Message); end; ShowMessage('Foram Geradas ' + IntToStr(LongintVar) + ' Parcela(s) com Sucesso'); end; Estou trabalhando com banco de dados Mysql. Será que estou colocando a segunda parte no lugar errado? Falta algo? ou o Procedimento é errado? Alguém pode me ajudar por favor? Estou iniciando meus trabalhos com Delphi Tokio 10.2 e ainda sou um pouco leigo no assunto!!! Desde já agradeço a todos que ajudarem ou pelo menos tentarem.
  16. Boa noite pessoal... Gostaria de uma ajuda... eu estou com um projeto onde estou fazendo uma especie de estrato bancário onde os valores dele fica um embaixo do outro. Imagine que este é o relatório. ID DATA HORARIO CENTRO DE CUSTO HISTORICO TIPO VALOR 1 16/08/2018 10:00 EMPRESA TESTE1 DEBITO -R$ 100,00 2 16/08/2018 12:34 EMPRESA TESTE2 CREDITO R$ 200,00 3 17/08/2018 12:45 EMPRESA TESTE2 CREDITO R$ 130,00 4 17/08/2018 12:56 EMPRESA TESTE3 CREDITO R$ 140,00 5 18/08/2018 12:09 EMPRESA TESTE1 DEBITO -R$ 160,00 TOTAL CREDITO (?) TOTAL DEBITO(?) TOTAL CREDITO (Já está funcionando este campo de cálculo). Deste forma, Preciso colocar os campos negativos em vermelho e positivos em azul e também preciso de algum comando que posso usar no fortes report que calcule o que teve de crédito e débito de acordo com o valor (Positivo ou negativo), ou de acordo com o campo "TIPO" (Crédito e Débito), alguém pode me ajudar? Banco de dados Mysql, Relatório Fortes Reportes, Campo (Valor) ou (TIPO) de é a origem do cálculo é um TRLDBText. Desde já agradeço.
  17. Gostaria de ajuda de vocês em uma duvida em relação a implantação do sistema. Estou com um cliente que deseja realizar a instalação em diversos terminais A duvida é em relação a como realizar a instalação em vários terminais tendo um único servidor. Como realizar a instalação do banco de dados no servidor e instalar o software no terminal com conexão com o servidor ( cada terminal terá uma licenca diferente ). Outra duvida: Normalmente vocês que realizam a "transformação" do pc mais potente do cliente em servidor ?
  18. Ja pensou em colocar suas aplicações com travas e controle Online ? Conheça a ferramenta OneMaker - Plataforma de Ativação OnLine Código Fonte no Delphi Tokyo Plataforma de ativação Online que pode ser integrado em qualquer sistema, de forma simples, rápida e totalmente automatizado. A integração é bem simples, apenas colocar o componente na aplicação, adicionar a unit no projeto e colocar um código no OnShow, pronto, seu sistema agora é totalmente controlado por liberação Online e Offline A plataforma é comercializada com seus códigos fontes em Delphi Tokyo **Alguns recursos** * Cadastro de clientes; * Cadastro Sistemas; * Cadastro de Contas bancárias; * Configurações de Boleto bancário * Geração de Mensalidades; * Geração de Boletos; * Envio de Boletos ao cliente; * Manutenção de Controle de contas a receber; * Trabalha com arquivo Retorno e Remessa; * Liberação automática após cliente pagar o boleto ou liberação manual;; * Bloqueio de cliente; * E muito mas... **Conteúdo do pacote** * Componente exclusivo com fontes * Fontes do Servidor * Fontes da Plataforma de Ativação Online * Unit para adicionar em sua aplicação Vídeo da ferramenta:https://www.youtube.com/watch?v=au9FjiUEoEI mais informações: Email / Skype: erp_onemaker@hotmail.com Whatsapp: (19) 99923-7944
  19. "'1a' is not a valid floating point value", quero mudar para "Valor inválido!". Como faço?
  20. Olá amigos. Estou com um problema queimando meus neurônios. Estou fazendo um programinha de gestão financeira para uma pequena igreja. Como o movimento é muito pequeno e não exige muito do banco de dados, utilizo Access conectado com ADO. No formulário tenho um combobox com os seguintes itens: dízimos, ofertas e total. Logo abaixo tenho um label, que deve me retornar a soma das entradas do mês corrente, do campo selecionado no combobox. Inseri no próprio formulário uma adoquery para cada item: dízimos, ofertas e total, e um dbtext (não visível) para cada adoquery que recebe o campo Expr1, Expr2 e Expr3, respectivamente. No evento onchange do combobox, coloquei o seguinte código: procedure TFinanceiro.ComboBox1Change(Sender: TObject); var num1, num2, num3: real; begin Label25.Caption := ''; AdoQuery1.Close; AdoQuery2.Close; AdoQuery3.Close; AdoQuery1.SQL.Clear; AdoQuery1.SQL.Add('Select Sum(Valor) as Expr1'); AdoQuery1.SQL.Add('from entradas'); AdoQuery1.SQL.Add('where Month(DtLanc) = Month(Date()) and year(DtLanc) = Year(Date()) and IdLancamento IN (1)'); AdoQuery2.SQL.Clear; AdoQuery2.SQL.Add('Select Sum(Valor) as Expr2'); AdoQuery2.SQL.Add('from entradas'); AdoQuery2.SQL.Add('where Month(DtLanc) = Month(Date()) and year(DtLanc) = Year(Date()) and IdLancamento IN (2)'); AdoQuery3.SQL.Clear; AdoQuery3.SQL.Add('Select Sum(Valor) as Expr3'); AdoQuery3.SQL.Add('from entradas'); AdoQuery3.SQL.Add('where Month(DtLanc) = Month(Date()) and year(DtLanc) = Year(Date()) and IdLancamento IN (3)'); AdoQuery1.Open; AdoQuery2.Open; AdoQuery3.Open; If Combobox1.Text = 'Total Geral de Entradas' Then begin if Dbtext3.Caption = '' then label25.Caption := 'R$0,00' else num3 := StrToFloat(DbText14.Caption); Label25.Caption := FloatToStrF(num3, ffcurrency, 8,2); end; If Combobox1.Text = 'Dízimos' Then begin if Dbtext1.Caption = '' then label25.caption := 'R$0,00' else num1 := StrToFloat(DbText1.Caption); Label25.Caption := FloatToStrF(num1, ffcurrency, 8,2); end; If Combobox1.Text = 'Ofertas' Then begin if Dbtext2.Caption = '' then label25.caption := 'R$0,00' else num2 := StrToFloat(DbText2.Caption); Label25.Caption := FloatToStrF(num2, ffcurrency, 8,2); end; End; Pois bem, quando seleciono, por exemplo, Dízimos, na combobox, ele retorna no label 25 a soma de todos os dízimos que entraram no mês. Se seleciono, ofertas, o label muda para a soma das ofertas. Funciona tudo perfeito. O problema é quando eu edito ou adiciono um novo lançamento. Meu código para isso é: procedure TFinanceiro.Button7Click(Sender: TObject); var data: string; begin data := FormatDateTime('DD/MM/YYYY', DateTimePicker1.Date); dbedit2.Text := data; dbnavigator1.BtnClick(nbpost); Combobox1.Text := 'Selecione a Opção'; Depois de clicar e salvar o lançamento, se eu volto no combobox1 e seleciono qualquer campo, o label sempre aparece zerado. Ou seja, ele não me retorna mais os totais. O mesmo ocorre após excluir um registro. Aí eu preciso sair do programa e entrar de novo, e quando faço isso, lá estão os valores atualizados. Já tentei inserir um close e um open na tabela após o insert, já tentei o mesmo com a conexão, e nada. Aliás, acredito que não deveria ser necessário algo assim, pois o evento onchange do combobox vai sempre fechar e abrir as adoquery, logo os valores deveriam atualizar. Enfim... não sei o que fazer para ele atualizar sem eu ter que fechar e abrir o programa. Se alguém puder dar uma força...
  21. Fiz um sistema no Delphi XE8, que utiliza o ClientDataSet. No meu computador roda Ok. Quando instalo em outro computador, da o seguinte erro: Access violation at address 0080635B in module 'AutomacaoC.exe'. Read of address 00000000, quando executa o seguinte comando: cdsForm.CreateDataSet; cdsForm.EmptyDataSet; cdsForm.Open; Alguem pode me ajudar?
  22. Boa tarde a todos, Iniciei muito recentemente na área de desenvolvimento e, como etapa inicial, estou tentando desenvolver um programa simples para ajudar no dia-a-dia de um dos setores da empresa em que trabalho. Este setor tem uma pasta em rede cheia de planilhas em excel, arquivos em .doc e pdf, minha intenção é criar uma aplicação que possa substituir o uso desse monte de documentos, ou a maior parte deles ao menos. Comecei a aplicação mas me deparei com uma coisa que ainda não sei como resolver, os documentos que já existem, precisarei migrá-los para dentro da aplicação, só não tenho ideia de como fazer. Encontrei algumas dicas na internet mas nada que eu tenha compreendido direito. Eu estou usando o Delphi Tokyo, MySQL com HeidSQL, em um Win10Pro64. A princípio, preciso descobrir como migrar ao menos uma planilha em .xlsx para o delphi e posteriormente salvar no banco de dados ou migrar direto para o banco de dados se for o caso. A criação da aplicação em si, até o momento não tem sido um problema. Qualquer ajuda é sempre bem-vinda. Agradeço imenso.
  23. alguém poderia me ajudar a criar uma regra para gerar parcelas no delphi seatle , com bando de dados em mysql?
  24. Amigos, estou desenvolvendo um programa em delphi seatle, e me deparei com um erro onde crie um proecesso para gera parcelas automaticamente, mais quando execulto o comando clicando no botão gerar parcelas, os registros não são gerados. segue o procedimento que estou usando. procedure Tform_teste.DBEdit3Exit(Sender: TObject); begin Dm.Tb_Parcelatotal_parc.Value := Dm.Tb_parcelavalor_parc.Value / Dm.Tb_parcelaquant_parc.Value; end; procedure Tform_teste.btn_gerarClick(Sender: TObject); var parc:integer; begin DBEdit3Exit (sender); if dm.Tb_Parcela.State in [dsinsert] then begin dm.Tb_Parcela.Insert; parc := 1; while parc <= dm.Tb_ParcelaID.Value do begin dm.Tb_Parcela.Insert; dm.Sql_parcelaID.Value:= parc; dm.Tb_parcelavalor_parc.Value := Dm.Tb_Parcelaquant_parc.Value; dm.Tb_Parcelavenc_parc.Value := date; dm.Sql_parcela.Post; inc (parc); dm.Tb_parcela.ApplyUpdates(1); end; end; tenho um dbgrid que mostra as parcelas geradas, o que ta acontecendo é que nao registra as parcelas no banco de dados, so registra 1uma, uso o banco de dados Mysql. Me ajudem ai por favor!!
  25. Boa noite pessoal, meu programa em Object Pascal do Delphi está dando erro de "Ponto de Entrada do Procedimento não localizado na Biblioteca de Vínculo Dinâmico". Vocês poderiam me dizer que tipo de erro é esse e como o resolvo? Fico no aguarde de vocês. Edisson Sávio.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×