[Notes2-team] =?iso-8859-1?Q?Re:_=5BNotes2-team=5D_Re:_c=F3digo_p/_a_shellextension...?=
Brought to you by:
andersonrb
From: Daniel R. <dan...@ya...> - 2003-12-11 18:29:44
|
Ahhhhhrg! Algu=E9m mata meu chefe por favor!!!!! humpf! Bom, consegui alguns segundos pra escrever um e-mailzinho... :) Anderson, n=E3o acho legal colocar o comprimir HTML como c=F3digo dentro = do Shell Extension, pq seria replica=E7=E3o.... depois, se formos mudar = alguma coisa nesse algor=EDtmo, ter=EDamos que mudar nos dois lugares, = isso se lembrarmos que tinha l=E1 tbem... ent=E3o proponho que estes = c=F3digos "compartilhados" entre o Shell Ext e o Notes em si sejam = colocados numa DLL (n=E3o gosto muito dessa solu=E7=E3o, mas seria o = mais correto), ou colocar um par=E2metro no notes (-c por exemplo) para = que o pr=F3prio notes fa=E7a o servi=E7o... que acham? []=B4s Daniel Roma #Equipe do Notes - Desenvolvimento ----- Original Message -----=20 From: Anderson R. Barbieri=20 To: not...@li...=20 Sent: Saturday, December 06, 2003 1:06 AM Subject: [Notes2-team] Re: c=F3digo p/ a shellextension... Ah! Beleza! Vou te passar um monte de c=F3digo/informa=E7=E3o... cuida = ae: Daniel Roma wrote: "Salvar como template do Notes" ????? Retira isto por que agora vai ser mais complicado de implementar... = estou reestruturando todas as pastas e arquivos das configura=E7=F5es para que fique bem = f=E1cil adicionar suporte a novos tipos de arquivos no Notes. Para isto, cada linguagem (php, = delphi, js) tem a sua pr=F3pria pasta. A pasta de cada lingaugem cont=E9m: o parser XML da = linguagem, as op=E7=F5es do editor para aquela linguagem, uma pasta contendo os templates da = linguagem e mais uma pasta que cont=E9m os itens da biblioteca para a linguagem. Assim, = para salvar como template, seria preciso deixar o usu=E1rio selecionar para qual = linguagem o template vai servir (ou seja, teria q usar um di=E1logo, VCL e aumentaria mt o peso do = DLL...). Quero escrever um texto sobre como estaum as pastas e arquivos de configura=E7=E3o do = Notes, mas ainda naum tive tempo pra isto... -----------------Separador---------------------------- "Informa=E7=F5es do arquivo" Ainda n=E3o implementado, mas parece que =E9 Notes.exe -i =E9 isso mesmo?? N=E3o tem ainda par=E2mentro para isto, mas acho que "-i" =E9 = perfeito. Pode usar que vou implementar (vou ter que reescrever todo o 'parser' dos = par=E2mentros mesmo! hhehheheh) os items abaixo, exceto o da Home Page, n=E3o sei se j=E1 = est=E3o implementados no Notes... algu=E9m ae me informa, please?? //7: -----------------Separador---------------------------- //8: //Compilar arquivo Naum existe mais a op=E7=E3o "compilar arquivo'... existe o menu = executar... acho que =E9 melhor tirar esta op=E7=E3o... //9: //Comprimir HTML Segue o c=F3digo (removi as depend=EAncias que haviam com as units do = Notes, deve ter ficado um pouco mais lento, mas ainda assim r=E1pido o suficiente. = Eu to reescrevendo as rotinas direto no mozilla mail, entaum erros podem ocorrer, = hahhahaha): ////////////////////////////////////////////// // COMPRIME HTML //////////////////////////////////////////////// function compHTML(const S): string; begin Result:=3D S; // fins de linha strReplaceAll(Result, #13#10#13#10,''); strReplaceAll(Result, #13#13,''); strReplaceAll(Result, #10#10,''); // tabs duplos strReplaceAll(Result, #9#9, #9); // espa=E7os duplos strReplaceAll(Result, #32#32, #32); // espa=E7os e tabs ao in=EDcio da linha strReplaceAll(Result, #10#32, #10); strReplaceAll(Result, #13#32, #13); strReplaceAll(Result, #10#9, #10); strReplaceAll(Result, #13#9, #13); // repte-se tudo, pois ao fazer a primeira compress=E3o // =E9 poss=EDvel que apare=E7am novos caracteres a serem = comprimidos // fins de linha strReplaceAll(Result, #13#10#13#10,''); strReplaceAll(Result, #13#13,''); strReplaceAll(Result, #10#10,''); // tabs duplos strReplaceAll(Result, #9#9, #9); // espa=E7os duplos strReplaceAll(Result, #32#32, #32); // espa=E7os e tabs ao in=EDcio da linha strReplaceAll(Result, #10#32, #10); strReplaceAll(Result, #13#32, #13); strReplaceAll(Result, #10#9, #10); strReplaceAll(Result, #13#9, #13); end; ///////////////////////////////////////// ///// SUBSTITUI TODAS AS OCORR=CANCIAS DE UMA STRING ////// MESMO (o que quer dizer que se depois da primeira = substitui=E7=E3o ////// as altera=E7=F5es fa=E7am que o mesmo padr=E3o de caracteres = ressurja, ////// ele ser=E1 substitu=EDdo tb=E9m... ////////////////////////////////////////////////// procedure StrReplaceAll(var S: string; const aSearch, aReplace: = string); begin While Pos(aSearch, S) > 0 do S:=3D StringReplace(S, aSearch, aReplace, [rfReplaceAll]); end; //////////////////////////////// /// SALVA STRING EM ARQUIVO ////////////////////////////////////////////////////////// procedure nStrToFile(const nArq: string; const oQporNoArq: string); begin with TFileStream.Create(nArq, fmCreate) do try Write(Pointer(oQporNoArq)^, Length(oQporNoArq)); finally Free; end; end; /// o jonas passou j=E1 uma fun=E7=E3o para carregar o arquivo pruma = string :) //10:-----------------Separador---------------------------- //11://Adicionar aos favoritos do Notes Basta adicionar o nome do arquivo na =FAltima linha do arquivo que = cont=E9m os favoritos...o Notes remove entradas duplicadas, ent=E3o a shell = extension naum precisa fazer isto, heheheh. Acho que termos que ter o caminho = para este arquivo no registro, naum? Pq a localiza=E7=E3o dele depender=E1 = das op=E7=F5es de isntala=E7=E3o do usu=E1rio... Mais alguma coisa? Anderson --=20 Anderson Rodrigues Barbieri -------------------------------------------- #Equipe do Notes - Coordenador/Desenvolvedor { TAndInfo } ICQ #149391850 / no...@ig... Notes - http://notes.codigolivre.org.br NotesDev - http://notes2.sf.net/dev F=F3rum - http://notes2.sf.net/forum ---Verifica=E7=E3o de V=EDrus executada:Nenhum v=EDrus = encontrado!Sudeste Seguran=E7a e Transporte de ValoresDepartamento de = Tecnologia e Informa=E7=F5esChecked by AVG anti-virus system = (http://www.grisoft.com).Version: 6.0.550 / Virus Database: 342 - = Release Date: 9/12/2003 |