Buscar

Criar xml apartir de stringgrid

Código

//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('<?xml version="1.0"?>');//cabeçalho
ARQ.ADD('<TABELA>');//nome da tabela
ARQ.ADD('<REGISTRO>');//abre a estrutura do xml
IF B='' THEN
L:=0;//se acelula estiver vazia ignora-a

repeat
//colunas do stringgrid
b:=string((form1.Stringgrid1.cells[0,L]));//nome
B2:=string((form1.Stringgrid1.cells[0+2,L]));
b3:=string((form1.Stringgrid1.cells[0+3,L]));
B4:=string((form1.Stringgrid1.cells[0+4,L]));
b1:=string((form1.Stringgrid1.cells[0+1,L]));//X
b5:=string((form1.Stringgrid1.cells[0+5,L]));
b6:=string((form1.Stringgrid1.cells[0+6,L]));

b7:=string((form1.Stringgrid1.cells[0+7,L]));//nome
B8:=string((form1.Stringgrid1.cells[0+8,L]));
b9:=string((form1.Stringgrid1.cells[0+9,L]));
B10:=string((form1.Stringgrid1.cells[0+10,L]));
b11:=string((form1.Stringgrid1.cells[0+11,L]));
B12:=string((form1.Stringgrid1.cells[0+12,L]));
b13:=string((form1.Stringgrid1.cells[0+13,L]));
b14:=string((form1.Stringgrid1.cells[0+14,L]));

b15:=string((form1.Stringgrid1.cells[0+15,L]));//nome
B16:=string((form1.Stringgrid1.cells[0+16,L]));
b17:=string((form1.Stringgrid1.cells[0+17,L]));
B18:=string((form1.Stringgrid1.cells[0+18,L]));
b19:=string((form1.Stringgrid1.cells[0+19,L]));
B20:=string((form1.Stringgrid1.cells[0+20,L]));
b21:=string((form1.Stringgrid1.cells[0+21,L]));
b22:=string((form1.Stringgrid1.cells[0+22,L]));

b23:=string((form1.Stringgrid1.cells[0+23,L]));//nome
B24:=string((form1.Stringgrid1.cells[0+24,L]));
b25:=string((form1.Stringgrid1.cells[0+25,L]));
B26:=string((form1.Stringgrid1.cells[0+26,L]));
b27:=string((form1.Stringgrid1.cells[0+27,L]));
B28:=string((form1.Stringgrid1.cells[0+28,L]));
b29:=string((form1.Stringgrid1.cells[0+29,L]));
b30:=string((form1.Stringgrid1.cells[0+30,L]));

b31:=string((form1.Stringgrid1.cells[0+31,L]));//nome
B32:=string((form1.Stringgrid1.cells[0+32,L]));



K:=K+1;
//COMPARAÇÃO
 IF B<>'' THEN
ARQ.ADD('<CODIGO ');

//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('</REGISTRO>');//fecha se a estrutura do xml (de atributos)
ARQ.ADD('</TABELA>');//tab

arq.SAVETOFILE('c:relatorio(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

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 25/11/07
Por: Almir Bispo Dos Santos Filho
Visualizada: 6460 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009