
flavioavilela
Membros-
Total de itens
375 -
Registro em
-
Última visita
Tudo que flavioavilela postou
-
o ADOConnection é o componente que liga o delphi ao bd... não é o driver de conexão e sim o componente que "recebe" esse driver e que liga, a grosso modo dizendo, o delphi ao banco... ele está na paleta dbGo, no meu caso aqui é o delphi 2010... para deletar a tabela, faça: DROP TABLE Nome_Tabela pelo que vi ai, sua tabela chama Menu e você colocou no Drop Tabela 0Menu....
-
bom, para copiar a tabela, com todos os dados e estrutura, já postei anteriormente... coloca ela numa ADOQuery e manda vê... SELECT * INTO NomeNovaTabela FROM TabelaExistente WHERE 1=1 para renomear, faz assim (a mesma idéia, coloca na ADOQuery)... ADOQuery1.Close; ADOQuery1.Connection := Seu_ADOConnection; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('EXEC sp_rename TabelaNova, TabelaVelha'); ADOQuery1.ExecSQL(); espero ter ajudado
-
boa noite amigo... imagino que você está tendo dificuldades em ligar o bd ao delphi, devido que as vezes ele não tem driver nativo... no meu caso, utilizo sql server... ele já possui driver nativo no delphi, logo, é moleza... quanto a copiar a tabela de um banco para outro, eu tenho aqui um utilitário que fiz para pegar dados de um bd de algum programa e passar para o meu... eu faço da seguinte forma: crio 2 ADOConnection (utilizo componentes ADO)... um com meu banco e outro com o banco do cliente... ai, crio ADOQuery's com os dados da tabela do meu bd e outro(s) com dados da tabela do bd do meu cliente... a partir dai, eu pego e faço: ADOQueryMeuBDCampo_Desejado1.AsString:= ADOQueryBDMeu_ClienteCampo_Desejado1.AsString; ADOQueryMeuBDCampo_Desejado2.AsString:= ADOQueryBDMeu_ClienteCampo_Desejado2.AsString; ou vice-versa... e por ai vai... quanto ao firebird, imagino que o delphi não terá driver nativo, logo, terá que achar na net... eu não sei te dizer o link (faz tempo que baixei), mas tenho aqui um driver ODBC para o firebird... procure no google por que encontrará... ai você instala e no ADOConnection encontrará o firebird... se isso tudo que lhe falei agora não for o que você solicitou, vai uma dica: para copiar uma tabela para outra (nova), não sei qual banco você utiliza, mas no sql server faço assim, mas imagino que a sintaxe não foge muito disso: SELECT * INTO NomeNovaTabela FROM TabelaExistente WHERE 1=1 só para explicar: nessa sintaxe ele pega tudo (até a extrutura) da TabelaExistente e copia para a NomeNovaTabela... significa que além da estrutura, os dados também serão copiados... se colocar , copiará apenas a estrutura... espero ter ajudado...
-
como assim, copiar uma tabela com outro nome??? você quer dizer que você quer pegar os dados de uma tabela e copiar para outra com os mesmos campos, só que, com outro nome??? se não, explica melhor para ver se posso lhe ajudar...
-
porque você não utiliza o FindProcess para verificar se tem algum serviço aberto (iExplorer por exemplo)... se tiver (ou não tiver), faça alguma coisa (fecha ou abre o iexplorer e abre ou fecha o mozilla por exemplo)... isso tudo, dentro de um componente Timer, onde sua propriedade Interval é por padrão 1000 (equivale a 1 segundo)... de segundo em segundo ele verifica se tem algum processo aberto ou não... espero ter ajudado...
-
8 paginas num unico relatório no Quick Report
pergunta respondeu ao Alberto Mota de flavioavilela em Delphi, Kylix
beleza... qualquer coisa posta ai pra gente ficar sabendo do resultado... -
8 paginas num unico relatório no Quick Report
pergunta respondeu ao Alberto Mota de flavioavilela em Delphi, Kylix
bom, eu tenho vários relatórios dessa forma que você descreveu e um deles eu preciso mostrar produtos, funcionarios, máquinas, talhões.... eu uso assim: 1 - QRBand com a propriedade BandType = rbGroupHeader. 1 - QRGroup com a propriedade expression apontando para o campo que eu quero que agrupe (que está na ADOQuery da respectiva tabela) e a propriedade Master apontado para a respectiva QRSubDetail. 1 - QRSubDetail com uma query (ADOQuery no meu caso) apontado na propriedade DataSet e a propriedade HeaderBand apontando para o QRBand do passo 1 e a propriedade Master apontando para o quickrep1. 1 - QRBand com a propriedade BandType = rbGroupFooter e a propriedade LinkBand apontando apontando para o QRGroup. isso ai é tipo um conjunto que utilizo para cada uma das tabelas que quero mostrar no relatório... um "kit" desse para, no meu caso, produtos, outro para funcionários, outro para máquinas e por ai vai... lembrando que quem vai "mandar" na consulta e aparecer o que você quer, é a query que está ligada a subdetail e agrupado pelo campo que está na propriedade Expression do QRGroup... Obs.: Eu utilizei o GroupHeader e o GroupFooter para agrupar apenas os produtos... o Header eu coloquei o Grupo que o produto faz parte e o Footer eu coloquei o total geral por Grupo. Caso queira apenas mostrar o conteúdo (sem totalizar e/ou agrupar nada), retire o GroupHeader e o GroupFooter.... espero ter ajudado. -
no componente timer mesmo você pode fazer... nele, você tem uma propriedade chamada Interval... ele é medido em milisegundo (1000 por default = 1 segundo)... você pode colocar o valor que quiser e a cada X Interval, ele executa o que você mandar.... quando a executar seu programa como serviço, leia esses dois posts abaixo, tem o que você precisa... um deles, aqui do próprio forum... http://www.marcosdellantonio.net/2007/06/2...ico-do-windows/ http://scriptbrasil.com.br/forum/index.php?showtopic=73500 espero ter ajudado...
-
8 paginas num unico relatório no Quick Report
pergunta respondeu ao Alberto Mota de flavioavilela em Delphi, Kylix
mas, o que deve conter nessas 8 páginas? Mestre, Detalhe, Detalhe do Detalhe.... ???? -
beleza cara... precisando, estamos aqui... e boa sorte nos estudos...
-
bom, pelo que estou vendo, o código está assim: MessageDlg (´Olá, pessoal´, mtInformation, [mbOK], 0); coloque assim: MessageDlg ('Olá, pessoal', mtInformation, [mbOK], 0); onde está escrito: Olá, pessoal tem que estar entre ' ' (aspas simples).... verifique isso
-
e o que diz a mensagem na tarja vermelha??
-
experimente colocar isso em um botão ou no evento OnCreate ou qualquer outro evento de qualquer outro objeto que não seja um Timer... o timer fica verificando no computador segundo a segundo.... e como hoje é 24, ele toda hora vai te retornar a mensagem... se colocar num botão ou um evento, por exemplo, ele vai verificar somente uma vez...
-
no segundo código, apague isso procedure OlaButtonContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean); aquela hora você removeu na parte de implementação essa procedure... faltou remover na parte de criação dela....
-
faça isso mesmo... começa outro projeto do zero... coloque o botão, de dois cliques no botão para abrir a janela de codificação, coloque a linha de código para chamar a mensagem e pronto....... ai, pressiona F9 para testar.... mas o ideal seria você conseguir ver onde está o erro, para você já ir pegando os esquemas de corrigir (pois serão mtos) rsrs.... faz assim.... posta o código por completo ai... da um Ctrl + A e cola o codigo aqui para analisar... ai te falo o que pode estar havendo... se preferir é claro...
-
bom, acho que você apagou linhas demais rsrsrs... veja se está assim (tem que estar assim) procedure TForm1.Button1Click(Sender: TObject); begin MessageDlg ('Olá, pessoal', mtInformation, [mbOK], 0); end; observe também se, logo após a linha procedure TForm1.Button1Click(Sender: TObject); tem algo digitado que não seja um Begin... e se esse Begin possui um End; e se entre o Begin e o End; tem a linha de comando MessageDlg ('Olá, pessoal', mtInformation, [mbOK], 0);... observe bem que o End; tem um ;(Ponto e virgula) no final... tem que ter, para indicar o final de linha...
-
bom, se entendi... você pode colocar o QRLabel dentro do shape... dai você tem no QRLabel a propriedade Alignment... coloca lá taCenter... ai, independente do texto, vai ficar no centro... mas ai, você vai ter que "limitar" o tamanho do QRLabel, pra ficar legal... espero ter ajudado...
-
é bem provavel que você deve ter dado dois cliques em outros objetos, sem ser o duplo clique que você deu no botão..... apague essa linha escrita: Procedure OlaButtonContextPopup(Sender: TObject; MousePos: TPoint); begin end; e apague todas essas declarações dessas procedures... deixe apenas a declaração do OlaButtonClick...
-
bom, por acaso você está pressionando F9 para entrar no modo de execução rsrsrs??? pelo que você descreveu ai, vejo que não está...
-
consegui achar mmmmuita coisa no site da devmedia, mais precisamente em video aulas... muito bom... Resolvido.
-
mas em qual evento do botão está o código??? experimente colocar no evento OnClick do botão o seguinte código ShowMessage('Oi'); e ve se funciona quando der um clique apenas no botão...
-
bom dia a todos... gostaria de modularizar meu sistema e me indicaram a usar bpl's... mas, nem sei por onde começar... alguém ai que manja disso tem algum exemplo, apostila, dicas ou sei lá o que, que possa me ajudar??? desde já, obrigado a todos...
-
experimente fazer assim: showmessage('Oi pessoal'); qualquer coisa, poste o código por completo ai para vermos o que pode estar havendo de errado...
-
(Resolvido) atualizar um campo no xml
pergunta respondeu ao flavioavilela de flavioavilela em Delphi, Kylix
boa noite... havia apenas um erro de lógica, mas, ficou assim e funcionou: dm.CDSItens_Venda.Edit; dm.CDSItens_VendaCancelado.AsString:= 'S'; dm.CDSItens_Venda.Post; dm.CDSItens_Venda.SaveToFile(Local_Arquivo(2), dfXMLUTF8); obrigado a todos... -
(Resolvido) atualizar um campo no xml
pergunta respondeu ao flavioavilela de flavioavilela em Delphi, Kylix
o intuito de deixar 'S' ou 'N', é para depois gerar alguns arquivos e nesses arquivos, devo informar se os itens foram cancelados ou não... estou usando o dbgrid sim... vou dar uma conferida nos codigos e qualquer coisa posto aqui... desde já, obrigado