GARANTIR DESCONTO

Fórum mudar a fonte do bloco de notas #295630

15/09/2005

0

No programa , eu faço um relatorio em um arquivo txt. So que o tamanho da fonte depende de como esta configurado o Bloco de notas no Windows. Acho que o tamanho da fonte padrão é Size=10.. Mas eu preciso que independentemente do Padrão do Windows Tudo que eu gravar neste Bloco de notas seje no Formato Size=8
Como alterar este Padrão do Windows Via delphi :?: :?: :?:

Obrigado...


Marco Salles

Marco Salles

Responder

Posts

15/09/2005

Dedi

Amigo,

Function Tform1.MudaFonteNote(Afonte:string):string;
var
  Reg: Tregistry;//coloque "registry" no uses...
begin
 try
  Reg:=Tregistry.create;
  with Reg do begin
   rootkey:=HKEY_CURRENT_USER;
   Openkey(´Software\Microsoft\Notepad´,false);
   Result:= readstring(´lfFaceName´);
   if Result <> Afonte then
    writestring(´lfFaceName´, Afonte);
   closekey;
  end;
 except
 end;
end;


para usar:

procedure TForm1.ImprimiPad;
var fonteantiga:string;
begin
 if FileExists(´000ce.txt´) then begin
  fonteantiga:=MudaFonteNote(´Courier´);
  WinExec(pchar(´NotePad.exe /p ´+´000ce.txt´),SW_SHOWMINIMIZED);
  MudaFonteNote(fonteantiga);
 end;
end;



Responder

Gostei + 0

15/09/2005

Marco Salles

Beleza .. Obrigado pela participação.. Mas to testando aqui e estou verificando que é show a dica.. Mas ela esta alterando a fonte , e eu preciso é que altere o tamnaho da fonte...

Obrigado


Responder

Gostei + 0

16/09/2005

Marco Salles

Acho que a filosofia é a mesma que o amigo Dedi postou.. So com a diferença que o Registro para o Size(Tamanho ) é outro e o Parametro tb também é outro

Concluindo.. Ainda estou precisando disso :cry: :cry:


Responder

Gostei + 0

16/09/2005

Dedi

Marcos,
Vc pode alterar varios paramentros do notpad (algumas parametros não estao nas versoes anteriores ao Win XP)
lfEscapement dword
lfOrientation dword
lfWeight dword
lfItalic dword
lfUnderline dword
lfStrikeOut dword
lfCharSet dword
lfOutPrecisiondword
lfClipPrecisiondword
lfQuality dword
lfPitchAndFamily dword
iPointSize dword
fWrap dword
StatusBar dword
fSaveWindowPositions dword
lfFaceNameString
szHeader String
szTrailer String
iMarginTop dword
iMarginBottomdword
iMarginLeft dword
iMarginRightdword
fMLE_is_brokendword
iWindowPosXdword
iWindowPosYdword
iWindowPosDXdword
iWindowPosDYdword


Com alteraçoes no codigo vc poderar alterar estes parametros.No seu caso seria assim:
Function Tform1.MudaFonteNote(vTamFonte:integer):integer;
var
  Reg: Tregistry;//coloque "registry" no uses...
begin
 try
  Reg:=Tregistry.create;
  with Reg do begin
   rootkey:=HKEY_CURRENT_USER;
   Openkey(´Software\Microsoft\Notepad´,false);
   Result:= ReadInteger(´iPointSize´);
   if Result <> vTamFonte then
    WriteInteger(´iPointSize´, vTamFonte);
   closekey;
  end;
 except
 end;
end;

procedure TForm1.ImprimiPad;
var TamFonte:integer;
begin
 if FileExists(´000ce.txt´) then begin
  TamFonte:=MudaFonteNote(200); //200= fonte 20
  WinExec(pchar(´NotePad.exe /p ´+´000ce.txt´),SW_SHOWMINIMIZED);
  MudaFonteNote(TamFonte);
 end;
end;



Responder

Gostei + 0

16/09/2005

Marco Salles

Beleza Dedi... Ontem mesmo eu tinha feito exatamente como voce postou no primeiro tópico usando o iPointSize , so que eu não tinha certeza do tipo de parametros.. So testei como String e não deu certo , e não o fiz como integer. :cry: :cry: :cry:

Apareceu erro em tempo de execução :

Tipo de dados inválidos para iPointSize :cry: :cry: :cry:

E eu parei por ai :cry: :cry: :cry: Sem altera-los para integer... :lol:

Veja que o tópico anterior [b:7e48d76085]<nos postamos quase que simultaneamente >[/b:7e48d76085]: e nele eu escrevi:
Acho que a filosofia é a mesma que o amigo Dedi postou.. So com a diferença que o Registro para o Size(Tamanho ) é outro e o Parametro tb também é outro


So escrevo isso , para lhe agradecer e disser que apos o seu primeiro post eu tentei resolver o problema . Mas como diz o Nosso amigo cabelo :

[b:7e48d76085]´Se não deu é porque ainda não chegou a hora ´[/b:7e48d76085]


[b:7e48d76085]Muito obrigado...[/b:7e48d76085]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar