Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* adaptado por gsavix@gmail.com */
- /* agosto 2016 */
- parse arg infile .
- say '============================================'
- say '| Programa animalptbr.rexx |'
- say '| Por motivos diversos recomendamos |'
- say '| Nao usar caracteres acentuados |'
- say '| apenas caracteres ascii e numeros |'
- say '| responda S para sim |'
- say '| responda N para nao |'
- say '| responda caracteristica ou nome do animal |'
- say '| responda nome de arquivo para salvar |'
- say '============================================='
- if infile\='' then
- do while lines(infile)>0
- interpret linein(infile) ;
- end
- else
- base = 'elefante'
- do until left(answer,1) = 'N'
- where = 'BASE'
- finished = 0
- do while finished = 0
- if symbol(where'.S')='VAR' then do
- say value(where)
- pull answer
- if left(space(answer),1) = 'N' then
- where = where'.N'
- else
- where = where'.S'
- end; else do
- finished = 1;
- say 'Pensando em 'value(where)'?'
- pull answer
- if left(answer,1) = 'S' then
- say 'Legal!!!'
- else do
- say 'HHHMMM, Pensando em ...?'
- parse pull newanimal
- say 'Qual pergunta permite diferenciar entre 'newanimal' e ',
- value(where)':'
- parse pull quest
- say 'Qual resposta (S ou N) para 'newanimal'?'
- pull answer
- answer = space(answer)
- if left(answer,1) = 'S' then do
- interpret where'.N =' where
- interpret where'.S = newanimal'
- interpret where '= quest'
- end; else do
- interpret where'.S =' where
- interpret where'.N = newanimal'
- interpret where '= quest'
- end
- end
- end
- end
- say 'Continuar deduzindo (S ou N)?'
- pull answer
- answer = space(answer)
- end
- say 'Informe arquivo para salvar (deixar em branco para NAO salvar!)?'
- parse pull filename
- if filename\='' then do
- call lineout filename,, 1
- signal on notready
- call dump 'BASE'
- end
- exit 0
- dump: procedure expose filename base base.
- parse arg arg
- if symbol(arg)='VAR' then do
- call lineout filename, arg'="'insulate(value(arg))'"'
- call dump arg'.S'
- call dump arg'.N'
- end
- return ;
- insulate:
- parse arg string
- pos = -1
- do until pos=0
- pos = pos('"', string, pos+2)
- if (pos>0) then
- string = left(string,pos-1) || '""' || substr(string,pos+1)
- end
- return string
- notready:
- say 'erro salvando arquivo. processo encerrado.'
- exit 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement