-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
(Resolvido) Adicionar Qtde Produto + Ele Mesmo
pergunta respondeu ao valSistemasDelphi de Jhonas em Delphi, Kylix
ok ... vou te dar algumas dicas de programação 1 - voce está usando .IBTable1 ( Interbase ) para acessar as suas tabelas 2 - o uso do Locate se mostrou muito rapido em tabelas PARADOX ( mas já deixei de usar a muito tempo e passei para o MYSQL ), mas se a tabela for muito grande, no Interbase, principalmente em rede, fica lento, pois a busca do Locate sempre será a partir do começo da tabela. 3 - prefira usar comandos SQL ( Select * from tabela ) usando o TIBQuery. A pesquisa é muito mais rápida. 4 - A sua lógica está correta, no entanto o uso do .ApplyUpdates; faz com que salve sempre na tabela, que voce estiver fazendo .... se voce tem um botão de Cancelar, já não podera mais cancelar o que foi feito ( teria que alterar novamente o registro ). Então use o comando Form9.IBTable1.Post; e no botão de Salvar, voce coloca o ApplyUpdates; 5 - Vend := StrToFloat(edit3.Text); Prod := StrToFloat(Form9.Ibtable1Qtde.Text); Form9.Ibtable1Qtde.Text := FloatToStr(Prod+Vend) Aqui tem algo errado: Se Vend é um valor ( R$ 35,00 ) e Prod é quantidade ( 4 ) porque voce esta colocando em Ibtable1Qtde > (Prod+Vend) ou seja 35,00 + 4 ??? 6 - Para facilitar o entendimento, use sempre variaveis que indiquem o que realmente são ex: Prod > nome do produto Quant > indicando quantidade Valor > valor do produto 7 - Adicionar Qtde Produto + Ele Mesmo Exemplo: Tabela Produtos PRODUTO - QUANT. - VALOR _UNIT - VALOR TOTAL - ESTOQUE MESA - 3 - 200,00 - 600,00 - 3 CADEIRA - 4 - 50,00 - 200,00 - 4 Obs: Ai voce faz uma venda de 1 mesa e atualiza o estoque PRODUTO - QUANT. - VALOR _UNIT - VALOR_TOTAL - ESTOQUE MESA - 2 - 200,00 - 400,00 - 2 CADEIRA - 4 - 50,00 - 200,00 - 4 Voce tem que procurar onde está o registro da mesa na tabela, antes de efetuar a operação de venda Isso é um exemplo: if Form9.Ibtable1.Locate('Produto',Form3.DbLookupcomboBox2.Text,[LopartialKey]) then begin Form9.IBTable1.Edit; Quant := StrToFloat(edit3.Text); Total := 0; Form9.Ibtable1Qtde.Value := Form9.Ibtable1Qtde.Value - Quant; Form9.Ibtable1Estoq.Value := Form9.Ibtable1Estoq.Value - Quant; Total := Form9.Ibtable1Qtde.value * Form9.Ibtable1Valor_Unit.Value; Form9.Ibtable1Valor_Total.Value := Total; Form9.Ibtable1.Post; end; -
(Resolvido) Rotina para Remessa MULTIPAG Bradesco
pergunta respondeu ao edsrp de Jhonas em Delphi, Kylix
Amigo, isso é muito específico ... se voce olhar a pagina 85 vai encontrar essas informações codigo : G029 - Forma de Pagamento onde IPTU/IPVA/LICENCIAMENTO E DPVAT se enquadram em pagamento de tributos procure no manual por: indicativo de forma de pagamento abraço -
(Resolvido) Adicionar Qtde Produto + Ele Mesmo
pergunta respondeu ao valSistemasDelphi de Jhonas em Delphi, Kylix
não esta somando e sim jogando o valor por valor das Qtdes dentro do Banco!!!! mostre em que rotina está sendo executado esse comando -
(Resolvido) Mudar Projeto em Delphi Para Diretório C:/
pergunta respondeu ao valSistemasDelphi de Jhonas em Delphi, Kylix
Voce pode copiar o projeto para qualquer lugar... Se voce mudar o projeto do diretório D: para o Diretório C: não vai ter nenhum problema .... basta voce abrir o projeto pelo delphi no novo diretório e compilar novamente. OBS: Não esqueça de mudar tambem o caminho de acesso ao Banco de Dados Abraço -
Quais componentes voce esta usando para acessar o banco de dados via delphi ?
-
(Resolvido) Como formatar valores no DBGrid?
pergunta respondeu ao Duduh_Capixaba de Jhonas em Delphi, Kylix
Para o DBGrid no clientedataset (de 2 clicks no ClientDataSet para vizualizar os campos da sua tabela) Coloque na propriedade DisplayFormat = ,0.00;-,0.00 e na propriedade EditFormat = ,0.00;-,0.00 abraço -
(Resolvido) Girar uma Timagem por grau sem ser apenas em 45° ou 90 °
uma questão respondeu Jhonas em Delphi, Kylix
ok ... outra sugestão mais simples use o componente Rotate Image http://www.delphiarea.com/products/delphi-components/rotateimage/ abraço -
(Resolvido) Girar uma Timagem por grau sem ser apenas em 45° ou 90 °
uma questão respondeu Jhonas em Delphi, Kylix
No primeiro link tem o endereço para o programa feito em Lazarus http://tinyurl.com/LazRotacionaImagem-7z OBS: Use o 7zip para descompactar o arquivo abraço -
coloquei este codigo no oncreate do formulario com o fortes e ele so imprimiu a ultima Onde está o comando para imprimir ... o código ai é só para saber se o arquivo existe ou não. coloquei este codigo no oncreate do formulario o codigo para imprimir não deve estar no OnCreate do formulário e sim no OnPreview ou em algum outro componente. abraço
-
(Resolvido) Girar uma Timagem por grau sem ser apenas em 45° ou 90 °
uma questão respondeu Jhonas em Delphi, Kylix
exemplos: http://fanzinepas.blogspot.com/2009/12/esta-semana-estava-fazendo-uma-pesquisa.html outro unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, RxGIF, ExtCtrls, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} uses Math; function Rotacionar(Bitmap: TBitmap; const Angulo: Extended; bgColor: TColor): TBitmap; type PRGBQuadArray = ^TRGBQuadArray; TRGBQuadArray = array[0..0] of TRGBQuad; var bgRGB: TRGBQuad; BitmapInfo: TBitmapInfo; CosTheta: Extended; DC: HDC; dstBMP: HBITMAP; dstHeight: Integer; dstRGB: PRGBQuad; dstRGBs: PRGBQuadArray; dstWidth: Integer; iCosTheta: Integer; iSinTheta: Integer; NormalAngle: Extended; SinTheta: Extended; srcBMP: HBITMAP; srcHeight: Integer; srcRGBs: PRGBQuadArray; srcWidth: Integer; xDst: Integer; xODst: Integer; xOSrc: Integer; xPrime: Integer; xSrc: Integer; yDst: Integer; yODst: Integer; yOSrc: Integer; yPrime: Integer; yPrimeCosTheta: Integer; yPrimeSinTheta: Integer; ySrc: Integer; begin // Convertendo o background da imagem em formato RGB: bgColor := ColorToRGB(bgColor); with bgRGB do begin rgbRed := Byte(bgColor); rgbGreen := Byte(bgColor shr 8); rgbBlue := Byte(bgColor shr 16); rgbReserved := Byte(bgColor shr 24); end; // Calculando o Sen e Cos do ângulo de rotação: NormalAngle := Frac(Angulo / 360.0) * 360.0; SinCos(Pi * -NormalAngle / 180, SinTheta, CosTheta); iSinTheta := Trunc(SinTheta * (1 shl 16)); iCosTheta := Trunc(CosTheta * (1 shl 16)); // Ajustando o bitmap de origem: srcBMP := Bitmap.Handle; srcWidth := Bitmap.Width; srcHeight := Bitmap.Height; xOSrc := srcWidth shr 1; yOSrc := srcHeight shr 1; // Preparando a imagem de destino: dstWidth := SmallInt((srcWidth * Abs(iCosTheta) + srcHeight * Abs(iSinTheta)) shr 16); dstHeight := SmallInt((srcWidth * Abs(iSinTheta) + srcHeight * Abs(iCosTheta)) shr 16); xODst := dstWidth shr 1; if not Odd(dstWidth) and ((NormalAngle = 0.0) or (NormalAngle = -90.0)) then Dec(xODst); yODst := dstHeight shr 1; if not Odd(dstHeight) and ((NormalAngle = 0.0) or (NormalAngle = +90.0)) then Dec(yODst); // Inicializa o header do bitmap: FillChar(BitmapInfo, SizeOf(BitmapInfo), 0); with BitmapInfo.bmiHeader do begin biSize := SizeOf(BitmapInfo.bmiHeader); biCompression := BI_RGB; biBitCount := 32; biPlanes := 1; end; // Lendo bits RGB do bitmap de origem e destino: DC := CreateCompatibleDC(0); try BitmapInfo.bmiHeader.biWidth := srcWidth; BitmapInfo.bmiHeader.biHeight := srcHeight; GetMem(srcRGBs, srcWidth * srcHeight * SizeOf(TRGBQuad)); GdiFlush; GetDIBits(DC, srcBMP, 0, srcHeight, srcRGBS, BitmapInfo, DIB_RGB_COLORS); BitmapInfo.bmiHeader.biWidth := dstWidth; BitmapInfo.bmiHeader.biHeight := dstHeight; dstBMP := CreateDIBSection(DC, BitmapInfo, DIB_RGB_COLORS, Pointer(dstRGBs), 0, 0); finally DeleteDC(DC); end; // Rotacionando: dstRGB := @dstRGBs[(dstWidth * dstHeight) - 1]; yPrime := yODst; for yDst := dstHeight - 1 downto 0 do begin yPrimeSinTheta := yPrime * iSinTheta; yPrimeCosTheta := yPrime * iCosTheta; xPrime := xODst; for xDst := dstWidth - 1 downto 0 do begin xSrc := SmallInt((xPrime * iCosTheta - yPrimeSinTheta) shr 16) + xOSrc; ySrc := SmallInt((xPrime * iSinTheta + yPrimeCosTheta) shr 16) + yOSrc; if (DWORD(ySrc) < DWORD(srcHeight)) and (DWORD(xSrc) < DWORD(srcWidth)) then dstRGB^ := srcRGBs[ySrc * srcWidth + xSrc] else dstRGB^ := bgRGB; Dec(dstRGB); Dec(xPrime); end; Dec(yPrime); end; FreeMem(srcRGBs); // Resultado: Result := TBitmap.Create; Result.Handle := dstBMP; end; procedure TForm1.Button1Click(Sender: TObject); var lbAuxiliar: TBitmap; // Aqui criamos um TBitmap auxiliar; BackColor: TColor; begin if Assigned(Image1.Picture.Bitmap) then begin // Obtendo a cor de fundo do bitmap: BackColor := Image1.Picture.Bitmap.TransparentColor and not $02000000; lbAuxiliar := Rotacionar(Image1.Picture.Bitmap, -40, BackColor); try lbAuxiliar.TransparentColor := BackColor; lbAuxiliar.Transparent := Image1.Picture.Bitmap.Transparent; Image1.Picture.Bitmap.Assign(lbAuxiliar); finally lbAuxiliar.Free; end; end; end; end. abraço -
Monitorar processo ou executável
pergunta respondeu ao Cleverson Honório Gouvêa de Jhonas em Delphi, Kylix
Exemplos: https://www.google.com.br/search?source=hp&ei=r9-rXKLLJOvC5OUP4MSB8Aw&q=mutex+delphi&o que=mutex+&gs_l=psy-ab.1.8.0l10.1440.3738..7738...0.0..0.124.666.0j6......0....1..gws-wiz.....0..0i131.pwrz_XR_QaQ abraço -
(Resolvido) Web Scraping - ler página html
pergunta respondeu ao mariolopes de Jhonas em Delphi, Kylix
O exemplo acima está pronto. abraço -
Por motivos de segurança, o Windows pode não permitir a ação de arrastar e soltar entre janelas com diferentes permissões de segurança. Como conseqüência, as mensagens WM_DROPFILES podem ser bloqueadas. http://delphidabbler.com/articles?article=11 abraço
-
CopyTo e MoveTo no Regedit (Alterar janela que se abre)
pergunta respondeu ao Infosoft-BH de Jhonas em Microsoft Windows
Vou direcionar esse tópico para o Forum do Windows abraço -
CopyTo e MoveTo no Regedit (Alterar janela que se abre)
pergunta respondeu ao Infosoft-BH de Jhonas em Microsoft Windows
Mas voce postou no forum de delphi ... se for para fazer isso com delphi, basta usar o componente SaveDialog do delphi Obs: o delphi tambem permite que se crie o tipo de janela que se desejar abraço -
CopyTo e MoveTo no Regedit (Alterar janela que se abre)
pergunta respondeu ao Infosoft-BH de Jhonas em Microsoft Windows
Só pra tirar a dúvida:] Esse janela é padrão do windows 10 .... é essa janela que voce quer mudar ? -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
ok... faça o seguinte: abra o delphi no Form que aparece, voce vai clicar na aba de componentes e vai selecionar os componentes Button1: TButton; => Paleta Standard Memo1: TMemo; => Paleta Standard OpenDialog1: TOpenDialog; => Paleta Dialogs Edit1: TEdit; => Paleta Standard ( clique no componente da paleta e depois clique no Form ) Depois voce dá clique duplo no componente Button1 --- ele vai criar no Form a procedure procedure TForm1.Button1Click(Sender: TObject); Depois disso voce copia a parte do código que te passei procedure TForm1.Button1Click(Sender: TObject); var arq: TextFile; // declarando a variável "arq" do tipo arquivo texto linha: string; begin Memo1.Clear; // filtra os arquivos de uma pasta OpenDialog1.Filter := 'cfg files (*.cfg)|*.CFG'; if OpenDialog1.Execute then begin // coloca no edit o nome do arquivo escolhido Edit1.Text := OpenDialog1.FileName; AssignFile(arq, OpenDialog1.FileName); {$I-} // desativa a diretiva de Input Reset(arq); // Abre o arquivo para leitura {$I+} // ativa a diretiva de Input if (IOResult <> 0) // verifica o resultado da abertura do arquivo then Memo1.Lines.Add('Erro na abertura do arquivo !!!') else begin // verifica se o ponteiro de arquivo atingiu a marca de final de arquivo while (not eof(arq)) do begin readln(arq, linha); // Lê uma linha do arquivo Memo1.Lines.Add(linha); // Adiciona a linha ao Memo end; CloseFile(arq); // Fecha o arquivo aberto end; end; end; Copie ele todo ... depois va no código do Form e cole em cima da procedure procedure TForm1.Button1Click(Sender: TObject); Depois é só compilar o programa e executar. OBS: Se voce quiser, tem varios exemplos detalhados na net para voce aprender https://www.google.com.br/search?source=hp&ei=t5p2XJ-ACd3W5OUP5reVyAM&q=ler+arquivo+txt+delphi&o que=ler+arquivo+txt&gs_l=psy-ab.1.6.0l10.787.3307..5326...0.0..0.99.1302.15......0....1..gws-wiz.....0..0i131.uEUkNaLkSmI abraço -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
Não entendi ... o programa está pronto e com as linhas de comando comentadas, para voce saber o que ele faz. basta colocar os componentes no Form e usá-lo. Button1: TButton; Memo1: TMemo; OpenDialog1: TOpenDialog; Edit1: TEdit; No botão voce aciona o TOpenDialog para procurar o arquivo que voce quer e jogar o nome desse arquivo em um Edit. Uma vez escolhido o arquivo, ele será aberto e lido pela string linha readln(arq, linha); e depois o conteudo de cada linha é jogado dentro do Memo Memo1.Lines.Add(linha); e depois mostrado pelo Memo. Agora voce modifica para o seu uso. abraço -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
Como voce não respondeu a ultima pergunta, fica valendo somente a leitura do arquivo exemplo: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; OpenDialog1: TOpenDialog; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var arq: TextFile; // declarando a variável "arq" do tipo arquivo texto linha: string; begin Memo1.Clear; // filtra os arquivos de uma pasta OpenDialog1.Filter := 'cfg files (*.cfg)|*.CFG'; if OpenDialog1.Execute then begin // coloca no edit o nome do arquivo escolhido Edit1.Text := OpenDialog1.FileName; AssignFile(arq, OpenDialog1.FileName); {$I-} // desativa a diretiva de Input Reset(arq); // Abre o arquivo para leitura {$I+} // ativa a diretiva de Input if (IOResult <> 0) // verifica o resultado da abertura do arquivo then Memo1.Lines.Add('Erro na abertura do arquivo !!!') else begin // verifica se o ponteiro de arquivo atingiu a marca de final de arquivo while (not eof(arq)) do begin readln(arq, linha); // Lê uma linha do arquivo Memo1.Lines.Add(linha); // Adiciona a linha ao Memo end; CloseFile(arq); // Fecha o arquivo aberto end; end; end; end. abraço -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
OBS: Voce quer pesquisar alguma coisa dentro do texto ou simplesmente ler o conteudo do arquivo ? voce não respondeu essa pergunta Só para voce saber, arquivo com extensão cfg - significa que é um arquivo de configuração e dentro dele tem um xml <?xml version="1.0" encoding="utf-8"?> https://www.openthefile.net/pt/extension/cfg -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
depois passo para voce o código para ler esses arquivos ... ok ? -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
Se eu entendi, voce quer buscar o conteudo do arquivo ( dt-0060B9EE92B3-phone.cfg ) sendo que o nome do arquivo é o numero de ramal voip, que voce quer pesquisar, dentre os varios arquivos que estão em uma pasta do seu HD ... é isso mesmo ? OBS: Voce quer pesquisar alguma coisa dentro do texto ou simplesmente ler o conteudo do arquivo ? -
(Resolvido) Consultar arquivos no formato Txt
pergunta respondeu ao James Max de Jhonas em Delphi, Kylix
ok... agora preciso saber como os numeros estão dispostos nesse arquivo. voce precisa localizar um numero entre outros ? mostre uma parte desse arquivo, para que eu possa ter uma noção abraço -
TV LG LED 47sl90qd - som ok, imagem defeituosa.
pergunta respondeu ao John Deere 457 de Jhonas em Hardware
Circuito eletronico da TV https://www.electronica-pt.com/esquema/func-download/20032/chk,8e31b25e69fff0d9fc2d0ab3509a48da/no_html,1/ Isso pode ser mau contato dos plugues ou dos flatcables ( se existirem ) Compre um Limpa Contatos...( custo na faixa de R$ 20,00 ) abra a TV e aplique o limpa contato em todos os plugues de entrada da TV e em todos os conectores que voce encontrar na placa ... depois veja se resolveu. Se não resolveu o problema, o arquivo mostra como proceder aos testes de verificação de funcionamento. abraço -
Notebook acende somente a luz do botão Power e apaga rapidamente e não liga
pergunta respondeu ao Clemilson Silva de Jhonas em Hardware
Como é que voce fez a limpeza nele ? que tipo de produto usou para isso ?