//ESTE EXEMPLO,MOSTRA COMO PRODUZIR UM ARQUIVO XML SENDO //SEUS DADOS APRESENTADO EM FORMA DE ATRIBUTOS APARTIR DE //UM STRINGGRID. //ESTE EXEMPLO É EXCLUSIVO DESTE SITE(NO QUAL RESOLVI PUBLICA- //LO) //NESTE EXEMPLO,O NUMERO DE COLUNAS DO STRINGGRID É DE 33 //COLUNAS(STRINGGRID1.COLSCOUNT=33) //O NUMERO DE LINHAS É DE 1001(STRINGGRID1.ROWSCOUNT=1001) //DEVE TER UMA LINHA FIXA(FIXEDROWS=1) //FIXEDCOLS=0(SEM COLUNAS FIXAS) //EM OPTIONS,VOCE PODE OPTAR POR ALWAYS SHOW EDITOR=TRUE //GOEDITING=TRUE //COLSSIZING=TRUE //COLSMOVING=TRUE //EM ALTERNATE COLO (ESCOLHA SUA PREFERENCIA)
procedure TForm7.BitBtn2Click(Sender: TObject); var c,P,L,K,cx,lx:integer; var a,b,xb:string; var f:textfile; var temp,x,y:integer; var tempstr,DD:string; var arq:tstringlist;//criar um stringlist //abaixo cada variavel de prefixo b,representa uma coluna do stringgrid(exemplo : b1) var b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,data,hora:string; begin
arq:=tstringlist.create;
DD:=' ="';//separador do xml
ARQ.ADD('');//cabeçalho
ARQ.ADD('');//nome da tabela
ARQ.ADD('');//abre a estrutura do xml IF B='' THEN
L:=0;//se acelula estiver vazia ignora-a
//se a celula contiver uma string,então pegue-a,conforme seus respectivos //campos
L:=L+1; IF B<>'' THEN
ARQ.ADD((' DIA')+INTTOSTR(L)+STRING(DD)+(B)+'"'); IF B<>'' THEN
ARQ.ADD((' MES')+INTTOSTR(L)+STRING(DD)+(B1)+'"'); IF B<>'' THEN
ARQ.ADD((' ANO')+INTTOSTR(L)+STRING(DD)+(B2)+'"'); IF B<>'' THEN
ARQ.ADD((' APELIDO')+INTTOSTR(L)+STRING(DD)+(B3)+'"'); IF B<>'' THEN
ARQ.ADD((' NOME')+INTTOSTR(L)+STRING(DD)+(B4)+'"'); IF B<>'' THEN
ARQ.ADD((' RG')+INTTOSTR(L)+STRING(DD)+(B5)+'"'); IF B<>'' THEN
ARQ.ADD((' UF')+INTTOSTR(L)+STRING(DD)+(B6)+'"'); IF B<>'' THEN
ARQ.ADD((' CPF')+INTTOSTR(L)+STRING(DD)+(B7)+'"'); IF B<>'' THEN
ARQ.ADD((' CTPS')+INTTOSTR(L)+STRING(DD)+(B8)+'"'); IF B<>'' THEN
ARQ.ADD((' SERIE')+INTTOSTR(L)+STRING(DD)+(B9)+'"'); IF B<>'' THEN
ARQ.ADD(('ORIGEM_UF')+INTTOSTR(L)+STRING(DD)+(B10)+'"'); IF B<>'' THEN
ARQ.ADD((' ENDERECO')+INTTOSTR(L)+STRING(DD)+(B11)+'"'); IF B<>'' THEN
ARQ.ADD((' BAIRRO')+INTTOSTR(L)+STRING(DD)+(B12)+'"'); IF B<>'' THEN
ARQ.ADD((' CEP')+INTTOSTR(L)+STRING(DD)+(B13)+'"'); IF B<>'' THEN
ARQ.ADD((' CIDADE')+INTTOSTR(L)+STRING(DD)+(B14)+'"'); IF B<>'' THEN
ARQ.ADD(('RESIDENCIA_UF')+INTTOSTR(L)+STRING(DD)+(B15)+'"'); IF B<>'' THEN
ARQ.ADD((' ALTURA')+INTTOSTR(L)+STRING(DD)+(B16)+'"'); IF B<>'' THEN
ARQ.ADD((' PESO')+INTTOSTR(L)+STRING(DD)+(B17)+'"'); IF B<>'' THEN
ARQ.ADD((' CUTIS')+INTTOSTR(L)+STRING(DD)+(B18)+'"'); IF B<>'' THEN
ARQ.ADD((' SINAL_PARTICULAR')+INTTOSTR(L)+STRING(DD)+(B19)+'"'); IF B<>'' THEN
ARQ.ADD((' SITUACAO_JURIDICA')+INTTOSTR(L)+STRING(DD)+(B20)+'"'); IF B<>'' THEN
ARQ.ADD((' ARTIGO')+INTTOSTR(L)+STRING(DD)+(B21)+'"'); IF B<>'' THEN
ARQ.ADD((' DATA_DA_OCORRENCIA')+INTTOSTR(L)+STRING(DD)+(B22)+'"'); IF B<>'' THEN
ARQ.ADD((' LOCAL_DA_OCORRENCIA')+INTTOSTR(L)+STRING(DD)+(B23)+'"'); IF B<>'' THEN
ARQ.ADD((' OCORRENCIA')+INTTOSTR(L)+STRING(DD)+(B24)+'"'); IF B<>'' THEN
ARQ.ADD((' APURADOR_DO_CASO')+INTTOSTR(L)+STRING(DD)+(B25)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_A')+INTTOSTR(L)+STRING(DD)+(B26)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_B')+INTTOSTR(L)+STRING(DD)+(B27)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_C')+INTTOSTR(L)+STRING(DD)+(B28)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_D')+INTTOSTR(L)+STRING(DD)+(B29)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_E')+INTTOSTR(L)+STRING(DD)+(B30)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_F')+INTTOSTR(L)+STRING(DD)+(B31)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_G')+INTTOSTR(L)+STRING(DD)+(B32)+'"'); IF B<>'' THEN
ARQ.ADD((' CADASTRO_DA_IMPRESSAO_H')+INTTOSTR(L)+STRING(DD)+(B33)+'"/>');
UNTIL(L=1001);
ARQ.ADD('');//fecha se a estrutura do xml (de atributos)
ARQ.ADD('');//tab
arq.SAVETOFILE('c:
elatorio(atr).XML');//salva para seu endereço
showmessage('Seu relatório foi criado com sucesso no endereço '+('c:'));
end; //PARA VISUALIZAR O ARQUIVO COMO DESENVOLVIDO,USE UM PARSER //DE XML E VOCÊ VERÁ O RESULTADO