Ir para conteúdo
Fórum Script Brasil

Geovani

Membros
  • Total de itens

    32
  • Registro em

  • Última visita

Tudo que Geovani postou

  1. Geovani

    Atualizar Dll

    Jonas: O Codigo que você me passou não deu! Churc: Entendi Mas eu acho que não expliquei direito... Vamos lá... o sistema da empresa é baseado em cliente/servidor, as telas do sistema são criadas em DLL´s e tem um executável contendo menus, cada menu chama uma dll. Não é instalado nada nas estações, apenas é criado um atalho para o executável. O que eu não entendo é que em determinados clientes para atualizar uma Dll e renomeio, assim, os que estão com a tela aberta estao com a dll antiga, os proximos que abrirem a tela, visualizaram a dll atualizada. E em outros clientes não é possivel renomear, diz que o arquivo está sendo usado, ai eu tenho que agendar um horario para todos sairem do sistema e eu atualizar.
  2. Olá Pessoal! Trabalho no suporte de um empresa que desenvolve sistemas em Delphi 5. Quando preciso fazer atualização de DLL, preciso substituir a DLL atual pela DLL a ser atualizada, se algum usuário estiver usando a DLL não será possível substituir, neste caso, eu renomeio a DLL. Em alguns servidores não é possível renomear. Os Servidores dos clientes São o Windows 2000 server. alguém sabe me dizer se há uma configuração do servidor ou no momento de gerar a dll no delphi para poder renomear arquivos que estão abertos? abraço
  3. Olá pessoal!! Instalei o XP SP2 na minha maquina faz pouco tempo e possuo o Delphi 5, nas minhas aplicações o break que uso para executar passo a passo não está funcionando; Eu trabalhava com o windows 2000 SP4 e o delphi 5 e antes funcionava. alguém sabe porque? ou então, há uma configuração a fazer para funcionar? Obrigado! Geovani
  4. Geovani

    Fechar Programas

    Aprensenta o seguinte erro: --------------------------- Project1 --------------------------- Access violation at address 00441026 in module 'Project1.exe'. Read of address 0000000C. --------------------------- OK --------------------------- No evento do Button1.onclick primeiramente testei: ListFiles('', '', ListBox1.Items); Depois : ListFiles(PCGEOVANI, geovani, ListBox1.Items); Nas duas tentativas apareceu a MSN de erro acima.
  5. Geovani

    Fechar Programas

    Eu achei em: http://msdn2.microsoft.com/en-us/library/aa370623.aspx os parametros NetFileEnum. Mas não entendi @#$% nenhuma.. alguém já usuou? pode me dar um exemplo ai? valeu!!
  6. Geovani

    Fechar Programas

    Obrigado! Vou verificar! abraço!
  7. Acho que é smtp.mail.yahoo.com.br procure no site do yahoo!! até mais!!
  8. Olá Tamires, você tem o componte Indy que envia emails? se tiver tente com o código abaixo: procedure TForm1.Button1Click(Sender: TObject); begin //adicione o componente IdSMTP da palheta Indy Clients e o componente IdMessage da palheta Indy Misc //Vai no Object inspector do componente TIdSMTP, na propriedade AuthenticationType seleciona atLogin with IdSMTP1 do begin Host := 'smtp.servidor.com.br'; //servidor de e-mail Username := 'geovani@email.com.br'; //usuario Password:='senha'; //senha try Connect(); except ShowMessage('Não foi possível conectar ao servidor de email!'); exit; end; end; with IdMessage1 do begin From.Address := 'geovani@email.com.br.br'; //email remetente From.Name := 'Geovani'; //nome remetente Recipients.EMailAddresses:='geovani@email.com.br'; //destinatario Subject:='Assunto do email'; //assunto Body.add('corpo do email'); //conteudo do email TIdAttachment.Create( MessageParts, 'D:\arquivo.txt' ); //arquivo anexo end; try IdSMTP1.Send(IdMessage1); ShowMEssage('E-mail enviado!'); except ShowMEssage('Não foi possível enviar email!'); exit; end; IdMessage1.Clear; IdSMTP1.Disconnect; end;
  9. Tenho uma código aqui que funciona com o servidor de email que uso. Agora não sei qual é o servidor smtp do gmail para fazer o teste.. mas tenta com essa codigo: procedure TForm1.Button1Click(Sender: TObject); begin //Vai no Object inspector do componente TIdSMTP, na propriedade AuthenticationType seleciona atLogin with IdSMTP1 do begin Host := 'smtp.servidor.com.br'; Username := 'usuario@usuario.com.br'; Password:='senha'; try Connect(); except ShowMessage('Não foi possível conectar ao servidor de email!'); exit; end; end; with IdMessage1 do begin From.Address := 'remetente@email.com.br'; From.Name := 'Nome do Remetente'; Recipients.EMailAddresses:='destino@email.com.br'; Subject:='Assunto do email'; Body.add('corpo do email'); end; try IdSMTP1.Send(IdMessage1); ShowMEssage('E-mail enviado!'); except ShowMEssage('Não foi possível enviar email!'); exit; end; IdMessage1.Clear; IdSMTP1.Disconnect; end; tenta ai!! falow!!
  10. Geovani

    Fechar Programas

    Obrigado pela atenção Micheus! valeu mesmo!! Estava vendo em Painel de Controle >> Ferramentas Administrativas >> Gerenciamento do Computador >> Pastas Compartilhadas >> Arquivos Abertos, que tem como ver qual o usuário e os arquivos da minha maquina que estão abertos por esse usuário. Se pudesse implementar no delphi essa consulta creio resolveria meu problema.. alguém sabe se tem como?
  11. Opa! Vai no Object inspector do componente TIdSMTP, na propriedade AuthenticationType seleciona atLogin Tenta ai!! abraço!!
  12. Opa! Não sei se entendi bem o problema, se abrindo duas vezes o sistema dá pau, se dar logoff e login também dá o pau.. porque não implementar para que quando o usuário clicar em logoff o sistema feche automaticamente?? o que acha?/ falowss
  13. Geovani

    Fechar Programas

    Opa!! Seria a primeira: "Geovani, por este questionamento, entendo que você quer interromper a execução de qualquer programa (executável) que seja iniciado, via rede, na sua máquina." Tem como saber, por exemplo, quem da rede WINNT está com o executável SISTEMA.exe aberto? abraço
  14. Geovani

    Fechar Programas

    Olá Eder Boa dica, Mas tem um problema, se o usuário der apenas um logoff, a conexão com o banco será encerrada, mas ainda o executável estará aberto. Tive a segunite idéia, peguei na net uma função que retorna os ips da rede e joga em um memo. Depois executei o seguinte comando: WinExec(PCHAR('taskkill /S '+Memo1.lines.Strings[i]+' /U "DOMINIO\usuario" /P "SENHA" /F /IM '+edit1.Text+' /T'),SW_SHOWNORMAL); Com esse comando eu consigo fechar os programas que quero, mas o problema é que ele tenta fechar em todos os ips da rede. Alguém sabe se tem como eu saber, por exemplo, quais os ips que estão com um arquivo aberto da minha maquina? Sabendo, eu não preciso executar o comando em toda a rede, o que demora muito. Valeu!!!
  15. Olá Pessoal!! Feliz ano novo!!! Um dúvida, Eu tenho um programa na minha máquina que é executado por mim e por outras máquinas na rede. Queria criar um botão aonde eu posso derrubar todos que estão usando o executável da minha máquina, isso é possível? Eu vi na net que tem como derrumar os programas da minha máquina, mas executados por mim, será que tem como derrubar os programas da minha máquina executados por outro micro? Abraço!
  16. Consegui a função no Link que o Churc passou, obrigado pela atenção de todos!! abraço! segue a função abaixo: uses ShellAPI, ShlObj; function BrowseDialog (const Title: string; const Flag: integer): string; var lpItemID : PItemIDList; BrowseInfo : TBrowseInfo; DisplayName : array[0..MAX_PATH] of char; TempPath : array[0..MAX_PATH] of char; begin Result:=''; FillChar(BrowseInfo, sizeof(TBrowseInfo), #0); with BrowseInfo do begin hwndOwner := Application.Handle; pszDisplayName := @DisplayName; lpszTitle := PChar(Title); ulFlags := Flag; end; lpItemID := SHBrowseForFolder(BrowseInfo); if lpItemId <> nil then begin SHGetPathFromIDList(lpItemID, TempPath); Result := TempPath; GlobalFreePtr(lpItemID); end; end; Para chamar a função: procedure TForm1.ButtonProcurarClick(Sender: TObject); begin { Exemplo: BrowseDialog(Titulo,Flag); Flags: BIF_RETURNONLYFSDIRS = Mostra pastas BIF_BROWSEINCLUDEFILES = Mostra pastas e arquivos BIF_BROWSEFORCOMPUTER = Mostra Computadores BIF_BROWSEFORPRINTER = Mostra Impressoras } EditCaminho.text:=BrowseDialog('Selecione arquivo ou pasta',BIF_RETURNONLYFSDIRS); end;
  17. Eu ativei o Multiselect mas não é o que estou querendo, ele permite selecionar mais de um arquivo, o que eu queria é ter a opção de selecionar um arquivo para copiar, ou uma pasta para copiar. Acho que essa função tem o que preciso... Valeu
  18. Pois é, eu vi num programa, não lembro agora, era tipo o OpenDialog, se eu selecionasse uma pasta e clicasse em abrir, a pasta era adicionada... Se eu desse um duplo clique nessa pasta, a pasta seria aberta e selecionando um arquivo e clicando em abrir, o arquivo seria adicionado... Isso fecha com que eu quero... valeu!
  19. Aquele código, permite selecionar uma pasta.. O OpenDialog (se não estou enganado) você pode configurar para selecionar arquivo ou você pode configurar para selecionar pasta. Quando você seleciona um arquivo no opendialog, o campo nome do arquivo é preenchido, com isso é possivel clicar em abrir, mas quando é selecionada uma pasta não preenche o campo nome do arquivo, consequentemente não funciona nada quando se clica em abrir, pois o campo nome do arquivo está em branco não sei se expliquei direito abraço
  20. Olá Pessoal!! Estou fazendo um programa de backup onde pode ser copiado um arquivo ou uma pasta, então.. alguém tem um componente ou uma função que abra uma janela em que permita eu escolher um arquivo ou uma pasta? abraço!
  21. cara!! Valeu consegui fazer a barra! abraço!
  22. Componente Zipmaster: evento : procedure TFormBackupMicromed.ZipProgress(Sender: TObject; ProgrType: ProgressType; Filename: String; FileSize: Integer); tem como colocar a barra de progresso gauge? Abraço
  23. Tem um Evento chamado OnProgress, mas não sei como utilizá-lo. alguém sabe?
  24. Olá Pessoal, Fiz um programa de backup que compacta arquivos ou compacta pastas, ao compactar o sistema verifica se é arquivo ou pasta e compacta. Estou utilizando o Delphi 5 e o componente ZIPMASTER para compactar, funciona assim: if DirectoryExists(ArqDir) then begin zip.FSpecArgs.Add(ArqDir+'\*.*'); // irá compactar todos os arquivos dessa pasta zip.AddOptions:=[AddDirNames,AddRecurseDirs]; // irá compactar as subpastas end; if FileExists(ArqDir) then zip.FSpecArgs.Add(ArqDir); // irá compactar o arquivo zip.ZipFilename :=nomeArqDir; // define o nome do arquivo zip.Add; //compacta Alguém poderia me explicar como funciona a barra de progresso Gauge, ou como implemento nesse código? Abraço
×
×
  • Criar Novo...