Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. PacketRecords permitem dizer ao DataSetProvider quantos registros devem ser colocados no DATA (empacotados) em uma operação de Fetch. Isso pode otimizar o tráfego de dados na rede, pois os registros podem vir por demanda (conforme o usuário precisa), porém tome um cuidado: o cursor do DataSet fica preso no banco de dados, o que pode não ser escalável. abraço
  2. procedure TForm1.Button1Click(Sender: TObject); var S: string; begin // mostra o caminho de onde esta executando o aplicativo S := extractFilepath(application.exename); showmessage(s); end; abraço
  3. Jhonas

    Nome janela

    Veja estes Posts http://scriptbrasil.com.br/forum/index.php...st&p=494270 http://scriptbrasil.com.br/forum/index.php...st&p=451515 abraço
  4. Veja estes Posts http://scriptbrasil.com.br/forum/index.php...st&p=494270 http://scriptbrasil.com.br/forum/index.php...st&p=451515 abraço
  5. OBS: No Memo, os valores estão assim 00,1112,444444 1 - quantas linhas voce vai ter no memo ? 2 - todas as linhas terão valor neste formato ou não ? 3 - qual a função dos edits se houver mais de uma linha no memo ? Tente ser mais claro no que voce esta pretendendo fazer, para poder te ajudar abraço
  6. Jhonas

    Ajuda URGENTE

    Pode ser bloqueio do firewall, verifique as configurações do seu browser abraço
  7. já dei uma resposta no forum delphi http://scriptbrasil.com.br/forum/index.php?showtopic=122362 abraço
  8. Faça um teste.... ao enviar um doc para impressão verifique se o documento enviado esta vazio ( 0 kb ) Obs deixe a impressora em Pausa ou Off-Line. verifique tambem se alguma dll do RBuilder foi apagada se existir mais de uma impressora, tente imprimir em outra para ver se o resultado é o mesmo por ultimo sugiro desinstalar a impressora e intala-la novamente para ver se resolve o problema caso nada funcione, recompile o seu programa e faça novamente o teste. abraço
  9. Veja se é desta maneira que voce esta querendo function Replicate( Caracter:String; Quant:Integer ): String; {Repete o mesmo caractere várias vezes} var I : Integer; begin Result := ''; for I := 1 to Quant do Result := Result + Caracter; end; procedure TForm1.Button1Click(Sender: TObject); var f:textfile; x,y,i,cont,tam :integer; nome, s: string; begin assignfile (f,'c:\clientes.txt'); rewrite (f); write (F, '+'); for i:=0 to 79 do Begin write (F, '-'); end; write (F, '+'); writeln (F, ''); For X:=0 to stringgrid1.colcount-1 do For y:=1 to stringgrid1.rowcount-1 do begin s := trim(stringgrid1.cells[x,y]); tam := 80 - length(s); writeln (F, '| '+stringgrid1.cells[x,y]+replicate(' ',tam-1)+'|'); end; write (F, '+'); for i:=0 to 79 do Begin write (F, '-'); end; write (F, '+'); writeln (F, ''); closefile (f); end; abraço
  10. Placa de som => C-Media PCI CMI8738/C3DX Audio Device. abraço
  11. Antes de mais nada, verifique no manual dessa impressora qual é o codigo usado por ela para obter essas informações. abraço
  12. Jhonas

    Ler arquivo em uso

    No caso de um arquivo em DOS, enquanto um processo estiver usando o arquivo e voce tentar le-lo com um outro processo ocorrerá o erro de I/O 32 ( ou seja erro de input / output ) neste endereço voce encontrará funções usadas para esta finalidade http://swissdelphicenter.ch/en/showcode.php?id=93 usando de uma delas montei este exemplo para voce OBS: após a conclusão do comando tracert voce conseguira ler o arquivo gerado jogando o resultado em um memo function ExecAndWait(const FileName: string; const CmdShow: Integer): Longword; var { by Pat Ritchey } zAppName: array[0..512] of Char; zCurDir: array[0..255] of Char; WorkDir: string; StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; AppIsRunning: DWORD; begin StrPCopy(zAppName, FileName); GetDir(0, WorkDir); StrPCopy(zCurDir, WorkDir); FillChar(StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW; StartupInfo.wShowWindow := CmdShow; if not CreateProcess(nil, zAppName, // pointer to command line string nil, // pointer to process security attributes nil, // pointer to thread security attributes False, // handle inheritance flag CREATE_NEW_CONSOLE or // creation flags NORMAL_PRIORITY_CLASS, nil, //pointer to new environment block nil, // pointer to current directory name StartupInfo, // pointer to STARTUPINFO ProcessInfo) // pointer to PROCESS_INF then Result := WAIT_FAILED else begin while WaitForSingleObject(ProcessInfo.hProcess, 0) = WAIT_TIMEOUT do begin Application.ProcessMessages; Sleep(50); end; WaitForSingleObject(ProcessInfo.hProcess, INFINITE); GetExitCodeProcess(ProcessInfo.hProcess, Result); CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); end; end; procedure TForm1.BitBtn1Click(Sender: TObject); var Arq : TextFile; Linha : string; begin BitBtn1.Enable := false; Memo1.Clear; //Executa o tracert e salva a saída no arquivo resultado.txt ExecAndWait('cmd /c tracert www.google.com > C:\resultado.txt', SW_HIDE); //Carrega o arquivo em um memo logo apos a sua conclusão AssignFile(Arq, 'C:\resultado.txt'); Reset(Arq); while not EOF(Arq) do begin ReadLn(Arq, Linha); Memo1.Lines.Append(linha); end; CloseFile(Arq); BitBtn1.Enable := true; end; clicando no botão, o mesmo será desabilitado, impedindo novo click.... a função executará o comando e o arquivo resultado.txt só será lido após a função ter sido executada, jogando o seu conteudo no memo.... após feito isso o botão será novamente liberado para executar novamente o procedimento. abraço
  13. Voce deve usar o fdisk para apagar e criar as novas partições e depois formatar o hd usando o disco de instalação do windows.... OBS ( use NTFS para a partição C e FAT32 para partição D ) dessa maneira evitara futuros problemas. abraço
  14. Reinstale novamente o windows e não faça as atualizações. (OBS: uma das atualizações é justamente para saber se o seu windows é pirata ) abraço
  15. Pesquise o wuauclt.exe na sua máquina e veja se ele tá aproximadamente com 123Kb. Se o tamanho for superior, pode ter sido virus e vai sempre aparecer a mensagem. Substitua o arquivo copiando de outra máquina. Caso não funcione, pegue o CD de instalação e restaure o windows. Não esqueça do backup. abraço
  16. Uma solução bem simples é criar na tabela do seu banco de dados um ID ( Identificador ) para cada usuário do programa Outra seria criar as tabelas temporarias com nomes difrentes para cada usuario. abraço
  17. Se as suas 2 partições forem NTFS esta explicado... se o seu drive D fosse uma partição FAT32 voce não teria perdido nada. Na verdade voce perdeu o ponteiro para os registros quando optou por formatar a partição em NTFS...o que acabou afetando a outra partição.... (explicações são muito técnicas ) tente usar o Recovery ( baixar da internet ) para recuperar os seus arquivos... não instale um sofware de grande tamanho no micro, pois sem os ponteiros estes registros podem ser soprepostos e ai perdidos para sempre. abraço
  18. Erro típico de ( Bad Cluster ) Trilhas ruins no HD....por isso não consegue executar os programas ..... surigo formatar o seu HD e reisntalar o windows abraço
  19. Provavelmente erro de arquivo corrompido ( talvez pela leitura defeituosa da trinha do CD ) voce pode copiar este arquivo de outro micro para o diretorio c:\windows\system32\ para ver se resolve ou tentar uma nova insalação a partir de outro CD abraço
  20. Coloque 5 botoes no form ( Bitbtn1... Bitbtn5 ) Utilize o evento OnDataChange do componente DataSource procedure TForm1.DS_TesteDataChange(Sender: TObject; Field: TField); begin with CDS_Teste do //Aqui tanto faz, pode ser o TQuery, TTable, etc. begin BitBtn1.Enabled := (State = dsBrowse); BitBtn2.Enabled := (State = dsBrowse) and (not IsEmpty); BitBtn3.Enabled := (State = dsBrowse) and (not IsEmpty); BitBtn4.Enabled := (State = dsBrowse) and (not IsEmpty); BitBtn5.Enabled := (State <> dsBrowse); end; end; OBS: este codigo fara os botoes funcionarem como se fossem os botoes do DBNavigator abraço
  21. Será que voce prestou um pouco de atenção na sintaxe do comando CopyFile(PChar(EditCaminhoOrigem.Text),Pchar(EditCaminhoDestino.Text),True); abraço
  22. Este erro refere-se a propriedade do componente que não existe, ou seja, os componentes antigos não são compativeis para a nova versão. Voce teria que trocar os componentes. abraço
  23. AdoClientes.Close; AdoClientes.Open; if AdoClientes.Locate('Nome',copy(EdtFavorecido.Text,1,EdtFavorecido.SelStart),[loCaseInsensitive,loPartialKey]) then continuo usando edit e dbedtit, mas mysql e zeos e o código não funciona para esses. Não será porque voce não mudou o componente da query ( adoquery ) -> AdoClientes ??? abraço
  24. Se o erro acontece antes de abrir a sua aplicação, possivelmente falta alguma dll. Se o erro acontece depois que a sua aplicação abriu, então pode ser erro no caminho ao banco de dados. de qualquer modo, ao ocorrer o erro, visualize o relatorio que o windows apresenta, ficara mais facil identificar o que esta causando o problema. abraço
×
×
  • Criar Novo...