Ir para conteúdo
Fórum Script Brasil

Vivendo&Aprendendo

Membros
  • Total de itens

    856
  • Registro em

  • Última visita

Tudo que Vivendo&Aprendendo postou

  1. Resolvido na mesma consulta... CartaoDepositos.SQL.Add('Select * From CartaoDepositos'); CartaoDepositos.SQL.Add('Where ((Referente = "XXXXXXXXXX" and DistritoRef Like :pDis) and (IgrejaRef Like :pIgreja or DistritoRef Like :Dist))'); CartaoDepositos.Params[0].Value := Distrito; //Mantém visível todos os dados do respectivo distrito CartaoDepositos.Params[1].Value := Combobox.Text; CartaoDepositos.Params[2].Value := Combobox.Text;
  2. Olá, mais uma vez venho pedir o socorro. Desde já não sei se é neste forum mesmo que deve ser postada essa dúvida. Ela está relacionada ao delphi e ao mysql. Tenho uma consulta que me retorna um resultado, preciso fazer outra consulta sql dentro desse resultado apenas. segue abaixo minha consulta: CartaoDepositos.SQL.Add('Select * From CartaoDepositos'); CartaoDepositos.SQL.Add('Where Referente = "XXXXXXX" and DistritoRef Like :pDis and IgrejaRef Like :pIgreja'); CartaoDepositos.Params[0].Value := Variavel; CartaoDepositos.Params[1].Value := Combobox.Text; Essa consulta me retorna um resultado e agora dentro desse resultado preciso fazer outro select/where.
  3. Legal, valeu mais uma vez Jhonas Essa é outra maneira que deu certo: if Combobox1.ItemIndex = Combobox1.Items.IndexOf('TODAS') then
  4. tenho um combobox que é alimentado no oncreate de um form com dados de tabelas. Após ele receber esses dados, crio mais um item nele chamado TODOS. Preciso saber em qual itemindex ele está ou localiza-lo pelo text, pois ao selecioná-lo a SQL precisa trazer todos os dados novamente.
  5. Valeu Jhonas, mais uma vez resolvendo meus problemas Obrigado
  6. Boa noite Jhonas Seria mais interessante cada pastor em seu Grid. Consigo criar as TabSheets do pagecontrol em tempo de execução e criar um DBGrid dentro delas. Mas quando clico na Aba 2 por exemplo o DBGrid some. Só que ele cria na primeira TabSheet em vez de criar na que está sendo criada também. Deveria ser criado o DBGrid na TabSheet Aba1 e não na Cadastro. Esse é o código que estou usando para criar a tabsheet no meu pagecontrol já existente e o DBGrid dentro dela. procedure TForm1.SpeedButton1Click(Sender: TObject); var ZQuery : TZQuery; DataSource : TDataSource; Abas : TTabSheet; DBGrid : TDBGrid; begin Inc(Contador); Abas := TTabSheet.Create(PageControl1); Abas.Caption := 'Aba '+IntToStr(Contador); Abas.Name := 'Aba'+IntToStr(Contador); Abas.PageControl := PageControl1; PageControl1.ActivePage := Abas; DBGrid := TDBGrid.Create(Self); with DBGrid do begin Parent := PageControl1; Align := alClient; Name := 'Grid'+Abas.Name; Visible := True; DBGrid.Columns.Insert(0); DBGrid.Columns[0].FieldName:='Referente'; DBGrid.Columns[0].Title.Caption:='Referente'; DBGrid.Columns[0].Title.Alignment := taCenter; DBGrid.Columns[0].Title.Font.Style := [fsBold]; DBGrid.Columns[0].Width:=155; DBGrid.Columns.Insert(1); DBGrid.Columns[1].FieldName:='DescricaoPastor'; DBGrid.Columns[1].Title.Caption:='Igreja/Pastor'; DBGrid.Columns[1].Title.Alignment := taCenter; DBGrid.Columns[1].Title.Font.Style := [fsBold]; DBGrid.Columns[1].Width:=200; DBGrid.Columns.Insert(2); DBGrid.Columns[2].FieldName:='MesReferente'; DBGrid.Columns[2].Title.Caption:='Mês Ref.'; DBGrid.Columns[2].Title.Alignment := taCenter; DBGrid.Columns[2].Title.Font.Style := [fsBold]; DBGrid.Columns[2].Width:=65; DBGrid.Columns.Insert(3); DBGrid.Columns[3].FieldName:='DataDeposito'; DBGrid.Columns[3].Title.caption:='Data Dep.'; DBGrid.Columns[3].Title.Alignment := taCenter; DBGrid.Columns[3].Title.Font.Style := [fsBold]; DBGrid.Columns[3].Alignment := taRightJustify; DBGrid.Columns[3].Width:=65; DBGrid.Columns.Insert(4); DBGrid.Columns[4].FieldName:='ValorD'; DBGrid.Columns[4].Title.caption:='Valor'; DBGrid.Columns[4].Title.Alignment := taCenter; DBGrid.Columns[4].Title.Font.Style := [fsBold]; DBGrid.Columns[4].Alignment := taRightJustify; DBGrid.Columns[4].Width:=70; DBGrid.Columns.Insert(5); DBGrid.Columns[5].FieldName:='Comprovante'; DBGrid.Columns[5].Title.caption:='Nº Envelope'; DBGrid.Columns[5].Title.Alignment := taCenter; DBGrid.Columns[5].Title.Font.Style := [fsBold]; DBGrid.Columns[5].Alignment := taRightJustify; DBGrid.Columns[5].Width:=100; end; end;
  7. Olá Jhonas Já temos um sistema próprio da nossa igreja. O que preciso agora é controlar depósitos. Vou tentar explicar melhor. Todos os meses as igrejas depositam certos valores em uma conta corrente. Esses valores são referentes a: Contribuição da igreja, contabilidade, Missões, Contribuição para o seminário teológico e Contribuição pastoral. Salvo na tabela os seguintes dados: Referente - que será uma dessas opções acima; Mês referente - escolho o mês ao qual o depósito é referente, pois posso depositar atrasado em algumas situações; Data depósito - data que sai no comprovante de depósito Comprovante - número do envelope de depósito ou da transferência bancária; e Igreja/Pastor - O nome da igreja se for as quatro primeiras opções, mas se for contribuição pastoral, preciso salvar o nome dele. (Está certo também). O problema está na apresentação desses dados. Preciso para cada opção (Contribuição da igreja, contabilidade, Missões, Contribuição para o seminário teológico e Contribuição pastoral), mostrar em um grid separado de uma vez. Faço a separação pelo campo referente, mas na mesma igreja podem ter mais de um pastor e agora preciso que os cada pastor seja mostrado em grid separado também. Entendeu?
  8. Olá pessoal Tenho uma tabela no banco mysql onde salvo os seguintes dados (Referente, IgrejaPastor, MesReferente, DataDeposito, Valor e Comprovante), essa tabela é para controle de depósitos bancários que são efetuados obrigatoriamente todos os meses e para fins pré-estabelecidos. No campo Referente, específico que tipo de depósito será (Missões, Contabilidade, Contribuição pastoral, etc;). Para cada uma dessas opções, preciso mostrar os dados em um DBGrid ou StringGrid e saber se os depósitos estão em dia. Em todas as igrejas as seguintes opções se repetem normalmente (Contabilidade e Missões), mas em algumas existem mais de um pastor que deposita a contribuição pastoral. Nesse caso, preciso saber qtos pastores estão efetuando o depósito e criar o Grid para mostrar os dados. Lembrando que só tenho a certeza de que existe pelo menos um pastor, mas se houver mais de um como faço para criar os grids?
  9. Bom, vamos lá. A instalação do componente DelphiTwain no delphi 2010 funcionou da seguinte maneira: 1. No meu Tools/Options/Library Win 32 na opção Library Path precisamos setar o caminho onde se encontra o componente. 2. No menu File/New/Package - Delphi - abra um novo projeto de package 3. No lado direito superior da sua tela tem o bloco Project Manager, irá aparecer o novo projeto de package com o nome Package1.bpl (aqui você pode renomear se quiser). Clique com botão direito do mouse sobre o nome e vá e Add. Adicione os arquivos do componente. 4. Clique novamente com o botão direito sobre o nome e vá em Install. Ele irá instalar as vcl's e criará a aba do componente. Aqui funcionou assim. Lembrando que este componente que baixei só possui os arquivos .pas. Até mais e resolvido.
  10. Jhonas, como informei acima não encontro essa opção de Install Component no delphi 2010. Segue abaixo as opções que tenho. Quando escolho Install Packages não dá certo, pois os arquivos do componente que tenho são todos .pas. Desculpe, mas não estou conseguindo mesmo e por isso esse incomodo.
  11. Desculpe-me Jhonas, mas no delphi 2010 não estou conseguindo. Os arquivos são apenas .pas e não tem a opção Install componente igual no delphi 7. Se puder me auxilia aí
  12. Certo Jhonas, obrigado, mas já baixei o Twain só não sei como instalar ele.
  13. Olá povo do fórum... Pesquisei o fórum e em diversos lugares sobre esse assunto e encontrei um componente que supostamente faz o que estou precisando, ou seja, preciso scanear documentos pela minha aplicação. Encontrei o Delphi Twain, mas o problema que uso delphi 2010 e não consegui instalar ele. Vocês teriam outro componente para isso (scanear documentos em jpg, pdf, etc com mais de uma página)? O delphi 2010 tem algum componente nativo pra isso? Ou, podem me dizer como instalar esse componente no 2010? Até mais
  14. Olá Jhonas e pessoal do fórum, desculpe mas acho que não me expressei bem. Preciso que apareça apenas o ano no componente. Preciso que seja por exemplo uma lista contendo apenas os anos, sem dias e meses, pois nesse caso não importa. Quando eu escolher 2016 por exemplo, ele já receberá 01/01 e mais o ano escolhido(2016) e 31/12 mais o ano (2016) também, logo só preciso selecionar o ano desejado. Resolvido da seguinte maneira: Propriedade Format = yyyy Propriedade Date Mode = dmUpDown Obrigado Jhonas, sua resposta clareou as idéias rsrsrs
  15. Olá pessoal Preciso gerar relatórios anuais, então pensei em usar o componente DateTimePicker para isso, mas gostaria que mostrasse apenas o ano, pois, preciso que os relatórios sejam de 01/01 até 31/12. Caso o ano não tenha terminado ele gera até a data atual. Teria como fazer isso usando esse componente ou outro, mas sem deixar o usuário digitar o ano? Grato
  16. E isso mesmo Jhonas, nem me lembrava desse tópico. Parei de programar em Delphi em 2009 e voltei agora devido uma necessidade de um cliente. Neste tópico aí vocês resolveram meus problemas, mas usei o mesmo programa desenvolvido na época e ele mesmo está dando os erros. Mas valeu.
  17. Cara, já tem as dll's baixadas, não acho esse componente IdSSLIOHandlerSocket1, apenas esse IdSSLIOHandlerSocketOpenSSL1. Todos os componentes estão no form e não entendo porque dos erros. Vou instalar outra versão do delphi e testar em outra máquina tb.
  18. Bom dia Jhonas e mais uma vez obrigado pela atenção. Olha realmente não sei o que estou fazendo de errado, pois não funciona aqui. Uso win7 e já copiei seu código, baixei o exemplo que mandou e todos dão erro. Agora está dando erro nessas linhas: with IdSMTP1 do begin AuthenticationType := atLogin; e IdSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv2; IdSSLIOHandlerSocket1.SSLOptions.Mode := sslmBoth; e //-- requer autenticacao IdSMTP1.AuthenticationType:= atLogin; e if NOT IdSMTP1.Connected then IdSMTP1.Connect(3000); Esse componente IdSSLIOHandlerSocket1 é o mesmo que esse IdSSLIOHandlerSocketOpenSSL1? No exemplo o erro acontece ao clicar no botão: Não foi possível conectar ao servidor SMTP. Cloud not load SSL lbrary
  19. Abusando de sua boa vontade, teria como me enviar esse exemplo que você fez? aslalexandre@hotmail.com Segue abaixo todo meu código unit UnBackup; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ShellAPI, StdCtrls, DB, ADODB, ExtCtrls, ComCtrls, Buttons, AbBase, AbBrowse, AbMeter, AbZBrows, AbZipper, AbArcTyp, Mask, DBCtrls, ShellCtrls, CommCtrl, ShlObj, ActiveX, Grids, DBGrids, MAPI, IdMessage, IdIOHandler, IdIOHandlerSocket, IdSSLOpenSSL, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, Gauges, WinSkinData, MSNPopUp, IdExplicitTLSClientServerBase, IdSMTPBase, IdIOHandlerStack, IdSSL; const WM_ICONTRAY = WM_USER + 1; type TFrmBackup = class(TForm) StbBarra: TStatusBar; Timer: TTimer; PnProg: TPanel; Zip: TAbZipper; SaveDlg: TSaveDialog; ListBox: TListBox; BtnBackup: TSpeedButton; BtnFechar: TSpeedButton; PnInf: TPanel; Label1: TLabel; IdSMTP: TIdSMTP; // IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket; IdMessage: TIdMessage; BtnEmail: TSpeedButton; EdtPara: TEdit; LblPara: TLabel; IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL; procedure TimerTimer(Sender: TObject); procedure BtnFecharClick(Sender: TObject); procedure MSNPopUpClick(Sender: TObject); procedure BtnBackupClick(Sender: TObject); procedure MSNPopUpURLClick(Sender: TObject; URL: String); procedure BtnEmailClick(Sender: TObject); private { Private declarations } public { Public declarations } Function DataPorExtenso : String; end; var FrmBackup: TFrmBackup; implementation uses UnDados, UnPrincipal; {$R *.dfm} //Função de data por extenso function TFrmBackup.DataPorExtenso:String; const Meses : Array [1..12] of String = ('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'); Semana : Array [1..7] of String = ('Domingo','Segunda-Feira','Terça-Feira','Quarta-Feira','Quinta-Feira','Sexta-Feira','Sábado'); var Dia, Mes, Ano, DiaSem : Word; begin DecodeDate(Date,Ano,Mes,Dia); DiaSem := DayOfWeek(Date); Result := Semana[DiaSem] + ', '+ IntToStr(Dia) +' de '+ Meses[Mes] + ' de ' + IntToStr(Ano); end; procedure TFrmBackup.TimerTimer(Sender: TObject); begin StbBarra.Panels[0].Text := DataPorExtenso + ' - ' + TimeToStr(Time); end; procedure TFrmBackup.BtnFecharClick(Sender: TObject); begin Close; end; procedure TFrmBackup.MSNPopUpClick(Sender: TObject); begin //Show; end; procedure TFrmBackup.BtnBackupClick(Sender: TObject); var Origem, Destino, Nome : String; begin ListBox.Font.Color := clBlack; ListBox.Font.Style := []; ListBox.Clear; ListBox.Items.Add('FECHANDO AS TABELAS DO BANCO DE DADOS!'); DmDados.ConectaBanco.Connected := False; ListBox.Items.Add(' '); ListBox.Items.Add('VERIFICANDO O ARQUIVO. AGUARDE!'); ListBox.Items.Add(' '); ListBox.Items.Add('ARQUIVO VERIFICADO COM SUCESSO!'); ListBox.Items.Add(' '); ListBox.Items.Add('COMPACTANDO O ARQUIVO!'); Origem := ExtractFilePath(Application.ExeName)+'Dados\Dados.mdb'; If SaveDlg.Execute Then Destino := SaveDlg.FileName; Nome := 'Backup '+ FormatDateTime('[dd-mm-yyyy] [hh-mm-ss]', Now) +'.zip'; //MSNPopUp.Text := 'BackUp efetuado com sucesso! '+#13 +Nome; //MSNPopUp.ShowPopUp; BtnBackup.Enabled := False; Zip.StoreOptions := [soStripDrive, soStripPath, soRemoveDots, soRecurse]; Zip.FileName := Destino; Zip.AddFiles(Origem, 0); Zip.CloseArchive; Zip.Save; RenameFile(Destino,Nome); MessageBeep(MB_ICONINFORMATION); ListBox.Items.Add(savedlg.FileName); ListBox.Items.Add(Nome); ListBox.Items.Add(' '); ListBox.Items.Add('CONCLUÍDO!'); ListBox.Items.Add(' '); ListBox.Items.Add('ABRINDO AS TABELAS DO BANCO DE DADOS!'); ListBox.Items.Add(' '); BtnBackup.Enabled := True; DmDados.ConectaBanco.Connected := True; DmDados.Senhas.Active := True; //---------Configura a mensagem para ser enviada para o e-mail IdMessage.Subject:= Nome; IdMessage.Body.Add('Esta mensagem foi enviada pelo sistema.'); IdMessage.Body.Add('Arquivo de backup do banco de dados do sistema.'); IdMessage.Body.Add(' '); IdMessage.Body.Add('Backup do dia/hora: '+Nome);//+DateToStr(Date)+' - '+TimeToStr(Time)); IdMessage.Body.Add(' '); IdMessage.Body.Add('Atenção! Sempre faça o backup diário!'); //-------anexa o arquivo automaticamente //TIdAttachment.create(idmessage.MessageParts, TFileName(Nome)); end; procedure TFrmBackup.MSNPopUpURLClick(Sender: TObject; URL: String); begin Show; end; procedure TFrmBackup.BtnEmailClick(Sender: TObject); begin IdSMTP.Host:= 'smtp.gmail.com'; IdSMTP.Port:= 465; IdSMTP.Username:= 'aslalexandre@gmail.com'; IdSMTP.Password:= 'aslale'; IdMessage.From.Address:= 'aslalexandre@gmail.com'; IdMessage.From.Name:= 'Sistema de Backup'; IdMessage.Recipients.EMailAddresses:= EdtPara.Text; IdSMTP.Connect;//(3000); IdSSLIOHandlerSocketOpenSSL1.ReadTimeout := 30000; Application.ProcessMessages; IdSMTP.Send(IdMessage); Application.MessageBox('E-Mail enviado com sucesso!','Aviso',mb_IconInformation +mb_ok); IdSMTP.Disconnect; EdtPara.Clear; end; end.
  20. Jhonas, já tentei as duas primeiras opções de links que mandou, o ultimo link não abre. Testei com essa linha de código e com a exceção e deu o erro assim mesmo.
  21. Obrigado Jhonas, baixei, mas algumas funções nesta dão erro que na outra versão não dava. Agora está dando erro de Conncetion Closed Gracefully Pode me dar alguma dica?
  22. Olá pessoal. Fiz um sistema de backup para minha aplicação e este deve enviar o arquivo para um e-mail de dentro do sistema mesmo. Estou usando o Indy 9.0.18 e delphi 7. Esse é o código que estou usando no botão enviar e-mail. procedure TFrmBackup.BtnEmailClick(Sender: TObject); begin IdSMTP.Host:= 'smtp.gmail.com'; IdSMTP.Port:= 465; IdSMTP.Username:= 'XXXX'; IdSMTP.Password:= 'XXXX'; IdMessage.From.Address:= 'XXXX@gmail.com'; IdMessage.From.Name:= 'Sistema de Backup'; IdMessage.Recipients.EMailAddresses:= EdtPara.Text; IdSMTP.Connect(3000); Application.ProcessMessages; IdSMTP.Send(IdMessage); Application.MessageBox('E-Mail enviado com sucesso!','Aviso',mb_IconInformation +mb_ok); IdSMTP.Disconnect; EdtPara.Clear; end; O erro corre na linha em negrito. Error conecting with SSL
  23. Entendo Jhonas que não preciso do programa para isso e que o excel on line resolveria o meu problema, mas trabalho com algumas pessoas muito limitadas em relação ao uso de computadores, são pessoas já de uma certa idade e que não tem habilidades para isso, então o programa iria facilitar e muito para eles sem precisar abrir o excel online. Vou colocar uma foto da tela do programa onde eles apenas clicarão nas opções que dizem respeito a eles e que já estão familiarizados com elas. Quando escolherem essas opções, minha idéia é que cada uma delas busque a informação relacionada na planilha e no final faça o calculo. Tudo isso já funciona, só falta a planlçha estar na nuvem (OneDrive). Eu sei que poderia fazer tudo isso no excel on line e criar os macros ou campos para escolhas, mas eles já estão familiarizados com essa tela.
  24. Vi sim Jhonas, entendo sobre armazenamento na nuvem, seus riscos e vantagens. Já utilizo esse método para vários arquivos. Minha incapacidade aqui é fazer minha aplicação apenas ler a planilha que está no OneDrive e trazer os dados pra mim sem ser pelo excel online. Mas tudo bem, agradeço sua atenção.
  25. Certo Jhonas, mas como fazer isso usando então essa planilha do excel na nuvem e aplicação local? já fiz funcionar com a planilha do excel e a aplicação no pc local, mas preciso que essa planilha esteja na nuvem (em uma conta do OneDrive ou outro servidor de nuvem) e a aplicação nas cidades onde funcionará o sistema.
×
×
  • Criar Novo...