Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Pelo que eu entendi voce criou 2 tabelas ? se for o erro pode estar ai .... caso contrario se for apenas uma tabela este código sql Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = strtoint(Edconsobs.Text)'; deveria trazer apenas um registro para voce, já que está definido os campos Codigo, Nfunc, Obsregistro entretanto como voce disse que criou um form para cadastro/pesquisa de funcionários e outro para cadastro/pesquisa de observações, talvez o erro esteja em como voce esta pesquisando em um form e no outro. fica sempre mais facil reponder se voce colocar o código do seu programa... como voce esta fazendo a pesquisa no form cadastro/pesquisa de funcionários e no outro para cadastro/pesquisa de observações [P.S: o SQL que postei está errado?] dependendo de como voce quer usa-lo pode não ser a maneira correta. abraço
  2. Vamos ver se entendi.... voce tem o cursor em um determinado registro ( registro selecionado ) e se voce digitar num campo de pesquisa um outro código voce não quer trazer os dados desse outro cliente ...seria isto ? mas seria algo meio incoerente não acha ? [Mas, veja bem, eu quero que se eu colocasse o código de outro cliente que não seja o que esteja selecionado no momento, não retornasse nada.] a lógica é que se voce digitar um outro código é porque voce quer trazer dados de outro cliente ... certo ? ou ainda não entendi extamente o que voce está querendo. de qualquer modo veja isto: Como usar SQL no Delphi Tutorial para quem esta iniciando em Delphi e precisa usar SQL para consultas em BD http://tutomania.com.br/file.php?cod=3155 abraço
  3. o arquivo qrbarcod.pas é o código de barras para o quickreport, e este arquivo não foi encontrado para ser compilado. A versão que voce está querendo usar é paga e o demo tem limitações Experimente este que é gratuito e tem vários tipos de códigos de barras http://www.baixaki.com.br/download/barcode-vcl-component.htm abraço
  4. Usar png em botões Mais outras 2 sugestões: http://www.sph.sc.edu/comd/rorden/png.html#delphi http://www.devmedia.com.br/articles/viewcomp.asp?comp=2919 abraço
  5. Supondo que o seu campo código não tenha numero repetido é lógico que ao colocar o código 10 ele retorna as observações do Cliente X. Se porem voce colocasse 11 iria ser outro registro ( Cliente Y por exemplo ) isso é facil de verificar Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = Edconsobs.Text'; se código for numerico Dmdados.Qaddobs.SQL.Text := 'select Codigo, Nfunc, Obsregistro from cfg where Codigo = strtoint(Edconsobs.Text)'; abraço
  6. criando servidor ftp com modem speedstream 4200 http://www.scribd.com/doc/6617870/Configur...200-Como-Router http://www.abusar.org/manuais/c_4200Router.html abraço
  7. Nos Delphis 2006 e 2007 a instalação de componentes é feita por Package... Você tem que pegar as Units do componente, criar um Package se o mesmo já não existir... Feito isso você abre o Package com o Delphi, da um BUILD e depois um Install... Ou então pode adicionar direto a BPL se ela já existir ------------------------------------------------------------------------------------- se você já tem o .bpl ou você esta com os fontes para serem compilados, de qualquer forma, a primeira é colocar o componente na Library, em Tools -> Optinos -> Library - Win32. *com os fontes:* abir o arquivo de projeto normalmente no delphi, em File -> Open -> etc... dai compilar primeiro e depois instalar... tudo isso clicando com o botão direito no mouse sobre o arquivo que é visualizado no Project Manager. *arquivo .bpl* Component -> Install Package, botão Add.. ai é só localizar o componente e instalá-lo, dai você confere se o checkbox dele está marcado, porque costuma ficar desmarcado. ------------------------------------------------------------------------------------------------------ http://numisgaia.com/jptsantossilva/?p=3 http://www.codigofonte.net/dicas/delphi/24...ntes-no-delphi- abraço
  8. Veja neste endereço: http://www.programmersheaven.com/download/.../9/ZipView.aspx http://www.programmersheaven.com/download/...ipFileList.aspx abraço
  9. Voce tambem pode baixar o componente TMultiimage e salvar as figuras com outras extensões http://delphi.icm.edu.pl/ftp/d40free/Multiimage15.zip *) interface (* Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, FileCtrl, TMultiP, ComCtrls, Menus, Buttons, Resize; *) Uses Windows, //Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, TMultiP ; Function ResizeImageBestFit( PMultiImage : TPMultiImage; Height : Integer; Width : Integer): Boolean; Function ResizeImageKeepProportions( PMultiImage : TPMultiImage; NewDimension : Integer; IsWidth : Boolean): Boolean; Function IL_SaveAsDlg( PMultiImage : TPMultiImage; Quality : Integer): Boolean; Function IL_SaveAs( PMultiImage : TPMultiImage; inQuality : Integer; sgFileName : String; sgExt : String; sgFileDir : String): Boolean; OverLoad; Function IL_SaveAs( PMultiImage : TPMultiImage; inQuality : Integer; FileName : String): Boolean; OverLoad; implementation //Unit Description UnitIndex Master Index Function IL_SaveAs( PMultiImage : TPMultiImage; inQuality : Integer; sgFileName : String; sgExt : String; sgFileDir : String): Boolean; Var sgFullFile : String; begin Try PMultiImage.JPegSaveQuality := inQuality; If Copy(sgFileDir,Length(sgFileDir),1) <> '\' Then sgFileDir := sgFileDir + '\'; sgExt := UpperCase(sgExt); sgFullFile := sgFileDir + sgFileName; screen.cursor := crHourGlass; If sgExt = '.BMP' Then PMultiImage.SaveAsBMP(sgFullFile); If sgExt = '.EPS' Then PMultiImage.SaveAsEPS(sgFullFile); If sgExt = '.GIF' Then PMultiImage.SaveAsGIF(sgFullFile); If sgExt = '.JPEG' Then PMultiImage.SaveAsJpg(sgFullFile); If sgExt = '.JPG' Then PMultiImage.SaveAsJpg(sgFullFile); If sgExt = '.PCX' Then PMultiImage.SaveAsPcx(sgFullFile); If sgExt = '.PNG' Then PMultiImage.SaveAsPNG(sgFullFile); If sgExt = '.TGA' Then PMultiImage.SaveAsTGA(sgFullFile); If sgExt = '.TIF' Then PMultiImage.SaveAsTIF(sgFullFile); If sgExt = '.SCM' Then PMultiImage.SaveCurrentMessage(sgFullFile); If sgExt = '.CMS' Then PMultiImage.SaveCurrentCreditMessage(sgFullFile); PMultiImage.ImageName := sgFullFile; screen.cursor:=crDefault; Result := True; Except Result := False; End; end; //Unit Description UnitIndex Master Index Function IL_SaveAsDlg( PMultiImage : TPMultiImage; Quality : Integer): Boolean; Var sgFileName : String; sgExt : String; sgFileDir : String; SaveDialog : TSaveDialog; begin Result := False; Try SaveDialog := TSaveDialog.Create(nil); Try sgFileDir := ExtractFileDir(PMultiImage.ImageName); If Copy(sgFileDir,Length(sgFileDir),1) <> '\' Then sgFileDir := sgFileDir + '\'; sgFileName := ExtractFileName(PMultiImage.ImageName); sgExt := UpperCase(ExtractFileExt(sgFileName)); SaveDialog.InitialDir := sgFileDir; If PMultiImage.BFileType = 'SCM' Then Begin SaveDialog.Filename:='*.SCM'; SaveDialog.Filter:='Scroll message|*.scm'; End Else Begin If PMultiImage.BFileType = 'CMS' Then Begin SaveDialog.Filename := '*.CMS'; SaveDialog.Filter := 'Credit message|*.cms'; End Else Begin SaveDialog.Filename := sgFileName; SaveDialog.Filter :='jpeg|*.jpg|bmp|*.bmp|gif|*.gif|pcx|*.pcx|png|*.png|tif|*.tif|tga|*.tga|eps|* .eps'; If (sgExt = '.JPG') Or (sgExt = '.JPEG') Then SaveDialog.FilterIndex := 1; If (sgExt = '.BMP') Then SaveDialog.FilterIndex := 2; If (sgExt = '.GIF') Then SaveDialog.FilterIndex := 3; If (sgExt = '.PCX') Then SaveDialog.FilterIndex := 4; If (sgExt = '.PNG') Then SaveDialog.FilterIndex := 5; If (sgExt = '.TIF') Then SaveDialog.FilterIndex := 6; If (sgExt = '.TIFF') Then SaveDialog.FilterIndex := 6; If (sgExt = '.TGA') Then SaveDialog.FilterIndex := 7; If (sgExt = '.EPS') Then SaveDialog.FilterIndex := 8; End; End; If SaveDialog.execute Then Begin sgFileDir := ExtractFileDir(SaveDialog.FileName); If Copy(sgFileDir,Length(sgFileDir),1) <> '\' Then sgFileDir := sgFileDir + '\'; sgFileName := ExtractFileName(SaveDialog.FileName); sgExt := UpperCase(ExtractFileExt(sgFileName)); Result := IL_SaveAs( PMultiImage, //PMultiImage : TPMultiImage; Quality , //inQuality : Integer; sgFileName , //sgFileName : String; sgExt , //sgExt : String; sgFileDir );//sgFileDir : String): Boolean; End; Finally SaveDialog.Free; End; Except End; end; //Unit Description UnitIndex Master Index Function ResizeImageKeepProportions( PMultiImage : TPMultiImage; NewDimension : Integer; IsWidth : Boolean): Boolean; Var inWidthOld : Integer; inWidthNew : Integer; inHeightOld : Integer; inHeightNew : Integer; Bitmap : TBitmap; boStretch : Boolean; begin boStretch:= PMultiImage.StretchRatio; Bitmap := TBitmap.Create; Try Try {Set Stretch Off} PMultiImage.StretchRatio := False; {Create a new bitmap and set its size} inWidthOld := PMultiImage.Picture.Bitmap.Width; inHeightOld := PMultiImage.Picture.Bitmap.Height; If IsWidth Then Begin inWidthNew := NewDimension; inHeightNew := (inHeightOld * inWidthNew) div inWidthOld; End Else Begin inHeightNew := NewDimension; inWidthNew := (inWidthOld * inHeightNew) div inHeightOld; End; Bitmap.Width := inWidthNew; Bitmap.Height := inHeightNew; {Copy the palette} Bitmap.Palette:=PMultiImage.Picture.Bitmap.Palette; {Delete the lines needed to shrink} SetStretchBltMode(Bitmap.Canvas.Handle,STRETCH_DELETESCANS); {Resize it} Bitmap.Canvas.Copyrect(Rect(0, 0, inWidthNew, inHeightNew), PMultiImage.Picture.Bitmap.Canvas, Rect(0, 0, PMultiImage.Picture.Bitmap.Width, PMultiImage.Picture.Bitmap.Height)); {Copy the palette} Bitmap.Palette:=PMultiImage.Picture.Bitmap.Palette; {Assign the new smaller bitmap} PMultiImage.Picture.Bitmap.Assign(Bitmap); {Free the bitmap} Result := True; Except Result := False; End; Finally Bitmap.Free; PMultiImage.StretchRatio := boStretch; End; end; //Unit Description UnitIndex Master Index Function ResizeImageBestFit( PMultiImage : TPMultiImage; Height : Integer; Width : Integer): Boolean; Var inWidthOld : Integer; inHeightOld : Integer; boStretch : Boolean; IsWidth : Boolean; NewDimension : Integer; begin boStretch := PMultiImage.StretchRatio; Try Try PMultiImage.StretchRatio := False; inWidthOld := PMultiImage.Picture.Bitmap.Width; inHeightOld := PMultiImage.Picture.Bitmap.Height; IsWidth := (((inHeightOld * Width) div inWidthOld)<=Height); If IsWidth Then Begin NewDimension := Width; End Else Begin NewDimension := Height; End; Result := ResizeImageKeepProportions( PMultiImage , //PMultiImage : TPMultiImage; NewDimension , //NewDimension : Integer; IsWidth ); //IsWidth : Boolean): Boolean; Except Result := False; End; Finally PMultiImage.StretchRatio := boStretch; End; end; //Unit Description UnitIndex Master Index Function IL_SaveAs( PMultiImage : TPMultiImage; inQuality : Integer; FileName : String): Boolean; OverLoad; Var sgFileName : String; sgExt : String; sgFileDir : String; Begin sgFileName := ExtractFileName(FileName); sgExt := ExtractFileExt(FileName); sgFileDir := ExtractFileDir(FileName); Result := IL_SaveAs( PMultiImage , //PMultiImage : TPMultiImage; inQuality , //inQuality : Integer; sgFileName , //sgFileName : String; sgExt , //sgExt : String; sgFileDir ); //sgFileDir : String): Boolean; OverLoad; End; end. abraço
  10. Tente esta solução: Programa para converter .png em .ico e vice versa http://fc03.deviantart.com/fs21/f/2007/292...y_vista_man.zip OBS: O programa não é disponibilizado mas voce pode fazer a conversão pelo site http://www.converticon.com/ http://images.google.com.br/imgres?imgurl=...D2%26hl%3Dpt-BR abraço
  11. flavio ... a melhor solução que encontrei para algo parecido com o seu em meu sistema, foi criar um campo para a data completa, um campo para o mes e um campo para o ano. Na hora de gravar eu separava o mes e o ano da data e guardava nesses campos .... ficou muito mais facil de fazer consulta ou comparações com esses campos. abraço
  12. Jhonas

    senha

    Algumas dicas: outras dicas http://pliniotorres.wordpress.com/2007/01/...dor-do-windows/ http://www.vaicomtudo.com/2008/07/descobri...windows-xp.html abraço
  13. Colega, no Rio voce vai achar varios lugares onde tem curso de delphi exemplo: http://aula-computacao.vivastreet.com.br/c...-delphi/9655461 http://www.mail-archive.com/delphi-br@yaho...r/msg30053.html http://cidaderiodejaneiro.olx.com.br/curso...ia-iid-18317924 http://www.uerj.br/modulos/kernel/index.ph...;cod_modulo=570 abraço
  14. procedure TF_Funcionarios.QueryToEdits; If F_Dados.Q_Funcionario.FieldByName('actotal').AsString = 'X' then CheckboxAcTotal.Checked := True; procedure TF_Funcionarios.Grava; if CheckboxAcTotal.Checked then F_Dados.Q_Funcionario.FieldByName('actotal').AsString := 'X'; quero q fique funcionando da forma q eu expliquei no 1º paragrafo, ou seja se eu resolver desativar q fique desativado e o X sai do campo actotal. procedure TF_Funcionarios.QueryToEdits; If F_Dados.Q_Funcionario.FieldByName('actotal').AsString = 'X' then CheckboxAcTotal.Checked := True else CheckboxAcTotal.Checked := False; procedure TF_Funcionarios.Grava; if CheckboxAcTotal.Checked then F_Dados.Q_Funcionario.FieldByName('actotal').AsString := 'X' else F_Dados.Q_Funcionario.FieldByName('actotal').AsString := ' '; abraço
  15. Usando o delphi não tenho conhecimento, mas voce pode tentar assim: Para excluir o seu ID do MSN Messenger, e de todos os associados, siga estes 5 passos: 1 - Entre em http://www.passport.net 2 - Clique em 'Serviços de Conta' (menu ao lado esquerdo) 3 - Informe o e-mail e a senha 4 - Clique em 'Faturamento' (menu ao lado esquerdo) 5 - Clique em 'cancelar minha conta' (menu ao lado esquerdo) abraço
  16. sim... em alguns gabinetes a placa fica apenas encaixada no slot e não tem parafuso de fixação, e em outros ele existe o simples fato de tirar o plugue e coloca-lo novamente pode dar mau contato da placa e acontecer esse tipo de coisa exemplo: quando voce coloca um pendrive na entrada usb, o micro o reconhece e instala o drive necessario para que voce possa usa-lo e indica na barra de tarefas que o dispositivo esta conectado... quando voce o tira é desfeita a conexão. a placa de rede funciona da mesma maneira ( dispositivo plugue in play ) o micro reconhece a placa se ela estiver conectada corretamente. abraço
  17. Pode ser mau contato da placa de rede Abra o gabinet do micro, retire a placa de rede, limpe os contatos com uma borracha macia, depois coloque-a de volta e reaprte o parafuso de fixação, e tente novamente. abraço
  18. O código que te passei é justamente para fazer isso... só que ao invés de mostrar os processos em um Memo está mostrando em um Listview With the following routines it ist simply easy to kill a running process. First build a form with a TListview with 3 columns and a TButton to refresh the running processes. Attach the Refreshclick-procedure to the TButton and the ListViewDblClick-procedure with the TListview The TListview shows the processes. With a Doubleclick on one of the processnames you can kill this running process. Don't forget to include TLHelp32 into your uses-clause! Mit der nachfolgend aufgeführten Routinen können Sie die in einer Windowssitzung laufenden Prozesse aufzeigen und bei Bedarf auch entfernen. Hierfür benötigen Sie ein Formobject, ein ListViewobject und zu- mindest ein ButtonObject. Verknüpfen Sie das Buttonobject mit dem BtnRefreshClick damit gleich beim Start des Programms alle Prozesse angezeigt werden. Zum löschen eines Prozesses müssen Sie eine Verknüpfung zwischen DblClick des Listviewobject mit der Procedure ListviewDblClick. Wie aus den beigefügten Routinen ersichtlich, kann auch ein einzelner Prozess gesucht und terminiert werden. Die hierzu erforderlichen Schritte können aus der Refreshroutine entnommen werden. Wichtig ist die Einbindung der Unit TlHelp32 ! } interface uses {...,}TLHelp32 {important !} // Global Variables, Globale Variablen var aSnapshotHandle: THandle; aProcessEntry32: TProcessEntry32; implementation procedure TForm1.BtnRefreshClick(Sender: TObject); var i: Integer; bContinue: BOOL; NewItem: TListItem; begin ListView1.Items.Clear; aSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); aProcessEntry32.dwSize := SizeOf(aProcessEntry32); bContinue := Process32First(aSnapshotHandle, aProcessEntry32); while Integer(bContinue) <> 0 do begin NewItem := ListView1.Items.Add; NewItem.Caption := ExtractFileName(aProcessEntry32.szExeFile); NewItem.subItems.Add(IntToHex(aProcessEntry32.th32ProcessID, 4)); NewItem.subItems.Add(aProcessEntry32.szExeFile); bContinue := Process32Next(aSnapshotHandle, aProcessEntry32); end; CloseHandle(aSnapshotHandle); end; procedure TForm1.ListView1DblClick(Sender: TObject); var Ret: BOOL; PrID: Integer; // processidentifier Ph: THandle; // processhandle begin with ListView1 do begin if MessageDlg('Do you want to Terminate "' + ItemFocused.Caption + '"?' + ^J + 'It''s possible the system becames instable or out of' + ^J + 'control......', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin PrID := StrToInt('$' + ItemFocused.SubItems[0]); Ph := OpenProcess(1, BOOL(0), PrID); Ret := TerminateProcess(Ph, 0); if Integer(Ret) = 0 then MessageDlg('Cannot terminate "' + ItemFocused.Caption + '"', mtInformation, [mbOK], 0) else ItemFocused.Delete; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin { ListView1.Columns.Add; ListView1.Columns.Add; ListView1.Columns.Add; ListView1.ViewStyle := vsReport; } BtnRefresh.Click; end; abraço
  19. Lembre-se que colocar somente uma partição no HD, corre-se o risco de perder tudo o que tiver nele, no caso de uma formatação, e ainda deixa-lo mais lento. quem tem 2 HDs no micro, sempre usa 1 como Backup de dados no caso de algum imprevisto quem não tem 2 HDs mas tem um HD grande, faz uma partição a mais justamente para esta finalidade ( preservar arquivos, programas, documentos .. etc que não gostaria de perder ) Caso queira faer uma partição, use o Partition Magic 8.0 http://www.baixaroudownload.com/2007/03/pa...n-magic-80.html http://www.baixaki.com.br/download/partition-magic.htm abraço
  20. Veja este post http://scriptbrasil.com.br/forum/index.php...st&p=487680 ou faça uma busca no forum http://scriptbrasil.com.br/forum/index.php...hlite=processos abraço
  21. use 2 QrExpr e coloque uma expressão em cada uma abraço
  22. Esses componentes fazem parte do pacote DevExpress VCL v39 http://www.fosoyo.com/article.asp?id=181 abraço
  23. Exemplos: // Utilize asteristico para a seleção dos arquivos. Ex.: c:\*.* ou *.txt // Declare ShellAPI na uses. Procedure COPY_FILES(Source, Dest : string); var FOS : TSHFileOpStruct; CopySourceString : String; CopyDestString : String; begin ZeroMemory(@FOS, sizeof(TSHFileOpStruct)); CopySourceString := Source + #0#0; CopyDestString := Dest; with FOS do begin Wnd := Application.Handle; wFunc := FO_COPY; pFrom := Pchar(CopySourceString); pTo := Pchar(CopyDestString); fFlags := FOF_SIMPLEPROGRESS; fAnyOperationsAborted := True; lpszProgressTitle := Pchar(Application.Title); end; SHFileOperation(FOS); end; outro exemplo // Copiando arquivos de um diretorio para outro diretorio procedure CopyDir(const cFrom, cTo : string); var OpStruc : TSHFileOpStruct; frombuf, tobuf : array[0..128] of Char; begin FillChar(frombuf, Sizeof(frombuf), 0); FillChar(tobuf, Sizeof(tobuf), 0); StrPCopy(frombuf, cFrom); StrPCopy(tobuf, cTo); with OpStruc do begin Wnd := Application.Handle; wFunc := FO_COPY; pFrom := @frombuf; pTo := @tobuf; fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION; fAnyOperationsAborted := False; hNameMappings := nil; lpszProgressTitle := nil; end; // with ShFileOperation(OpStruc); end; // CopyDir Deletando arquivos usando coringas ( * ) procedure TForm1.Button1Click(Sender: TObject); var SR: TSearchRec; I: integer; begin I := FindFirst('c:\Delphi\*.*', faAnyFile, SR); while I = 0 do begin if (SR.Attr and faDirectory) <> faDirectory then if not DeleteFile('c:\Delphi\' + SR.Name) then ShowMessage('Não é possivel excluir c:\Delphi\' + SR.Name); I := FindNext(SR); end;end; // Os arquivos exclui­dos com esta rotina não vão para a lixeira! abraço
  24. Se o seu HD for de 40 Gb faça uma partição com a metade 20 Gb.. assim fica 20 para a partição C e 20 para a partição D Não pense somente no mínino para instalar o vista, pense que muitos outros programas são instalados no drice C tambem. OBS: suponha que voce tenha um HD de 160 Gb ... crie 3 partições: o drive C com 60 Gb, o D com 50 Gb e o E com 50 GB ... além de tornar mais rapida a busca pela cabeça de leitura do HD, fica tambem mais rapido fazer uma nova formatação abraço
  25. Veja neste endereço http://messenger-supportpt.spaces.live.com...3!109.entry abraço
×
×
  • Criar Novo...