-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
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
-
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
-
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
-
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
-
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
-
Pode ser bloqueio do firewall, verifique as configurações do seu browser abraço
-
Doc na fila de impressao e não imprime
pergunta respondeu ao Ricardo_PF de Jhonas em Microsoft Windows
já dei uma resposta no forum delphi http://scriptbrasil.com.br/forum/index.php?showtopic=122362 abraço -
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
-
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
-
Placa de som => C-Media PCI CMI8738/C3DX Audio Device. abraço
-
Antes de mais nada, verifique no manual dessa impressora qual é o codigo usado por ela para obter essas informações. abraço
-
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
-
(Resolvido) Windows XP não encontrou uma unidade de disco rígido.
pergunta respondeu ao Martinsrj de Jhonas em Microsoft Windows
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 -
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
-
(Resolvido) '01/01/1990' is not a valid date.
pergunta respondeu ao Maryano de Jhonas em Microsoft Windows
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 -
Gerar nomes diferentes para o mesmo computador no windows xp
pergunta respondeu ao Spyder.RV de Jhonas em Microsoft Windows
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 -
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
-
(Resolvido) Problema ao abrir programas
pergunta respondeu ao vitor siqueira de Jhonas em Microsoft Windows
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 -
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
-
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
-
Será que voce prestou um pouco de atenção na sintaxe do comando CopyFile(PChar(EditCaminhoOrigem.Text),Pchar(EditCaminhoDestino.Text),True); abraço
-
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
-
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
-
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
-
como saber o campo de um DBListBox selecionado para fazer isso?
pergunta respondeu ao Greed de Jhonas em Delphi, Kylix