-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
Veja este post http://scriptbrasil.com.br/forum/index.php...st&p=507166 abraço
-
O codigo deve ser modificado desta maneira procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Memo1.Lines.Append(Edit1.text); end; procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Memo1.Lines.Append(Edit2.text); end; procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Memo1.Lines.Append(Edit3.text); end; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Memo1.Lines.Append(Edit4.text); end; OBS: Depois de digitar no edit , ao clicar no enter o conteudo do edit passara para o memo abraço
-
(Resolvido) Gravar pelo MainMenu ao invés de button
pergunta respondeu ao Gabriel Cabral de Jhonas em Delphi, Kylix
Não da pra inserir um novo registro sem antes abrir a tabela .. veja a sequencia procedure TForm1.Novo1Click(Sender: TObject); begin dm.tblCadSecao.Active := true; /// ativar ou abrir a tabela dm.tblCadSecao.Last; // Ir para o ultimo registro da tabela dm.tblCadSecao.Append; // inserir ou adicionar novo registro dm.tblCadSecao.Edit; // editar o registro end; abraço -
(Resolvido) Gravar pelo MainMenu ao invés de button
pergunta respondeu ao Gabriel Cabral de Jhonas em Delphi, Kylix
Não usei datamodule, apenas a tabela, mas funcionaria do mesmo jeito procedure TForm1.Novo1Click(Sender: TObject); begin Table1.Active := true; Table1.Last; Table1.Append; Table1.Edit; end; procedure TForm1.Gravar1Click(Sender: TObject); begin Table1.Post; end; no seu caso seria procedure TForm1.Novo1Click(Sender: TObject); begin dm.tblCadSecao.Active := true; dm.tblCadSecao.Last; dm.tblCadSecao.Append; dm.tblCadSecao.Edit; end; procedure TForm1.Gravar1Click(Sender: TObject); begin dm.tblCadSecao.Post; end; abraço -
(Resolvido) Gravar pelo MainMenu ao invés de button
pergunta respondeu ao Gabriel Cabral de Jhonas em Delphi, Kylix
Veja outros programas ou ate mesmo o seu browser.... observe o menu desses programas. Bem, já que voce quer fazer dessa maneira .... fiz um teste aqui com uma tabela e funciona perfeitamente ... no seu caso, seria melhor voce postar o seu código para poder ver o que voce fez ou esta fazendo de errado. abraço -
(Resolvido) Gravar pelo MainMenu ao invés de button
pergunta respondeu ao Gabriel Cabral de Jhonas em Delphi, Kylix
Não existe nenhuma restrição ... um item de menu comporta-se como se fosse um botão, voce poderia fazer isso ( inserir novo registro e salvar ) sem problemas ... mas em termos de programação isso não seria muito lógico. abraço -
Este é um exemplo de preview com a possibilidade de se alterar o zoom QRPreview1.Zoom := 100; {defaults to ZoomIn} procedure TFmPreview.bbZoomInClick(Sender: TObject); begin QRPreview1.Zoom := 200; // zoom de 200 % bbZoomIn.enabled := false; bbZoomW.enabled := true; bbZoomOut.enabled := true; bbClose.setfocus; end; voce pode fazer alterações neste código ou criar o seu proprio preview usando este como exemplo abraço
-
Procedure TForm1.BitBtn1Click(Sender: TObject); var i,j : integer; begin for i:=0 to StringGrid1.ColCount-1 do // total de colunas da stringgrid for j:=0 to StringGrid1.RowCount-1 do // total de colunas da stringgrid if (StringGrid1.Cells[i,j]='1234') then // procurar um valor especifico ( numerico ou caracter ) showmessage('Valor achado na coluna = ' + inttostr(i) + ' - ' + ' linha = ' + inttostr(j)); end; Irá ocorrer uma varredura item a item da stringgrid através da propriedade cells, ao ser encontrado o valor procurado, será dado uma mensagem indicando a coluna e linha onde se encontra este valor. abraço
-
Pesquisa de o que foi cadastrado somente pelo usuario
pergunta respondeu ao Xafam de Jhonas em Delphi, Kylix
Com relação ao erro: " Projeto SISRET.exe elevou classe de exceção EDBEngineError com mensagem ' não pôde achar objeto. '. Processo parou Provavelmente não encontrou a sua tabela ( View ) // tabela Q_TAB_FROM_VIEW18 DMSISRET.Q_TAB_FROM_VIEW18_VOTO.next; Voce está no caminho certo FrmSenha.Edit1.Text é o edit q contem o nº da matricula do usuario A sua select terá que trazer apenas os registros que tenham a matricula do usuario que cadastrou os registros. abraço -
UPdate de Query com apenas uma linha na Grid
pergunta respondeu ao Mario Lopes de Jhonas em Delphi, Kylix
exemplo: se voce estiver usando o DBNavigator na sua Query procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin if (Button = nbPost) and (Button = nbDelete) then begin Query1.Post; Query1.ApplyUpdates; end; end; se estiver usando um botão procedure TFCorrecaoEmp.Button1Click(Sender: TObject); begin //Query1.Edit; Query1.Post; Query1.ApplyUpdates; end; OBS: Ele fará a atualização mesmo que tenha somente um registro abraço -
Voce pode montar um preview personalizado usando o componente QuickRep ou pode puxar este exemplo: arquivo DFM http://www.bsdg.org/SWAG/DELPHI/0312.PREVIEW.ZIP Descrição da Unit Angus Johnson ajohnson@rpi.net.au unit Preview; { dfm file is at end .. use XX34 to decode } interface uses SysUtils, Classes, Controls, Forms, Quickrep, ExtCtrls, Messages, StdCtrls, Buttons, WinTypes, WinProcs, Dialogs, Printers, IniFiles; type TFmPreview = class(TForm) Panel1: TPanel; QRPreview1: TQRPreview; Label1: TLabel; PrintDialog1: TPrintDialog; bbPrev: TBitBtn; bbNext: TBitBtn; bbZoomOut: TBitBtn; bbZoomW: TBitBtn; bbZoomIn: TBitBtn; bbPrint: TBitBtn; bbClose: TBitBtn; procedure FormShow(Sender: TObject); procedure bbZoomOutClick(Sender: TObject); procedure bbZoomWClick(Sender: TObject); procedure bbPrevClick(Sender: TObject); procedure bbNextClick(Sender: TObject); procedure bbPrintClick(Sender: TObject); procedure bbZoomInClick(Sender: TObject); procedure bbCloseClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private procedure CMDialogKey(var message: TCMDialogKey); message CM_DIALOGKEY; public end; var FmPreview: TFmPreview; implementation uses Main; {$R *.DFM} procedure TFmPreview.FormShow(Sender: TObject); begin QRPreview1.Zoom := 100; {defaults to ZoomIn} Label1.caption := 'Page 1 of ' +inttostr(QRPrinter.PageCount); if QRPrinter.PageCount = 1 then bbNext.enabled := false else bbNext.enabled := true; bbClose.setfocus; bbZoomIn.enabled := false; bbZoomW.enabled := true; bbZoomOut.enabled := true; end; procedure TFmPreview.bbZoomOutClick(Sender: TObject); begin QRPreview1.ZoomToFit; bbZoomOut.enabled := false; bbZoomW.enabled := true; bbZoomIn.enabled := true; bbClose.setfocus; end; procedure TFmPreview.bbZoomWClick(Sender: TObject); begin QRPreview1.ZoomToWidth; bbZoomW.enabled := false; bbZoomOut.enabled := true; bbZoomIn.enabled := true; bbClose.setfocus; end; procedure TFmPreview.bbPrevClick(Sender: TObject); begin {Previous page} if QRPreview1.PageNumber > 1 then QRPreview1.PageNumber := QRPreview1.PageNumber-1; Label1.caption := 'Page ' + inttostr(QRPreview1.PageNumber)+ ' of ' +inttostr(QRPrinter.PageCount); bbNext.enabled := true; if QRPreview1.PageNumber = 1 then begin bbPrev.enabled := false; bbNext.setfocus; end; end; procedure TFmPreview.bbNextClick(Sender: TObject); begin {Next page} if QRPreview1.PageNumber < QRPrinter.PageCount then QRPreview1.PageNumber := QRPreview1.PageNumber+1; Label1.caption := 'Page ' + inttostr(QRPreview1.PageNumber)+ ' of ' +inttostr(QRPrinter.PageCount); bbPrev.enabled := true; if QRPreview1.PageNumber = QRPrinter.PageCount then begin bbNext.enabled := false; bbPrev.setfocus; end; end; procedure TFmPreview.bbPrintClick(Sender: TObject); begin {A PrintDialog component can be added to the form with an - if not PrintDialog1.execute then exit - statement placed here.} screen.cursor := crHourglass; try QRPrinter.Print; while tag > 1 do begin QRPrinter.Print; tag := tag-1; end; tag := 1; finally screen.cursor := crDefault; end; close; end; procedure TFmPreview.bbZoomInClick(Sender: TObject); begin QRPreview1.Zoom := 100; bbZoomIn.enabled := false; bbZoomW.enabled := true; bbZoomOut.enabled := true; bbClose.setfocus; end; procedure TFmPreview.bbCloseClick(Sender: TObject); begin close; end; procedure TFmPreview.FormActivate(Sender: TObject); var TrayHwnd: HWnd; Rect: TRect; CxFullScreen, CyFullScreen, CyCaption: integer; begin {size the form to fill the screen...} TrayHwnd := FindWindow('Shell_TrayWnd',''); if TrayHwnd = 0 then {not Win95 screen} WindowState := wsMaximized else begin GetWindowRect(TrayHwnd,Rect); CxFullScreen := GetSystemMetrics(SM_CXFULLSCREEN); CyFullScreen := GetSystemMetrics(SM_CYFULLSCREEN); CyCaption := GetSystemMetrics(SM_CYCAPTION); {NOTE: Position must equal either poDefault or poDesigned, and WindowState = wsNormal} Top := 0; Left := 0; Width := CxFullScreen; Height := CyFullScreen + CyCaption; if (Rect.Top < 0) and (Rect.Left < 0) then begin {Taskbar on either top or left} if Rect.Right > Rect.Bottom then {Taskbar on top} Top := Rect.Bottom else {Taskbar on left} Left := Rect.Right; end; end; bbClose.left := width - 76; bbPrint.left := width - 144; end; procedure TFmPreview.FormClose(Sender: TObject; var Action: TCloseAction); begin QRPreview1.PageNumber := 1; {this is necessary if reopening form!!!?} bbPrev.enabled := false; QRPreview1.HorzScrollbar.Position := 0; QRPreview1.VertScrollbar.Position := 0; end; procedure TFmPreview.CMDialogKey(var message: TCMDialogKey); begin {INTERCEPTS ARROW KEYS INORDER TO MOVE AROUND PAGE} with message do case CharCode of VK_LEFT: begin with QRPreview1.HorzScrollbar do Position := Position -50; exit; end; VK_RIGHT: begin with QRPreview1.HorzScrollbar do Position := Position +50; exit; end; VK_UP: begin with QRPreview1.VertScrollbar do Position := Position -50; exit; end; VK_DOWN: begin with QRPreview1.VertScrollbar do Position := Position +50; exit; end; end; inherited; end; procedure TFmPreview.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin {INTERCEPTS [PG_UP],[PG_DN], [CTRL][PG_UP],[CTRL][PG_DN], [HOME],[END]} if (((Key = VK_NEXT) and (Shift = [ssCtrl])) or (Key = VK_END)) and bbNext.enabled then begin QRPreview1.PageNumber := QRPrinter.PageCount; {GOTO LAST PAGE} Label1.caption := 'Page ' + inttostr(QRPrinter.PageCount)+ ' of ' +inttostr(QRPrinter.PageCount); bbPrev.enabled := true; bbNext.enabled := false; bbPrev.setfocus; end else if (((Key = VK_PRIOR) and (Shift = [ssCtrl])) or (Key = VK_HOME)) and bbPrev.enabled then begin QRPreview1.PageNumber := 1; {GOTO FIRST PAGE} Label1.caption := 'Page 1' + ' of ' +inttostr(QRPrinter.PageCount); bbPrev.enabled := false; bbNext.enabled := true; bbNext.setfocus; end else if (Key = VK_NEXT) and bbNext.enabled then bbNextClick(Sender) else if (Key = VK_PRIOR) and bbPrev.enabled then bbPrevClick(Sender); end; end. abraço
-
veja o help do delphi De acordo com o help do delphi OBS: Se voce se esforçar um pouco, descobrirá que pode fazer aquilo que está querendo. abraço
-
Deveria funcionar ... eu uso dessa maneira em varias aplicações e funciona Veja se não tem outro codigo impedindo de funcionar dessa maneira. Faça o teste em uma nova aplicação ... coloque apenas um Edit, um DBLookupComboBox1, uma query e um datasource abraço
-
Eder .. faça dessa maneira procedure TForm1.DBLookupComboBox1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin edit1.text := DBLookupComboBox1.Text; end; OBS: Ser voce estiver usando as setas e clicar no enter, o conteudo do campo ira para o edit ( Use o evento OnKeyUp do DBLookupComboBox1 ) abraço
-
Como fazer a conexão com duas tabelas diferentes usando o ADO
uma questão respondeu Jhonas em Delphi, Kylix
Veja estes artigos http://www.delphibr.com.br/artigos/AccessADO.php http://www.ramosdainformatica.com.br/art_r...s01.php?CDA=476 http://br.answers.yahoo.com/question/index...14033230AAfSzSQ http://imasters.uol.com.br/artigo/338/delp..._dados_via_ado/ abraço -
Veja este codigo: procedure TForm1.Button1Click(Sender: TObject); var DCDesk: HDC; // hDC of Desktop bmp: TBitmap; begin bmp := TBitmap.Create; bmp.Height := Screen.Height; bmp.Width := Screen.Width; DCDesk := GetWindowDC(GetDesktopWindow); BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DCDesk, 0, 0, SRCCOPY); bmp.SaveToFile('c:\ScreenShot.bmp'); ReleaseDC(GetDesktopWindow, DCDesk); bmp.Free; end; abraço
-
implementation uses shellapi; {$R *.DFM} // 1 - ao digitar no edit o memo recebera os caracteres digitados procedure TForm1.Edit1Change(Sender: TObject); begin Memo1.Lines.Text := Edit1.text; end; // 2 - no combobox coloque os endereços ( URL ) e ao clicar num deles a pagina será aberta atraves do seu browser procedure TForm1.ComboBox1Click(Sender: TObject); begin ShellExecute(Handle, 'open', PChar(ComboBox1.Items.Strings[ComboBox1.ItemIndex]), nil, nil, SW_SHOWNORMAL); inherited; end; OBS: Sugiro que voce leia mais sobre o delphi ... procure no forum ou na Net, tem muitas apostilas que o ajudarão. abraço
-
Veja se este post ajuda http://scriptbrasil.com.br/forum/index.php...st&p=388052 abraço
-
Existe sim ... voce pode optar por usar o evento OnNeedData do proprio report onde voce pode controlar os registros que serão impressos, ou pode optar por usar um Memo na banda de Detail onde voce coloca somente os registros que serão impressos. exemplo para saber quantas notas deverão ser emitidas para um total de 20 itens por vez: CDS_Moviment.First; notas := CDS_Moviment.RecordCount DIV 20; // nº de itens que deverão ir para a nota if ((CDS_Moviment.RecordCount / 20) * notas) <> notas then notas := notas + 1; if (CDS_Moviment.RecordCount <> 0) and (CDS_Moviment.RecordCount <21) then notas := 1; Label1.Caption := 'OBS: TOTAL DE ITENS = ' + inttostr(CDS_Moviment.RecordCount) + ' ( GERAR ' + inttostr(notas) + ' NOTA(s) )'; OBS: sabendo-se quantas notas deverão ser emitadas.. voce faz um FOR de 1 ate N notas e dentro deste for voce adiciona em um QRMemo (que estara na banda Detail do Report), os item lidos atraves de outro FOR variando de 1 ate N registros da Nota e limitando a impressão do ClientDataSet a cada 20 registros. abraço
-
Sugiro que voce leia tudo antes. TAGs utilizadas na criação do XML Schemas que compõe este Pacote de Liberação alteração Schema XML Chave de codificação digital MD5 (Item) cancNFe_v1.07.xsd 5ef9a8c4c7384ed5881a214dd3044a90 - consCad_v1.01.xsd 42a0737cfa12808cf7b476264830c61d - consReciNFe_v1.10.xsd c4256c71425addd717812d01d9e225d4 - consSitNFe_v1.07.xsd 824b5d8553f2f8de4a028602cf740b0f - consStatServ_v1.07.xsd 4487b7952b296be96fb820b0bd486272 - enviNFe_v1.10.xsd 9f4801904d64be34ee143c3df7abbc3c - inutNFe_v1.07.xsd dc9d81555c72d3bda568f75ba95f6394 - LeiauteCadastroEmissorDFe_v1.01.xsd 6844b9aea94081890471bd5c3ee1ae59 - leiauteCancNFe_v1.07.xsd 38135642968794f4e676267d49e81925 - leiauteConsSitNFe_v1.07.xsd e7e66f9c1972b55ac783a9554a7b7d70 - leiauteConsStatServ_v1.07.xsd 40c3e669bc59f4d05b479fd50387593f - leiauteConsultaCadastro_v1.01.xsd 8f11bd07cb8787cf5fa0800b45c87dc5 - leiauteInutNFe_v1.07.xsd 9ba5d374e41de076ff0f8af0c697ca37 - leiauteNFe_v1.10.xsd ac5822159e3ea961ab92d2428ef47eb7 - nfe_v1.10.xsd c9ceb68d9d7fa3541e656dd2dddd3411 - procCancNFe_v1.07.xsd 38ed231357bad2f90597c7c22a8960a2 - procInutNFe_v1.07.xsd 188d14dcdc9d00850d7da423f211ea44 - procNFe_v1.10.xsd 7e2ff42978fb786f7f96a8fb1f904c7f - retAtuCadEmiDFe_v1.01.xsd 50859afb311449b932cfadd4572412d0 - retCancNFe_v1.07.xsd 1e0f30629dc577feee64c7efec4771bf - retConsCad_v1.01.xsd 1718b87b9eef60fb9faf7eb4ba339745 - retConsReciNFe_v1.10.xsd 485f90ca049796602b3e9a4346f7e0ec - retConsSitNFe_v1.07.xsd db4118969872ca55636f27eab49ca9c0 - retConsStatServ_v1.07.xsd 7f7a89bf14d5d8e935101c011b0d123f - (3.3) retEnviNFe_v1.10.xsd c99485ddaa6aa26384f2360bf3b482f8 - retInutNFe_v1.07.xsd dad0e2b4c31be1cf6aa2418c25aceaf0 - tiposBasico_v1.02.xsd f539cce64cbc6845ba3f48b9efa37f29 - (3.1/3.2) xmldsig-core-schema_v1.01.xsd 9b6c6b52c5ff71e85b801158e0a5aae2 - atuCadEmiDFe_v1.01.xsd bd2a38d378dbb89224e366841a3b7eb8 - cabecMsg_v1.02.xsd 0d7ed0d23ec21732b723f03337ab4cc0- (3.4/3.5) cadEmiDFe_v1.01.xsd 10dc830b745ef32fd2670416cf71bbcd - As dúvidas e sugestões devem ser encaminhadas através do Canal Fale Conosco da Secretaria da Fazenda de São Paulo (http://www.fazenda.sp.gov.br/email/default2.asp) referente à “Portaria CAT 65/06”. OBS: Outros endereços que poderão te ajudar http://www.google.com.br/search?hl=pt-BR&a...elphi&meta= abraço
-
"StatusBar" com listagem de forms abertas e ativas
pergunta respondeu ao Frega de Jhonas em Delphi, Kylix
voce quer adicionar ( executar outro programa atraves do seu ) ou montar um menu parecido com aquele ? Se a respota for montar um menu parecido com aquele, vai exigir de sua parte maior conhecimento e experiencia em delphi abraço -
Veja nestes endereços: Titan Database Interface Program http://reggatta.com/downloads.htm http://reggatta.com/ftp/titan/bcb6/btrieve/btr602.exe abraço
-
"StatusBar" com listagem de forms abertas e ativas
pergunta respondeu ao Frega de Jhonas em Delphi, Kylix
Verifique a opção de menu < Windows > ou Help abraço -
Veja os tipos suportados pela SQL Server 7 Tente com todos eles, e veja o que acontece abraço
-
Se voce não postar o erro, fica dificil te ajudar abraço