VERSAO DO SIST.OPER ?
Moderador: Moderadores
-
managercorp
- Usuário Nível 3

- Mensagens: 138
- Registrado em: 16 Nov 2004 11:03
- Localização: recife
- Contato:
VERSAO DO SIST.OPER ?
ANTIGAMENTE SE COLOCAVA
@ 10,10 SAY OS()
E O CLIPPER DIZIA EX: DOS 5.0
QUE ERA O QUE SE VIA NO RESULTADO DO COMANDO (VER)
PELO PROMPT DO DOS
HOJE OS SISTEMAS BASICAMENTE SO MOSTRAM DOIS RESULTADOS
NO CASO DO WINDOWS 98
WINDOWS 98 [VERSAO.........
NO CASO DO XP
MICROSOFT WINDOWS XP..........
SO QUE O RETORNO DO COMANDO OS()
CONTINUA SENDO DOS 5.00 OU DOS 7.00
COMO FACO PARA GUARDAR O RESULTADO DO COMANDO VER
DO PROMPT DO DOS EM UMA VARIAVEL NO CLIPPER
EX:
SE O RESULTADO DE VER E WINDOWS 98
ENTAO MINHA VARIAVEL SISTEMAOP='WINDOWS 98'
PELO OS() SO APARECE DOS 5.00, ASSIM SENDO NAO SEI COMO IDENTIFICAR SE A ESTACAO E 98 OU XP
ALGUEM PODE ME AJUDAR
POIS TENHO ROTINAS QUE FUNCIONAM COM UM COMANDO NO 98 E COM OUTRO NO XP, E O SISTEMA DE SABER AUTOMATICAMENTE QUAL CHAMADA VAI FAZER.
NAO ADIANTA PEDIR PRA MIM COLOCAR UMA VARIAVEL NO AUTOEXEC.BAT TIPO ASSIM SISTEMA='XP', POIS NAO ADIANTA, MEUS CLIENTES TEM BASES COM 45 ESTACOES E NAO POSSO IR EM CADA UMA ALTERANDO O AUTOEXEC.
TEM DE SER AUTOMATICO QUANDO EU BAIXAR O NOVO EXE.
AGRADECO QUEM ME AJUDAR....
@ 10,10 SAY OS()
E O CLIPPER DIZIA EX: DOS 5.0
QUE ERA O QUE SE VIA NO RESULTADO DO COMANDO (VER)
PELO PROMPT DO DOS
HOJE OS SISTEMAS BASICAMENTE SO MOSTRAM DOIS RESULTADOS
NO CASO DO WINDOWS 98
WINDOWS 98 [VERSAO.........
NO CASO DO XP
MICROSOFT WINDOWS XP..........
SO QUE O RETORNO DO COMANDO OS()
CONTINUA SENDO DOS 5.00 OU DOS 7.00
COMO FACO PARA GUARDAR O RESULTADO DO COMANDO VER
DO PROMPT DO DOS EM UMA VARIAVEL NO CLIPPER
EX:
SE O RESULTADO DE VER E WINDOWS 98
ENTAO MINHA VARIAVEL SISTEMAOP='WINDOWS 98'
PELO OS() SO APARECE DOS 5.00, ASSIM SENDO NAO SEI COMO IDENTIFICAR SE A ESTACAO E 98 OU XP
ALGUEM PODE ME AJUDAR
POIS TENHO ROTINAS QUE FUNCIONAM COM UM COMANDO NO 98 E COM OUTRO NO XP, E O SISTEMA DE SABER AUTOMATICAMENTE QUAL CHAMADA VAI FAZER.
NAO ADIANTA PEDIR PRA MIM COLOCAR UMA VARIAVEL NO AUTOEXEC.BAT TIPO ASSIM SISTEMA='XP', POIS NAO ADIANTA, MEUS CLIENTES TEM BASES COM 45 ESTACOES E NAO POSSO IR EM CADA UMA ALTERANDO O AUTOEXEC.
TEM DE SER AUTOMATICO QUANDO EU BAIXAR O NOVO EXE.
AGRADECO QUEM ME AJUDAR....
-
managercorp
- Usuário Nível 3

- Mensagens: 138
- Registrado em: 16 Nov 2004 11:03
- Localização: recife
- Contato:
Eu mesmo Resolvi
ja que ninguem desenrolou essa, eu mesmo arranjei um jeito
vou citar abaixo a solucao, possa ser que sirva para alguem:
VSISTEMAO='XP'
IF .NOT. FILE("C:\WINDOWS\SYSTEM32\WIN.COM")
VSISTEMAO='98'
ENDIF
IF VSISTEMAO='XP'
! CMD /C START /MAX /high WORDVIEW.EXE teste.doc
ENDIF
IF VSISTEMAO='98'
RUN START /MAX WORDVIEW.EXE teste.doc
ENDIF
vou citar abaixo a solucao, possa ser que sirva para alguem:
VSISTEMAO='XP'
IF .NOT. FILE("C:\WINDOWS\SYSTEM32\WIN.COM")
VSISTEMAO='98'
ENDIF
IF VSISTEMAO='XP'
! CMD /C START /MAX /high WORDVIEW.EXE teste.doc
ENDIF
IF VSISTEMAO='98'
RUN START /MAX WORDVIEW.EXE teste.doc
ENDIF
-
Visitante
Alexandre...
O ideal é você usar a forma como o lima falou, analisando a variável de sistema OS com a função GetEnv, se for XP/2000 ela vai retornar Windows_NT.
A forma como você tem feito poderá te trazer problemas quando você se deparar com algum windows xp que não foi instalado na pasta C:\Windows.
Um Clip Abraço
O ideal é você usar a forma como o lima falou, analisando a variável de sistema OS com a função GetEnv, se for XP/2000 ela vai retornar Windows_NT.
A forma como você tem feito poderá te trazer problemas quando você se deparar com algum windows xp que não foi instalado na pasta C:\Windows.
Um Clip Abraço
Só um probleminha...
Tentando descobrir um meio de ajudar o alexandre tentei a opção do GETENV("OS") porém não retorna nada, reparei que o mesmo acontece com todas as variaveis de ambiente criadas pelo windows XP, quando são variaveis criadas pelo usuário retorna beleza.
Outra coisa que tentei (e que me deixou com mais raiva do XP) foi capturar a saida do comando VER, observem que se executo o comando VER direto no DOS ele retorna o nome do Windows (XP/2000/98), porem se coloco o seguite comando dentro do programa RUN VER >SO.TXT, quando vou ver dentro do SO.TXT só tem MS-DOS versao 5.00.500 - Vai entender uma p... dessas ?
Até logo.
Marcelo
Tentando descobrir um meio de ajudar o alexandre tentei a opção do GETENV("OS") porém não retorna nada, reparei que o mesmo acontece com todas as variaveis de ambiente criadas pelo windows XP, quando são variaveis criadas pelo usuário retorna beleza.
Outra coisa que tentei (e que me deixou com mais raiva do XP) foi capturar a saida do comando VER, observem que se executo o comando VER direto no DOS ele retorna o nome do Windows (XP/2000/98), porem se coloco o seguite comando dentro do programa RUN VER >SO.TXT, quando vou ver dentro do SO.TXT só tem MS-DOS versao 5.00.500 - Vai entender uma p... dessas ?
Até logo.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
-
managercorp
- Usuário Nível 3

- Mensagens: 138
- Registrado em: 16 Nov 2004 11:03
- Localização: recife
- Contato:
Foi isto mesmo
Foi isto mesmo que detectei Marcelo
por enquanto vou fazendo do meu jeito como falei acima
se na pasta windows\system32 tem o arquivo win.com
e porque e xp ou nt.
e assim vamos levando. gostei do Marcelo, viu e foi atras pra ter certeza, tambem sou assim, valeu Marcelo.
por enquanto vou fazendo do meu jeito como falei acima
se na pasta windows\system32 tem o arquivo win.com
e porque e xp ou nt.
e assim vamos levando. gostei do Marcelo, viu e foi atras pra ter certeza, tambem sou assim, valeu Marcelo.
-
Visitante
Lamento ter que opinar o contrário Marcelo e Alexandre...
Eu achei um absurdo o que vocês escreveram e resolvi fazer o teste.
Criei um prgzinho Chulo, com apenas isso:
csistema:=Getenv("OS")
? csistema
compilei e rodei
apareceu na minha tela:
Windows_NT
Acho que o problema deve estar com o Windows de vocês.
Meu windows xp é:
Versão 5.1 compilação 2600.xpsp2_sp2_gdr.050301-1519: Service Pack 2
Verifiquem o windows de vocês, pois no meu funcionou direitinho.
Eu apenas achei estranho, pois em alguns programas meus eu utilizo a variável criada pelo xp "SYSTEMROOT" que devolve a pasta onde está instalado o Windows e nunca tive problema.
Um Clip Abraço
Eu achei um absurdo o que vocês escreveram e resolvi fazer o teste.
Criei um prgzinho Chulo, com apenas isso:
csistema:=Getenv("OS")
? csistema
compilei e rodei
apareceu na minha tela:
Windows_NT
Acho que o problema deve estar com o Windows de vocês.
Meu windows xp é:
Versão 5.1 compilação 2600.xpsp2_sp2_gdr.050301-1519: Service Pack 2
Verifiquem o windows de vocês, pois no meu funcionou direitinho.
Eu apenas achei estranho, pois em alguns programas meus eu utilizo a variável criada pelo xp "SYSTEMROOT" que devolve a pasta onde está instalado o Windows e nunca tive problema.
Um Clip Abraço
Em complemento à resposta anterior.
Pensando em estabelecer o ambiente de trabalho, cheguei à seguinte solução.
Não sei se é a mais correta porém pode ser útil com algumas alterações.
Um Abraço
Pensando em estabelecer o ambiente de trabalho, cheguei à seguinte solução.
Não sei se é a mais correta porém pode ser útil com algumas alterações.
Código: Selecionar todos
run ver >> os.txt
var:= memoread("os.txt")
for x:= 1 to Len(Trim(var))
do case
case SubStr(var, x, 10) = "Microsoft "
if (SubStr(var, x+10, 10) = "Windows XP")
op:= "XP"
elseif (SubStr(var, x+10, 10) = "Windows 98")
op:= "98"
else
op:= "MSDOS"
endif
exit
endcase
next
run del os.txt-
Dudu_XBase
- Membro Master

- Mensagens: 1071
- Registrado em: 25 Ago 2003 16:55
Boa noite Galera.
Vcs tbm podem fazer assim.
Existem duas funções da Oslib que unidas retornam a versão do DOS:
* OL_OsVerMaj()
* OL_OsVerMin()
? alltrim( str( OL_OsVerMaj() ) ) + "." + ;
alltrim( str( OL_OsVerMin() ) )
Versões Retornadas com o Sistema Operacional
// Ultima versão da Oslib criada pelo Dave Pearson
http://www.davep.org/clipper/oslib106.zip
Já no xharbour vc pode usar essas funções para pegar a versão do SO.
os_iswinnt
os_iswin95
os_iswin98
os_iswinme
os_iswinnt351
os_iswinnt4
os_iswin2000
os_iswinxp
os_iswin2003
os_iswtsclient
os_versioninfo
Criei esse exe em xharbour para exemplificar
http://geocities.yahoo.com.br/dudu_xbase/version.zip
ele tb atualiza a variavel de Ambiente OS utilizada pelo Lizander.
Vcs tbm podem fazer assim.
Existem duas funções da Oslib que unidas retornam a versão do DOS:
* OL_OsVerMaj()
* OL_OsVerMin()
? alltrim( str( OL_OsVerMaj() ) ) + "." + ;
alltrim( str( OL_OsVerMin() ) )
Versões Retornadas com o Sistema Operacional
Código: Selecionar todos
95 DOS 7.0
95 OSR 2.5 DOS 7.10
98 DOS 7.07
98SE DOS 7.10
ME DOS 8.0
NT4 DOS 5.00
2000 DOS 5.00
XP DOS 5.00
http://www.davep.org/clipper/oslib106.zip
Já no xharbour vc pode usar essas funções para pegar a versão do SO.
os_iswinnt
os_iswin95
os_iswin98
os_iswinme
os_iswinnt351
os_iswinnt4
os_iswin2000
os_iswinxp
os_iswin2003
os_iswtsclient
os_versioninfo
Criei esse exe em xharbour para exemplificar
http://geocities.yahoo.com.br/dudu_xbase/version.zip
ele tb atualiza a variavel de Ambiente OS utilizada pelo Lizander.
________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle

