-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
veja neste endereço: http://www.nadaonline.net/forum/index.php?...amp;#entry67595 abraço
-
{ Controle de caracteres } EscDraft = #27+'x'+'0'; // Modo Draft EscNLQ = #27+'x'+'1'; // Modo NLQ EscNLQRoman = #27+'k'+'0'; // Fonte NLQ "Roman" EscNLQSansSerif = #27+'k'+'1'; // Fonte NLQ "SansSerif" Esc10cpp = #27+'P'; // Espaçamento horizontal em 10cpp Esc12cpp = #27+'M'; // Espaçamento horizontal em 12cpp EscCondensedOn = #15; // Ativa o modo condensado EscCondensedOff = #18; // Desativa o modo condensado EscLargeOn = #27+'W'+'1'; // Ativa o modo expandido EscLargeOff = #27+'W'+'0'; // Desativa o modo expandido EscBoldOn = #27+'E'; // Ativa o modo negrito EscBoldOff = #27+'F'; // Desativa o modo negrito EscItalicOn = #27+'4'; // Ativa o modo itálico EscItalicOff = #27+'5'; // Desativa o modo itálico EscUnderlineOn = #27+'-'+'1'; // Ativa o modo sublinhado EscUnderlineOff = #27+'-'+'0'; // Desativa o modo sublinhado EscDblStrikeOn = #27+'G'; // Ativa o modo de passada dupla EscDblStrikeOff = #27+'H'; // Desativa o modo de passada dupla EscSupScriptOn = #27+'S1'; // Ativa o modo sobrescrito EscSubScriptOn = #27+'S0'; // Ativa o modo subescrito EscScriptOff = #27+'T'; // Desativa os modos sobrescrito e subescrito { Controle de página } Esc6lpp = #27+'2'; // Espaçamento vertical de 6 linhas por polegada Esc8lpp = #27+'0'; // Espaçamento vertical de 8 linhas por polegada EscMarginLeft = #27+'l'+?; // Margem esquerda, onde "?" = Margem EscMarginRight = #27+'Q'+?; // Margem direita, onde "?" = Margem EscPaperSize = #27+'C'+?; // Tamanho da página, onde "?" = Linhas EscAutoNewPageOn = #27+'N'+?; // Ativa o salto sobre o picote, onde "?" = Linhas EscAutoNewPageOff = #27+'O'; // Desativa o salto sobre o picote { Controle da impressora } EscReset = #27+'@'; // Inicializa a impressora (Reset) EscLF = #10; // Avança uma linha EscFF = #12; // Avança uma página EscCR = #13; // Retorno do carro Todas as matriciais que trabalhem com o padrão Epson ESC/P e/ou ESC/P 2. Algumas impressoras implementam outros comandos como o espaçamento vertical de 7/72" (ESC+'1' ou #49), como a LX-300 exemplo em Delphi { A impressora Epson LX-300 dispõe de um comando que justifica o texto. Este recurso é interessante, pois com ele podemos continuar a enviar os comandos de formatação de caracteres como condensado, negrito, italico, expandido, etc. Para o exemplo abaixo: - Coloque um botão no form; - Altere o evento OnClick deste botão como abaixo: } procedure TForm1.Button1Click(Sender: TObject); const cJustif = #27#97#51; cEject = #12; { Tamanho da fonte } c10cpi = #18; c12cpi = #27#77; c17cpi = #15; cIExpandido = #14; cFExpandido = #20; { Formatação da fonte } cINegrito = #27#71; cFNegrito = #27#72; cIItalico = #27#52; cFItalico = #27#53; var Texto: string; F: TextFile; begin Texto := c10cpi + 'Este e um teste para impressora Epson LX 300. ' + 'O objetivo e imprimir texto justificado sem deixar ' + 'de usar formatacao, tais como: ' + cINegrito + 'Negrito, ' + cFNegrito + cIItalico + 'Italico, ' + cFItalico + c17cpi + 'Condensado (17cpi), ' + c10cpi + c12cpi + '12 cpi, ' + c10cpi + cIExpandido + 'Expandido.' + cFExpandido + ' Este e apenas um exemplo, mas voce podera adapta-lo ' + 'a sua realidade conforme a necessidade.'; AssignFile(F, 'LPT1'); Rewrite(F); try WriteLn(F, cJustif, Texto); WriteLn(F, cEject); finally CloseFile(F); end; end; Observações Este recurso de justificação da Epson LX-300 pode ser usado em qualquer linguagem de programação. Mais informações: InicioCondensado := #27 + #15 FimCondensado := #18 http://www.delphimais.com/modules/smartsec...m.php?itemid=51 http://www.activedelphi.com.br/forum/viewt...ba89a27744fbf75 abraço
-
Não foi coincidência não Micheus, mas tambem esqueci de dizer que não uso tamanho padrão de folha ( A4, Letter, etc ) defino o Paper Size em ( Custom Size ) onde voce pode definir exatamente a largura e comprimento do papel que vai usar. Talvez por isso nunca tenha tido esse problema. abraço
-
(Resolvido) Erro "multiple rows in singleton"
pergunta respondeu ao robinhocne de Jhonas em Delphi, Kylix
Se voce estiver usando mais de uma tabela para fazer o select, tente usar o inner join outras informações: http://www.delphifaq.com/faq/databases/interbase/f738.shtml http://www.ibphoenix.com/main.nfs?a=ibphoe...=ibp_sps_delphi abraço -
Uso a configuração que te passei no post acima, nunca tive problemas em imprimir etiquetas, qualquer que fosse o tamanho ou numero de paginas. abraço
-
Bem vindo à equipe, webdeveloper. Ensinando é que se aprende mais. abraço
-
(Resolvido) Erro "multiple rows in singleton"
pergunta respondeu ao robinhocne de Jhonas em Delphi, Kylix
Erro " múltiplas linhas encontradas em seleção ". Solução: Este erro acontece quando você tentar pôr valores múltiplos onde o sistema espera ver só um. Quando você faz uma declaração de atualização, a seleção da declaração que vem atrás da palavra ' é esperado que set' resulte em um valor. Se a declaração selecionada que você está usando resulta em mais de um valor, você adquirirá este erro. ou seja, o seu erro está na sua declaração Add ('(SELECT L.Vencimento FROM Lancamento L WHERE L.Aluno=A.Codigo AND EXTRACT( MONTH FROM L.Vencimento ) <= EXTRACT( MONTH FROM CURRENT_DATE ) ) AS Vencimento' ); experimente: Add ('(SELECT distinct L.Vencimento FROM Lancamento L WHERE L.Aluno=A.Codigo AND EXTRACT( MONTH FROM L.Vencimento ) <= EXTRACT( MONTH FROM CURRENT_DATE ) ) AS Vencimento' ); abraço -
Veja nestes posts: http://scriptbrasil.com.br/forum/index.php...st&p=460905 http://scriptbrasil.com.br/forum/index.php...st&p=460959 abraço
-
Ficaria mais facil de te ajudar se voce postar o seu codigo. abraço
-
(Resolvido) Erro nos programa compilados pelo Delphi 4
pergunta respondeu ao Eder de Jhonas em Delphi, Kylix
arquivos com extensões bpl ( Borland Package Libary). São eles que contem as informações do pacote O padrão utilizado pela Borland na nomenclatura de pacotes é nomeNN.bpk, onde NN é a versão do Delphi. Um exemplo típico é o pacote standard do Delphi, VCL60.BPL. Se este pacote fosse nativo do Delphi 5 o nome dele seria VCL50.BPL. mais informações a respeito de arquivos bpl: http://www.portaldaprogramacao.com/artigos2.asp?n=882 http://pjtsalina.codigolivre.org.br/pr/clu...hi/package.html abraço -
A sua tabela produtos e na tabela orcamento, voce tera que ter um campo comum, ou seja, se voce tiver um campo chamado Cod_Prod na tabela produtos, tera que ter tambem o mesmo campo na tabela orcamento. ( Não nesserariamente o mesmo nome) ex: SELECT Produtos.NOME, Produtos.DESCRICAO, Produtos.COR, Orcamento.DATA_VEND, Orcamento.QTDE_VEND, Orcamento.PR_VENDA FROM Produtos.DB INNER JOIN Orcamento.DB // ligação das tabelas ON (Produtos.COD_PROD = Orcamento.COD_PRODUTO) // campos comuns entre as tabelas mais informações: http://www.susviela.hpg.ig.com.br/delphi/d...cionamentos.htm http://www.macsystemeduc.com.br/livros/ex14/exemplo14.html http://www.linhadecodigo.com.br/Artigo.aspx?id=521 http://scriptbrasil.com.br/forum/index.php...st&p=445606 abraço
-
veja estes endereços, vai te dar uma noção. http://delphi.spaceblog.com.br/ http://forum.imasters.uol.com.br/index.php...mp;#entry804343 abraço
-
Primeira coisa que tem que ser levada em conta é a quantidade de registro com que voce pensa em trabalhar supondo que sejam muitos registros ( acima de 40.000 ) o ideal não é usar o componente IBTable e sim o TIBQuery juntamente com os TDataSetProvider, TClientDataSet e TDataSource 1º problema: uma das maneiras de resolver isso seria, na inclusão do registro, atribuir um numero a este registro e salva-lo e depois dar o commit. desta maneira o proximo usuario que fizer uma nova inclusão terá o proximo registro disponivel. Uma vez que voce sabe qual registro usar, voce pode fazer uma busca deste registro por parametro no arquivo exemplo StaticText2.Caption := ' Registros Cadastrados = ' + inttostr(CDS_CadastroX.recordcount); reg := CDS_CadastroXFICHA_NUM.AsInteger; // ultimo registro do arquivo CadastroX reg := reg + 1; Cadastro_IB.Active := false; CDS_Cadastro.Active := false; CDS_Cadastro.Params[0].AsInteger := reg; // recebe o o numero do ultimo reg + 1 Cadastro_IB.Active := true; CDS_Cadastro.Active := true; CDS_Cadastro.Last; CDS_Cadastro.Append; CDS_Cadastro.Edit; CDS_CadastroFICHA_NUM.AsInteger := reg; CDS_Cadastro.Post; // mantem num de registro ate que seja gravado em definitivo CDS_Cadastro.ApplyUpdates(-1); CDS_Cadastro.Refresh; //ATUALIZAR OS DADOS PARA A REDE FMenu.IBTransaction1.Commit; FMenu.IBTransaction1.StartTransaction; CDS_Cadastro.Edit /// para continuar usando o registro OBS: se o registro for descartado, simplesmente voce o deleta, lembrando que neste caso voce tera alguns numeros faltando na sequencia 2º problema: Se a grid estiver aberta, voce tera que colocar no dbnavigator no botão refresh o comando para atualizar a sua grid CDS_Cadastro.Refresh; //ATUALIZAR OS DADOS PARA A REDE FMenu.IBTransaction1.Commit; FMenu.IBTransaction1.StartTransaction; A configuração do meu componente ibtransaction está correta. ( Lembre-se isto é apenas uma das maneiras para resolver o problema, talvez não a melhor, mas funciona ) abraço
-
(Resolvido) Erro nos programa compilados pelo Delphi 4
pergunta respondeu ao Eder de Jhonas em Delphi, Kylix
DEBUGGER KERNEL BORDBK40.DLL esta faltando ou não registrado Eder .. aparentemente a solução seria esta Outra solução encontrada: http://www.forumweb.com.br/foruns/lofivers...php/t24604.html abraço -
Veja se isto ajuda http://www.planetadelphi.com.br/ver_artigo.php?id=96 abraço
-
Caro colega ... atente para as regras do forum ..... 1º aviso Tenha paciencia e espere alguém lhe responder. abraço
-
Bem vinda a equipe... pode contar com a minha ajuda no que for possivel abraços
-
voce vai encontrar alguns esclarecimentos nestes endereços: http://www.guiadopc.com.br/forum/index.php...post&p=8005 http://www.guiadopc.com.br/forum/index.php...post&p=8010 http://enclle.wordpress.com/category/gravar-imagem-no-nero/ http://www.gratis.com.br/index.mv?pagina=noticia&pos=187 abraço
-
Resultado de um Select em uma variável. Tem como fazer isso?
pergunta respondeu ao Fabiano Furquim de Jhonas em Delphi, Kylix
nestes endereços voce vai encontrar algumas coisas sobre o asunto http://www.devmedia.com.br/articles/viewco...mp=4838&hl= http://www.devmedia.com.br/cursos/studentp...183&ord=2.2 http://www.kvasir.no/nettsok/searchResultA...amp;x=1&y=1 abraço -
use o comando select, muito simples de trabalhar com ele select * from minha_tabela order by campo_da_tabela artigo: ordenar banco access http://209.85.165.104/search?q=cache:O0Fe8...;cd=8&gl=br abraço
-
(Resolvido) Erro nos programa compilados pelo Delphi 4
pergunta respondeu ao Eder de Jhonas em Delphi, Kylix
Eder... o seu aplicativo está pedindo a Vcl40.bpl, que não foi instalada junto com o seu programa na outra maquina. procure por ela na sua maquina , e copie ela no diretorio do programa na outra maquina, ou jogue este arquivo dentro da pasta system do windows. abraço -
Diretorio é controlado por outro arquivo .NETDiretorio Y:\CONFIGBDE\ FILE: C:\EMPRESA\TB\BDADOS\PDOXUSRS.LCK Oi Eder ... Ocorreu a mensagem: EXCEPTION EDBE ENGINE ERROR... DIRECTORY IS CONTROLLED BY OTHER .NET FILE. DIRECTORY: C:\FILE: ...\PDOXUSRS.LCK. O que fazer ? Existe mais de um arquivo PDOXUSRS.NET nas suas estações. Sendo assim, siga as instruções abaixo: - Saia primeiramente de todos os programas do servidor - Localize e, em seguida, delete todos os arquivos de nomes PDOXUSRS.NET, PDOXUSRS.LCK e PARADOX.LCK que você encontrar nas suas estações. se não resolver, veja mais detalhes desse erro em http://www.adug.org.au/PastMeetings/Presen...ENetworking.htm Outra dica outras informações: http://www.dbmonster.com/Uwe/Forum.aspx/pa...in-PDOXUSRS-LCK http://www.delphicorner.f9.co.uk/articles/db12.htm abraço
-
O componente TPanel por si só já centraliza o conteudo do caption, neste caso elimine o label e joque o conteudo dos dados diretamente para o caption do panel. ex: Panel1.Caption := 'conteudo do registro'; vou dar um exemplo usando um edit 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 n,m,p : integer; s : string; begin s := trim(Edit1.text); Edit1.MaxLength := 50; // tamanho maximo do edit n := length(trim(Edit1.Text)); m := Edit1.MaxLength - n; p := m div 2; Edit1.text := Replicate(' ',p) + s; end; Obs: a fonte deve ser courier (espaçametos iguais entre os caracteres) veja se ajuda as idéias abraço
-
veja neste endereço: Acho que para voce será um bom ponto de partida http://www.oficinadanet.com.br/artigo/113/...extos_no_delphi outros exemplos: http://www.activedelphi.com.br/print.php?sid=12 http://www.susviela.hpg.ig.com.br/delphi/d...itor_textos.htm abraço
-
Obrigado Beraldo ... e obrigado aos demais amigos e companheiros do forum Espero poder ajudar dentro do limite de meus conhecimentos. Valeu Galera !!!! Abraços