Lemos, está aí o seu gerador em Prisma utilizando o módulo gráfico igbr,
Não digo que é mais simples ou melhor, mas só para ilustrar, é bom
que dá para fazer um teste de performance, coloquei aqui no meu Xp rodando
em uma virtual Box 300000 (trezentas mil imagens ) e ele gerou o arquivo em
poucos segundos.
Veja o código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
inclua 'igbr' //incluindo a biblioteca de interface gráfica, janela = ig.janela( "Exemplo criar arquivo xml" , 350 , 140 ); //criando a janela ig.conecte ( janela , ig.destruido , [[ ig.fimjanela( ) ]] ); fixo = ig.fixo( ); //criando uma caixa fixa ig.ad ( janela , fixo ); rotulo = ig.rotulo "Primeiro Número Nome das Imagens Último Número"; ig.fixo_ad ( fixo , rotulo , 5 , 5 ); PrimeiroNum = ig.texto ( ); ig.texto_def_alinhamento( PrimeiroNum , 1 ); // 1 = direita, 0 esquerda ig.componente_def_tamanho ( PrimeiroNum , 80 , 20 ); ig.fixo_ad ( fixo , PrimeiroNum , 5 , 25 ); NomeIMG = ig.texto ( ); ig.texto_def_alinhamento ( NomeIMG , 1 ); ig.fixo_ad( fixo , NomeIMG , 105, 25 ); ig.componente_def_tamanho ( NomeIMG , 110 , 20 ); UltimoNum = ig.texto( ) ; ig.texto_def_alinhamento ( UltimoNum , 1 ); ig.fixo_ad ( fixo , UltimoNum , 245 , 25 ); ig.componente_def_tamanho ( UltimoNum , 80 , 20 ); Etapa = 1 caixah = ig.caixahorizontal ( falso , 0 ); rot = ig.rotulo "GERAR"; img = ig.imagem_estoque ( ig.estoque'execute' , 3 ); ig.caixa_ad ( caixah, img , falso , falso , 0 ); ig.caixa_ad ( caixah, rot , falso , falso , 0 ); Gerar = ig.botao ( ); ig.ad ( Gerar , caixah ); ig.fixo_ad ( fixo , Gerar , 129 , 68 ); funcao Gerar_exec ( ) N1 = ig.texto_obt_texto ( PrimeiroNum ); NU = ig.texto_obt_texto ( UltimoNum ); NomeImagem = ig.texto_obt_texto ( NomeIMG ); arq = es.abra( "Script.txt" , "escrita" ); se NU == "" entao NU = 0; fim se N1 == "" entao N1 = 0 fim enquanto Etapa <= convnumero( NU ) inicio se Etapa < 10 entao PosiImg = "000" .. Etapa //0001 a 0009 senaose Etapa >= 10 e Etapa < 100 entao PosiImg = "00" .. Etapa //0010 a 0099 senaose Etapa >= 100 e Etapa < 1000 entao PosiImg = "0" .. Etapa //0100 a 0999 senao PosiImg = Etapa; fim //fim se S = "<IMAGEM>img/" .. NomeImagem .. PosiImg .. ".jpg</IMAGEM>" ; // lembra o arquivo aberto, armazenado na variável arq? arq:escreva( S .. "n" ); //necessário o caractere nova linha 'n' Etapa = Etapa + 1; fim //fim enquanto; arq:feche ( ); ig.msg( janela , "Sucesso" , "Script Gerado com Sucesso!" ); //FimJanela ig.fimjanela ( ); fim //fim funcao Gerar_exec ig.conecte ( Gerar , ig.clique , "Gerar_exec ( )"); ig.componente_mostre_todos( janela ); ig.fimprograma( ); |
Falou, até mais pessoal
Att. Adalberto