Jhonas

Monitores
  • Content Count

    9476
  • Joined

  • Last visited

Community Reputation

0 Neutro

About Jhonas

Perfil

  • Gender
    Male
  • Location
    São Paulo

Recent Profile Visitors

23825 profile views
  1. Quais componentes voce esta usando para acessar o banco de dados via delphi ?
  2. 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
  3. ok ... outra sugestão mais simples use o componente Rotate Image http://www.delphiarea.com/products/delphi-components/rotateimage/ abraço
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Vou direcionar esse tópico para o Forum do Windows abraço
  10. 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
  11. Só pra tirar a dúvida:] Esse janela é padrão do windows 10 .... é essa janela que voce quer mudar ?
  12. 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&amp;ei=t5p2XJ-ACd3W5OUP5reVyAM&amp;q=ler+arquivo+txt+delphi&amp;o que=ler+arquivo+txt&amp;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
  13. 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
  14. 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