-
Total de itens
93 -
Registro em
-
Última visita
Tudo que geovanepc postou
-
É possível acessar tabelas DBF com auxílio do DBExpress ou existe algum drive de conexão? além do ODBC é claro.
-
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
Ok Jhonas, então o sistema tá gravando direitinho, achei que os DBGrids eram atualizados também no momento da gravação igual no antigo PARADOX. Tipo abrindo e fechando as tabelas ou gerando um Refresh. Eu preciso atualizar esses DBGrids, porque o sistema é pra telemetria e esta estação não tem operador e tem que trabalhar com dados atualizados constantemente. Tem alguma sugestão? -
Já existe um Tópico referente à esse erro, verifique: http://scriptbrasil.com.br/forum/index.php...=138201&hl= Um forte abraço. http://www.activedelphi.com.br/forum/viewt...dfbda7eb95218c4 http://scriptbrasil.com.br/forum/index.php...=138201&hl= http://www.activedelphi.com.br/forum/viewt...289d26b7ca40196
-
(Resolvido) Frames de site - Configurando no embedde Web Browser
pergunta respondeu ao Rafazuhdo de geovanepc em Delphi, Kylix
Não sei se entendi bem mais veja se esse código te ajuda em alguma coisa: ------------------------------------------------------------------------------------------------------------------------------- Crie uma nova aplicação, coloque um WebBrowser (paleta Internet), um Memo e um botão no Form. Substitua todo o código pelo abaixo e faça os links do FormCreate e do Botão. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Memo1: TMemo; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses ActiveX; {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('http://www.uol.com.br'); end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Text := WebBrowser1.OleObject.Document.documentElement.innerText end; initialization OleInitialize(nil); finalization OleUninitialize; end. Aí você vai pegar tudo que existe no site, depois é só pesquisar a informação dentro do Memo. Até mais. -
você testou só com o primeiro código pra ver se realmente o FindNeaRest tá pegando o código que você tá enviando via leitor? Me parece que é uma problema com o índice da tabela produtos.
-
Eu uso este e acho muito bom. http://www.delphibasics.co.uk/ Até mais.
-
Salvar imagem no banco de dados atravez do delphi
pergunta respondeu ao Victor Medeiros de geovanepc em Delphi, Kylix
Boa tarde Vitor Medeiros, o campo que você vai usar pra gravar imagens é chamado de campo BLOB, uma vez caí na bobeira de gravar as fotos dos funcionários dentro do próprio banco, que na verdade não pode nem ser chamado de banco, porque eram tabelas PARADOX. Mais desde já te deixo esse aviso, pra depois não dizer que fez sem saber. Além de ficar lento, muito lento, com o passar do tempo, você terá que recortar a imagem no formato JPEG e pequena, pra não ficar muito grande e assim comprometer mais ainda a velocidade. Se for usar PARADOX, lembre-se que os dados são gravado de forma BINÁRIA, siguinifica que qualquer problema de energia ou outro, sua tabela PARADOX vai dar problema. A melhor forma é justamente essa que o Vitor_DF sugeriu, pra resolver meu problema, escaneava as imagens e tratava no photopaint, gravava em uma pasta compartilhada na rede, pra que todas as estações tenham acesso. Dentro da Tabela fica gravado só o endereço da pasta, juntamente com o nome e a extensão do arquivo. Feito assim resolveu uma tremenda dor de cabeça. Agora qual o banco de dados você tá querendo usar? e qual o formato da imagem? JPEG, BMP, etc...? -
Pra quem estiver precisando do componente ou apenas por curiosidade, segue o link pra baixá-lo, inclusive um tutorial de como instalar. O componente para porta serial – TcomPort, pode ser baixado na página www.jclima.tk. Estando na página principal, selecione o link para a página downloads. Selecione então o link componentes (Biblioteca TComPort) na sessão “Minicurso de Delphi”. Crie então o diretório: C:\Programs Files\Borland\Delphi7\Components\PortaSerial e salve o arquivo comprimido (Serial.zip) neste diretório. Descomprima então este arquivo. O restante está no tutorial. Um forte abraço à todos.
-
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
Bom dia a todos, Jhonas o código do botão gravar é muito simples, eu estou testando um pequeno cadastro só pra verificar o funcionamento. Eu tenho um servidor instalado o Firebird nele, e na estação não vai instalado o Firebird não, eu apenas copiei as DLLs pra pasta do executável. MIDAS.DLL FBCLIENT.DLL UIBFIREBIRD15.DLL GDS32.DLL DBEXPUIBFIRE15.DLL Faço a conexão por ip, testo a mesma, o resultado é: Attempting to connect to: 172.16.1.249:D:\Discador\Database\DISCADOR.FDB Connecting... Passed! Server version: WI-V6.3.2.18118 Firebird 2.1 Attempting to connect to services manager... Passed! Disconnecting from database... Passed! No DataModule tenho: SQLConnection1 SQLDS_Aparelhos DSP_Aparelhos CDS_Aparelhos DS_Aparelhos Lá no banco de dados, na tabela APARELHOS tenho os códigos ID como Autoincremento, logo no SQLDS_Aparelhos e CDS_Aparelhos a configuração é: Table: APARELHOS Fields ----------------------------------------------------------------- Name Type Domain Not Null ID INTEGER RDB$76 NOT NULL MARCA VARCHAR(30) RDB$77 MODELO VARCHAR(30) RDB$78 NUM_SERIE VARCHAR(40) RDB$97 DESCRICAO VARCHAR(50) RDB$79 SQLDS_Aparelhos ----------------------- CommandText=Select * From Aparelhos No ID da tabela: ----------------------- ProviderFlags=pflnUpdate=False pflnWhere=True pflnkey=False pflnHidden=False Required=False Pronto, eles estão todos ligados corretamente. Agora no Botão Gravar eu estou usando o seguinte código: procedure TForm1.BitBtn28Click(Sender: TObject); begin DM.DataModule1.CDS_Aparelhos.ApplyUpdates(0); DM.DataModule1.CDS_Aparelhos.Refresh; end; Ele grava no banco de dados direitinho, o que aconteçe é que não atualiza os DBGrids das estações. Já tinha colocado no botão gravar: DM.DataModule1.CDS_Post; DM.DataModule1.CDS_Aparelhos.ApplyUpdates(0); DM.DataModule1.CDS_Aparelhos.Refresh; Como não tratei o dsInsert e dsEdit tava dando erro, ele gravava uma vez e na próxima dava um erro por causa do Refresh. Inclusive no botão Deletar, eu preciso dar um Refresh no final pra poder gerar as atualizações no banco de dados. Botão Delete: procedure TForm1.BitBtn27Click(Sender: TObject); begin DM.DataModule1.CDS_Aparelhos.Delete; DM.DataModule1.CDS_Aparelhos.ApplyUpdates(0); DM.DataModule1.CDS_Aparelhos.Refresh; end; É basicamente isso aí. Um forte abraço a todos. Desde já agradeço. MSN: geo_mvinicius@hotmail.com -
Verifica se ele existe IfFileExists, se existir você deleta, então copia de novo. Vê se alguns desses aí vai servir: 366 - Copiando arquivos usando o Shell do Windows Coloque no uses: ShellApi { - Coloque um botão no form e altere o evento OnClick deste botão conforme abaixo:} procedure TForm1.Button1Click(Sender: TObject); var Dados: TSHFileOpStruct; begin FillChar(Dados,SizeOf(Dados), 0); with Dados do begin wFunc := FO_COPY; pFrom := PChar('c:\teste\*.txt'); pTo := PChar('a:\'); fFlags:= FOF_ALLOWUNDO; end; SHFileOperation(Dados); end; Observações: Esta forma de copiar arquivos oferecem várias vantagens. O Shell avisa para pôr um próximo disco quando o atual estiver cheio. Mostra a barra de progresso. Pode copiar arquivos usando máscara de uma forma extremamente simples. ============================================================================ 198 - Copiar arquivos usando curingas (*.*) { - Coloque um Button no Form; - Altere o evento OnClick deste Button conforme abaixo: } procedure TForm1.Button2Click(Sender: TObject); var SR: TSearchRec; I: integer; Origem, Destino: string; begin I := FindFirst('c:\Origem\*.*', faAnyFile, SR); while I = 0 do begin if (SR.Attr and faDirectory) <> faDirectory then begin Origem := 'c:\Origem\' + SR.Name; Destino := 'c:\Destino\' + SR.Name; if not CopyFile(PChar(Origem), PChar(Destino), true) then ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino); end; I := FindNext(SR); end; end; Observações No exemplo acima, se o arquivo já existir no destino, a função falha (não copia). Para que a função possa sobreescrever o arquivo destino (caso exista), altere o último parâmetro de CopyFile para false. CUIDADO! Se um arquivo for sobreescrito, estará perdido para sempre! ============================================================================ Dicas retiradas do LloydSoft - DTDelphi 2.8 - 900 dicas de programação Delphi
-
:rolleyes: Problema resolvido. Estou usando o componente ComPort e seu ComTerminal, Para ativar a escuta da porta serial e repassar para um Memo, localize o evento OnStrRecieved do componente ComTerminal e comande: procedure TForm1.ComTerminal1StrRecieved(Sender: TObject; var Str: String);begin Memo1.Lines.Append(STR); end; Pronto, agora é só testar os comando AT do modem. procedure TForm1.Button1Click(Sender: TObject);begin ComPort1.WriteStr('AT+CLAC' + #13#10); // Mostra todos os comandos permitidos pelo celular Motorola V3 end; Obrigado à todos e um forte abraço. tive tanto cuidado pra colocar o exemplo, mais não teve jeito, o begin ainda saiu apregado no fim da linha procedure. rsrsrsrsrs.
-
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
Obrigado pela ajuda, mais ainda não deu certo. -
Bom dia, como faço pra ler todo o conteúdo de retorno do ComTerminal e passar para um Memo? Estou utilizando o componente ComPort para manipular comandos AT no modem do celular. Ex: Eu comando pra ler todas as ligações recebidas, o modem do celular me mostra os dados no HiperTerminal, daí eu quero pegar esses dados e transferir pra um Memo. Desde já agradeço.
-
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
Ok Douglas, o restante são todos iguais? ou vai ter que mudar algo nos códigos? Gravar/Deletar/Etc... Obrigado. O IBTransaction não tá reconhecendo o banco do Firebird (extensão .FDB) só do Interbase (.GDB). Não sei se entendi bem, vou ter que mudar o bando de dados pra Interbase? Obrigado. Desculpe, digo IBDatabase. -
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
O SQLConnection é apenas a conexão com o banco de dados, trocaria pelo IBDatabase. O SQLDataSet trocaria pelo IBQuery. Agora o IBTransaction não sei usá-lo, eu teria que ficar controlando todas as transações, tipo gerando números de transações diferentes pra nunca coincidir com a de uma estação diferente? Tabelas do tipo Nested, mudaria alguma coisa? O ClientDataSet navegaria normalmente pelos registros dentro de um DBGrid, lógico que com uma quantidade controlada (ondemand). É parece fácil, mais é difíííííííííííícil. Tenho que colocar um IBTransaction pra cada tabela é? Desculpa pela enchorrada de perguntas Jhonas, te agradeço muito pela atenção. -
ApplyUpdate ou Commit não gravam nas estações
pergunta respondeu ao geovanepc de geovanepc em Delphi, Kylix
Jhonas então usando essa arquitetura SQLDataSet + DataSetProvider + ClientDataSet + DataSource, qual seria a forma de salvar os dados corretamente? Pode me passar um exemplo? Já que esse tipo é usado para Interbase. Desde já agradeço. -
Bom dia à todos. Utilizo o clássico trio: DBExpress+Firebird+Delphi7. com o quarteto: SQLDataSet + DataSetProvider + ClientDataSet + DataSource. Devidamente configurados, a internet tá cheia de exemplos para configurações desse tipo. No ícone mostra Firebird Versão 2.0, mas quando mostrada na janela do aplicativo a versão é 2.1.0.17798. O driver de acesso é o UIBFirebird15.dll com fbclient.dll Gostaria de saber se existe algum problema com esse driver, porque fiz um sistema, aparentemente tava funcionando à contento, mas quando coloquei pra rodar nas estações, veio a surpresa, um registro gravado na estação A não é atualizado na estação B e no servidor. Abro o IBExpert e dou um Refresh na Tabela, mais não mostra a atualização, só vai mostrar depois de um COMMIT. No delphi já coloquei: Evento no botão GRAVAR: procedure TForm1.BitBtn9Click(Sender: TObject); begin DM.DataModule1.CDS_Local.ApplyUpdates(0); DM.DataModule1.CDS_Local.Refresh; end; Ou assim: procedure TForm1.BitBtn49Click(Sender: TObject); var TD: TTransactionDesc; begin TD.TransactionID:=1; TD.IsolationLevel:=xilREADCOMMITTED; DataModule1.SQLConnection1.StartTransaction(TD); try DataModule1.CDS_Horarios.ApplyUpdates(0); DataModule1.SQLConnection1.Commit(TD); except DataModule1.SQLConnection1.Rollback(TD); end; end; É isso aí, já não sei mais o que fazer, estou até pensando em conseguir outro driver pra acessar o Firebird ou mudar de banco definitivamente. Se alguém dispuser de tempo pra tentar me ajudar, Desde já agradeço. Um forte abraço à todos.
-
Tenta copiar pra pasta da aplicação cliente, além do executável, as dlls: Midas.dll fbclient.dll UibFirebird15.dll Até mais.