-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
utilize um componente OleContainer1 da guia System do delphi no object inspector altere a propriedade AutoActive para aaGetFocus um componente edit1.text para armazenar o caminho do arquivo e um componente OpenDialog1 ( guia Dialogs ) para procucar o arquivo procedure TForm1.BitBtn1Click(Sender: TObject); begin if OpenDialog1.Execute then Edit1.Text := OpenDialog1.FileName; OleContainer1.CreateLinkToFile(trim(Edit1.Text ),TRUE); OleContainer1.SetFocus; OleContainer1.Run; end; Obs : neste caso o componente OleContainer1 pode ficar escondido e reduzido no form .
-
Clientes.Transaction.commit Permanentemente armazena atualizações, inserções, e deleções de dados associadas com a transação atual, e fins das transações atuais. Chame Commit para armazenar permanentemente no servidor de banco de dados todas as atualizações, inserções, e deleções de dados associadas com a transação atual e então termine a transação. A transação atual é a última transação começada pela chamada StartTransaction. Nota: Antes de chamar Commit ,uma aplicação pode conferir o estado da propriedade de InTransaction. Se na aplicação é chamada Commit, e não há nenhuma transação atual, uma exceção é mostrada. Clientes.Transaction.CommitRetaining, Commita a transação ativa e retém o contexto de transação depois um commit. Chame CommitRetaining para armazenar permanentemente ao servidor de banco de dados todas as atualizações, inserções, e deleções de dados associadas com a transação atual e então retenha o contexto de transação. A transação atual é a última transação começada chamando StartTransaction. Nota: Antes de chamar CommitRetaining, uma aplicação pode conferir o estado da propriedade de InTransaction. Se uma aplicação chama CommitRetaining e não há nenhuma transação atual, uma exceção é mostrada.
-
Qual a versão do delphi que voce usa ?
-
procedure TForm1.Button1Click(Sender: TObject); VAR s,letra : string; n : integer; begin s := trim(edit1.text); n := length(s); letra := copy(s,n,1); label1.caption := 'A ultima letra da string é = ' + letra; end;
-
O codigo esta correto, mas acho que voce poderia tentar algo assim: while (indice > arquivo.Count - 10) do begin indice := indice - 1; linha := arquivo[indice]; //Se a string for encontrada, significa que o arquivo está completo if (AnsiContainsText(linha, '= Exit Status') = True) then begin func := Funcoes.Create; temp := Trim(AnsiRightStr(linha, Length(linha) - Pos(':', linha))); temp := StrtoInt(temp); if (func.IsInteger(temp) = True) then begin self.Status := StrToInt(temp); break; end else completo:=false; end; end; //TÉRMINO DO WHILE DE LEITURA DO ARQUIVO - RODAPÉ //Data de término while (indice < arquivo.Count) do begin linha := arquivo[indice]; temp := AnsiMidStr(linha, Pos('/', linha) - 2, LastDelimiter(':', linha) - Pos('/', linha) + 8); if (func.IsDate(temp) = True) then begin self.Termino := StrToDateTime(temp); completo := True; Break; end else completo := False; indice := indice + 1; end;
-
O break causa a quebra do fluxo de controle para sair de um for, while, ou uma senteça repeat O Continue permite o fluxo de controle proceder a próxima interação para o comando for, while ou uma senteça repeat Em ultima analise eu desvincularia um while do outro ( mas somente testando para saber o que seria melhor )
-
Com Macros podemos automatizar uma série de tarefas repetitivas, economizando tempo. Uma macro pode conter uma ou mais ações, tais como: Executar uma consulta, Abrir um Formulário, Aplicar um Filtro, etc. já coloquei um post de como executar uma macro usando o componente AccessApplication1 http://scriptbrasil.com.br/forum/index.php...st&p=444581 outra maneira seria usando scripts, no forum tabem já tem referencia a este assunto. Vai ai um pequeno exemplo http://manoelcampos.wordpress.com/2007/06/...amando-no-word/
-
A explicação está em ingles: http://delphi.newswhat.com/geoxml/forumhis...ups.borland.com
-
Baixe estes componentes ( CurrEdit, Rxctrls, ToolEdit e JPEG.) que são do RX e instale Para download: http://www.rx.delphiplus.org/downloads/lib...006_neftali.zip Instruções para Instalação http://www.activedelphi.com.br/modules.php...r=0&thold=0
-
A guia BDE do delphi 7 esta entre a guia DataSnap e ADO... cao não esteja aparecendo clique na opção de Menu Component e clique em Install Packages e verifique se a opção Borland BDE DB Components esta marcada. Se ela nem estiver aparecendo então a solução é reinstalar novamente o delphi.
-
O Micheus tem razão ... o comando dasabilita os componentes dentro do TabSheet, mas não impede de voce clicar nele ou se preferir voce pode usar PageControl1.Pages[0].Visible := false ... ai neste caso os componentes sumirão de dentro do TabSheet, e o usuario não vera nada, mas do mesmo modo, voce podera clicar nele . Agora se voce não quiser que o TabSheet apareça voce pode usar algo mais radical... TabSheet1.destroy, mas voce tera que recria-lo e a todos os componentes existentes dentro dele. OBS ( É possivel mais muito trabalhoso ... não compensa ).
-
Erro Ao Compactar Banco De Dados Access.
pergunta respondeu ao Livio Neiva de Jhonas em Delphi, Kylix
Entre neste endereço, mostra como solucionar o problema: http://support.microsoft.com/kb/209805/pt-br -
o codigo correto é : PageControl1.Pages[0].Enabled := false; PageControl1.Pages[0].Enabled := true; voce deve colocar o numero da pagina que voce que desabilitar / habilitar EX: 0 para o TabSheet1, 1 para o TabSheet2, 2 para o TabSheet3 e assim por diante.
-
Tenta esta mudança no codigo: if (func.IsInteger(temp) = True) then begin self.Status := StrToInt(temp); break; end else completo := False; //Data de término while (indice < arquivo.Count) do begin linha := arquivo[indice]; temp := AnsiMidStr(linha, Pos('/', linha) - 2, LastDelimiter(':', linha) - Pos('/', linha) + 8); if (func.IsDate(temp) = True) then begin self.Termino := StrToDateTime(temp); completo := True; Break; end else completo := False; indice := indice + 1; end; end; end; //TÉRMINO DO WHILE DE LEITURA DO ARQUIVO - RODAPÉ
-
(Resolvido) Como Compactar O Banco De Dados Do Access No Delphi?
pergunta respondeu ao Livio Neiva de Jhonas em Delphi, Kylix
Apoveitando que voce esta mexendo com compactação do banco access vai ai uma outra dica de uma função que compacta e repara o banco access: Function CompactAndRepair(sOldMDB : String; sNewMDB : String) : Boolean; const sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;'; var oJetEng : JetEngine; begin sOldMDB := sProvider + 'Data Source=' + sOldMDB; sNewMDB := sProvider + 'Data Source=' + sNewMDB; try oJetEng := CoJetEngine.Create; oJetEng.CompactDatabase(sOldMDB, sNewMDB); oJetEng := Nil; Result := True; except oJetEng := Nil; Result := False; end; end; Exemplo : if CompactAndRepair('e:\Old.mdb', 'e:\New.mdb') then ShowMessage('Successo') else ShowMessage('Erro…'); Notas importantes: 1 - inclua na clausula uses JRO_TLB . 2 - Não usar ou abrir o banco de dados durante compactar. 3 - se o compilador lhe dá um erro na unidade de JRO_TLB siga estes passos: a) Usar o Delphi IDE va para Project – Import Type Library. B) Rolar para abaixo até encontrar “Microsoft Jet and Replication Objects 2.1 Library”. c) Clique no botão Install. d) Recompile novamente.. Abdulaziz Jasser -
A mesma rotina funcionara para todos os seus arquivos, no entanto voce tera que fazer algumas modificações para ler todos os seus arquivos em sequencia. Voce pode optar por usar um for externo, ou um case, ou uma leitura de um arquivo texto com os nomes dos seus arquivos, ou uma leitura direta do banco de dados, já que voce vai salvar nele ... as opções de codigo depende de como os Logs são gerados, processados e guardados.
-
(Resolvido) Como Compactar O Banco De Dados Do Access No Delphi?
pergunta respondeu ao Livio Neiva de Jhonas em Delphi, Kylix
Corrigindo o erro da linha de codigo: dao.CompactDataBase(ExtractFileDir(Application.ExeName)+'\Banco.mdb', ExtractFileDir(Application.ExeName)+'\Banco2.mdb',",0,"); --------------------> ERRO dao.CompactDataBase(ExtractFileDir(Application.ExeName)+'\Banco.mdb', ExtractFileDir(Application.ExeName)+'\Banco2.mdb','',0,''); Voce colocou aspas duplas ao invés de aspas simples (veja a diferença ) -
Esta na paleta Servers do delphi 5 e 7 (acho que do 3 tambem ), o componente ExcelApplication1.
-
Oi Eder .. desculpe me esqueci que voce usa o delphi 4, este componente é do delphi 8, mas olhe neste endereço tem outros exemplos de como exportar dados para o xls http://delphi-id.org/dpr/index.php?name=PN...43294ea12a4b7b0
-
{Se a o Log finalizou, recebe o número do Status. Se não finalizou, completo é false} if completo=true then begin temp := Trim(AnsiRightStr(linha, Length(linha) - Pos(':', linha))) break; end else begin completo:=false; continue; end; end; //End For quando voce usa o break o comando for para de executar mesmo que não tenha chegado ao fim, então a logica é fazer o for rodar ate o seu final para depois testar se a o Log finalizou. Mas se acontece dele finalizar antes do fim do for, ai neste caso voce pode interromper o for usando o break
-
Zeos Lib No Windows95 (libmysql.dll) Não é Identificada...
pergunta respondeu ao paulobergo de Jhonas em Delphi, Kylix
Realmente entendi errado, pensei que voce queria executar um programa do win95 no xp... bom neste outro caso um arquivo de Windows 95, nomeado, por exemplo, de Meu Currículo até 1995 (um nome extenso, pois tem mais de oito caracteres) vai aparecer em um programa para Windows 3.1 (como o Word 6.0, Excel 5.0, Dbase 5.0, Photoshop 3.0, PageMaker 6.0, etc.) com nome MEUCUR~1. O Windows 95 sempre coloca um til (~) no nome de um arquivo de nome extenso quando este é aberto por um programa para a versão 3.1. Veja se o nome da dll não foi alterada. já te ocorreu que voce pode ter que jogar as dlls dos componentes tambem. -
SaveXls.FileName é um componente SaveDialog1 com o nome de SaveXls .. ok ?
-
Use o bloco de notas do windows e crie um arquivo e digite o caminho para o seu banco de dados e salve no diretorio onde esta o programa, com o nome que quiser, neste caso eu usei o Net.Txt. Exemplo do caminho para o banco de dados: \\Servidor\ADM\Dados\DADOS.gdb no Menu do delphi em Project selecione a opção View Source e coloque o seguinte codigo: var Caminho : TextFile; Line : string; begin Application.Initialize; Application.CreateForm(TApres, Apres); Application.CreateForm(TPasswordDlg, PasswordDlg); Application.CreateForm(TFMenu, FMenu); // estas linhas são os forms que voce criou na sua aplicação AssignFile(Caminho, 'C:\ADM\Net.Txt'); // Diretorio onde foi salvo o arquivo Net.txt Reset(Caminho); while not EOF(Caminho) do begin ReadLn(Caminho, Line); FMenu.IBDatabase1.DatabaseName := Line; end; CloseFile(Caminho); Application.Run; end. quando voce executar o programa, o arquivo Net.txt sera lido e o caminho do servidor do banco de dados sera passado para o componente IBDatabase1 na propriedade DatabaseName, depois disso no form active do Menu voce coloca este codigo para conectar o banco de dados: procedure TFMenu.FormActivate(Sender: TObject); var i : integer; num : real; begin if FMenu.IBDatabase1.Connected = false then FMenu.IBDatabase1.Connected := true; if not FMenu.IBTransaction1.Active then FMenu.IBTransaction1.Active := true; . . . // codigos do menu end;
-
No Help do Delphi econtramos Raises Base to any power. Unit Math Category Arithmetic routines function Power(Base, Exponent: Extended): Extended; Description Power raises Base to any power. For fractional exponents or exponents greater than MaxInt, Base must be greater than 0. Descrição Power raises Base to any power. Para expoentes fracionários ou expoentes maior que MaxInt, Base deve ser maior que 0. Exemplo: uses Math; procedure TForm1.BitBtn1Click(Sender: TObject); var result : real; begin result := Power(32,1/5); // Raiz 5ª de 32 label1.Caption := floattostr(result); end;
-
Exisem duas maneiras: A 1ª usando a instalação do interbase server para o Servidor de Banco de Dados e o interbase cliente nas maquinas e configurando o TCP / IP e apontando o caminho do banco de dados A 2ª usando um arquivo .txt ou .ini com o caminho do servidor do banco de dados, que sera lido e passado para o componente IBDatabase1 na propriedade DatabaseName, e neste caso, o drive c:\ do servidor deverá estar compartilhado para as outras maquinas OBS: As duas maneiras funcionam, porem a segunda deixa o sistema um pouco mais lento ( o que pode ser compensado no codigo da aplicação )