Config.nt e Autoexec.nt AJUDA! :(

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

celista
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 16 Set 2006 13:49

Config.nt e Autoexec.nt AJUDA! :(

Mensagem por celista »

Boa noite a todos! :D
Minha duvida é o seguinte: tem como eu criar uma função para alterar altomaticamente os arquivos config e autoexec ao instalar um aplicativo em clipper pela primeira vez no computador?

Ja achei um programa para fazer um instalador, só falta essa questao do config e autoexec.

Um abraço a todos e
Obrigado :)Pos
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Eu particularmente faço como esta abaixo !!! meu unico problema é quando é WIN-ME

Código: Selecionar todos

***********
FUNC AJUSTA
***********
vWIN=0

IF File("C:\CONFIG.SYS")  //WIN98 E 95
   vWIN=1
ENDIF
IF File("C:\WINDOWS\SYSTEM32\CONFIG.NT")  // WIN XP
   vWIN=2
ENDIF
IF File("C:\WINNT\SYSTEM32\CONFIG.NT")   // WIN 2000
   vWIN=3
ENDIF

fflag := .t. // flag para FILES
cflag := .t. // flag para BUFFERS
cline:=''

IF vWIN=1
   fhandle := fopen("C:\CONFIG.SYS")
   d_arq = fcreate("C:\CONFIG.BAK",0)
ELSEIF vWIN=2
   fhandle := fopen("C:\WINDOWS\SYSTEM32\CONFIG.NT")
   d_arq = fcreate("C:\CONFIG.BAK",0)
ELSEIF vWIN=3
   fhandle := fopen("C:\WINNT\SYSTEM32\CONFIG.NT")
   d_arq = fcreate("C:\CONFIG.BAK",0)
ENDIF

do whil freadln(fhandle,@cline,LINE_SIZE)
   if 'FILES'$uppe(cline)
      cline := 'FILES=100'
      fflag := .f.
   elseif 'BUFFERS'$uppe(cline)
      cline := 'BUFFERS=30'
      cflag := .f.
   endif
   fwriteln(d_arq,cline)
enddo
if fflag
   fwriteln(d_arq,'FILES=100')
endi
if cflag
   fwriteln(d_arq,'BUFFERS=30')
endi   

fclose(fhandle)
fclose(d_arq)

IF vWIN=1
   COPY FILE C:\CONFIG.BAK TO C:\CONFIG.SYS
ELSEIF vWIN=2
   COPY FILE C:\CONFIG.BAK TO C:\WINDOWS\SYSTEM32\CONFIG.NT
ELSEIF vWIN=3
   COPY FILE C:\CONFIG.BAK TO C:\WINNT\SYSTEM32\CONFIG.NT
ENDIF

IF vWIN=1
   fhandle := fopen("C:\AUTOEXEC.BAT")
   d_arq = fcreate("C:\AUTOEXEC.BAK",0)
ELSEIF vWIN=2
   fhandle := fopen("C:\WINDOWS\SYSTEM32\AUTOEXEC.NT")
   d_arq = fcreate("C:\AUTOEXEC.BAK",0)
ELSEIF vWIN=3
   fhandle := fopen("C:\WINNT\SYSTEM32\AUTOEXEC.NT")
   d_arq = fcreate("C:\AUTOEXEC.BAK",0)
ENDIF

do whil freadln(fhandle,@cline,LINE_SIZE)
   if 'SET PLL='$uppe(cline)
   elseif 'SET CLIPPER='$uppe(cline)
   elseif 'IF NOT EXIST C:\TEMP MD C:\TEMP'$uppe(cline)
   else
      fwriteln(d_arq,cline)   
   endi
enddo
fwriteln(d_arq,'IF NOT EXIST C:\TEMP MD C:\TEMP')
fwriteln(d_arq,'SET CLIPPER=//F:121//DYNF:8//BADCACHE//SWAPK:65535//SWAPPTAH:"C:\TEMP"//TEMPPATH:"C:\TEMP"')
fclose(fhandle)
fclose(d_arq)

IF vWIN=1
   COPY FILE C:\AUTOEXEC.BAK TO C:\AUTOEXEC.BAT
ELSEIF vWIN=2
   COPY FILE C:\AUTOEXEC.BAK TO C:\WINDOWS\SYSTEM32\AUTOEXEC.NT
ELSEIF vWIN=3
   COPY FILE C:\AUTOEXEC.BAK TO C:\WINNT\SYSTEM32\AUTOEXEC.NT
ENDIF
return nil
Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Pessoal...

Vcs me desculpem... mais sempre que aparece aqui no fórum questões relacionadas a AUTOEXEC.NT e CONFIG.NT, eu fico me perguntando...
Ou eu sou um cara de muita sorte ou então sou um perfeito "ignorante"...
Eu tenho pelo menos 12 sistemas em Clipper 5.3 c/ Blinker6 rodando (sem problema algum) em WinXP e nunca precisei mexer em nada de AUTOEXEC.NT e/ou CONFIG.NT
Quero crer que, talvez, seja o SCRIPT que uso para compilar/linkeditar que faça essa "mágica"....

Aí vai um exemplo da minha rotina (básica) de compilação/linkedição que uso em TODOS os sistemas que desenvolvo:

Código: Selecionar todos

SCRIPT DE COMPILAÇÃO -> SIS.CLP

prog_0.prg   //programa principal
prog_1.prg
prog_2.prg
....
prog_N.prg

SCRIPT DE LINKEDIÇÃO -> SIS.LNK

FILE SIS,c:\clip53\TIMESLIC   // OBJs utilizados
OUTPUT SIS   // Nome do EXECUTÁVEL
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F250
BLINKER PROCEDURE DEPTH 140
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTENDED 
SEARCH BLXCLP53
//---------------------------------------  LIBs Utilizadas
LIB CLIPPER
LIB EXTEND
LIB DBFNTX
LIB TERMINAL
LIB CTP

SCRIPT DO "BAT" DE COMPILAÇÃO/LINKEDIÇÃO -> SIS.BAT

SET INCLUDE=C:\CLIP53
SET LIB=C:\CLIP53
SET OBJ=C:\CLIP53
SET PLL=C:\CLIP53
\CLIP53\CLIPPER @SIS /M /O
\CLIP53\BLINKER @SIS

Eu gostaria de saber de alguém, principalmente dos "experts" o que acham disso...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Augusto,
Eu particularmente faço as devidas alteraçoes no autoexec e no config por que, em determinadas parte do meu sistema uso mais de 30 arquidos DBF fora os indice.....entaum...eu sou obrigado a mudar o padrao do windows que se nao me engano e 30....

Obs:O meu sistema indentiica se existe um arquivo de configuraçoes do meu sistema...se nao existir ele faz as mudaças no aoutoexec e config e reinicia o micro atraves da WAPI do Maligno......

Fui.....Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Augusto

Qualquer pessoa que utilize o BLINKER com a opção :

EXECUTABLE CLIPPER

Não precisa alterar o AUTOEXEC nem o CONFIG e isso vale para qualquer versão do Windows, vale lembrar que idependente disso algumas vezes precisamos colocar alguma coisa no AUTOEXEC, como número da estação, tipo de impressora fiscal, comandos de porta serial, etc...

Aproveito mais uma vez para lembrar que o Windows XP aceita e processa perfeitamente o AUTOEXEC.BAT, o mesmo não acontece com o CONFIG.SYS mas esse é realmente desnecessário no XP.

O EXOSPACE também tem uma opção semelhante, só não sei qual é.

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)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Marcelo
Eu uso BLINKER 7.0 e uso o comando que vc mencionou e assim mesmo tenho que alterar meu CONFIG...o sistema em si funciona perfeitamente..mas em determinadas areas do meu sistema eu uso mais de 30 arquivos de DBF e mais uns 50 arquivo de indice...entaum nesse caso ele me retorna um erro que não foi possivel abrir todos os arquivos....por isso eu faço as alterações..que na verdade é soh o meu FILES no CONFIG ....eu particularmente uso o FILES=100

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

Parceiro "sygecom"

No script que postei aqui, a linha "BLINKER EXECUTABLE CLIPPER F250" da qual o Marcelo se refere o F250 em evidencia quer dizer extamente a mesma coisa do "FILES=250" do config.sys, por isso não há necessidade de usá-la no CONFIG.NT
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Augusto,
Vou dar uma verificada e volto com os resultados , mas tenho certeza que tenho essa parametro no meu SCRIPT.....mas tudo bem.....eu volto e falo alguma coisa !!

Abraços !!!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Augusto,
Não sei o que vc faz ai que aqui não funciona....tentei de tudo jah fiz até uamreza braba.....mas não adiantou....abaixo segue como esta meu .LNK eu uso o BLINKER 7.0/ DBFCDX / CLIPPER 5.3 e em uma determinada parte do meu sistema eu tenho que abrir mais de 30 DBF e uns 50 INDICE....se poder me dizer como faço pra não ter que alterar mais os CONFIG nas maquina de meus clientes eu agradeço....

Código: Selecionar todos

NOBELL
Blinker Incremental Off
Blinker Cache EMS 50%,50% 
Blinker Cache XMS 50%,50% 
Blinker Link EMS ON 
Blinker Link XMS ON 
Blinker Exec Clipper //Dynf:8 //F:254 
Blinker Exec Comp 1 
Blinker Exec Exte 
Blinker Exec NODELETE 
Blinker Memo Pack 60 
Search BlxRatex 
Search BlxClp53 
Blinker Incr Pad 256 
Blinker Over Page On 
Blinker Over Opsi 60 
Blinker Procedure Depth 70
OutPut Sistema

DEFBEGIN
   name        FatAll 
   description 'Sistema de Auto GestÆo Integrado' 
   #exetype     Windows 3.1 
   code        moveable discardable preload 
   data        preload moveable 
   stacksize   9500 
   heapsize    1024 
   segment     'PLANKTON_TEXT' nondiscardable 
   segment     'EXTEND_TEXT'   nondiscardable 
   segment     'OM_TEXT'       nondiscardable 
   segment     'OSMEM_TEXT'    nondiscardable 
   segment     'SORTOF_TEXT'   nondiscardable 
   segment     'STACK_TEXT'    nondiscardable 
DEFEND 

FILE SAGI
FILE MENUS

FILE __WAIT
FILE WFULLSCR

LIB CLIPPER,EXTEND,VL2,CTP,DBFCDX,_DBFCDX,SYGECOM
Fico no Aguardo !!!

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Augusto escreveu:No script que postei aqui, a linha "BLINKER EXECUTABLE CLIPPER F250" da qual o Marcelo se refere o F250 em evidencia quer dizer extamente a mesma coisa do "FILES=250" do config.sys, por isso não há necessidade de usá-la no CONFIG.NT
Uma lembrança: a especificação F250 não garante a criação de espaço para a abertura de 250 arquivos, a menos que o próprio sistema operacional tenha sido configurado (FILES) com, no mínimo, 250. Ou seja, você até pode informar a quantidade que quiser no BLinker (ou mesmo em linha de comando: SET CLIPPER=F250, por exemplo). Mas não adiantará nada se o DOS não tiver sido "bootado" com um FILES de valor igual ou maior. Tudo isso é confirmado pelo help do BLinker.

Por isso, caso o programa precise de mais FILES que o default (no NT o default é 40, se não me engano), será sim necessário aumentar o valor de FILES, editando o CONFIG.SYS ou o CONFIG.NT, e reiniciar a máquina. No caso de NT, apenas fechar e criar outra janela DOS já será suficiente.

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno:
Tah certo era isso mesmo que acontece.....entaum resumindo a linha
SET EXECUTABLE CLIPPER F250 não vai resolver o meu problema...que tenho que abrir uns 30 DBF e uns 50 INDICE....Realmente tenho que alterar os FILES antes de usar o meu sistema....hj o meu sistema indentifica se jah fez as configuração previa na maquina local, se não fez eu altero os FILES da maquina local e obrigo o cara reiniciar a maquina, uma vez alterado nunca mais altero naquela maquina....

Aproveitando alguem sabe alterar os FILES em WINDOWS ME atraves do CLIPPER ??

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

sygecom escreveu:Aproveitando alguem sabe alterar os FILES em WINDOWS ME atraves do CLIPPER ??
Nunca usei o Windows Me. Sempre que um cliente tinha eu pedia pra trocar. Por isso faço a pergunta: qual a dificuldade com ele?

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno escreveu:Nunca usei o Windows Me. Sempre que um cliente tinha eu pedia pra trocar. Por isso faço a pergunta: qual a dificuldade com ele?
Bom na verdade tenho Representantes na Rua vendendo meu sistema e eles so sabem o pratico e claro sabem vender...mas eles nao sabem configurar os FILES.
A questao e que naum posso simplesmente pedir para todos que queiram testar meu sistema que usem o WIN98,2000 ou XP.....claro o bom seria, tenho clientes que eu digo que tem que ter o WIN98 ou XP.

Entaum o meu sistema tem que saber qual o windows o cliente tem e ir no lugar certo para alterar o FILES ....e no WIN-ME eu me dou mal.....o que fazer ??? alguem tem alguma soluçao ??
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

sygecom escreveu:A questao e que naum posso simplesmente pedir para todos que queiram testar meu sistema que usem o WIN98,2000 ou XP.....claro o bom seria, tenho clientes que eu digo que tem que ter o WIN98 ou XP.
Ah, sim. Cada caso é um caso. Felizmente não tenho esse problema. Como sou eu mesmo que vendo e nunca busco cliente nenhum, só atendo indicações, eu já chego no cliente com uma motivação diferente (ele me chamou). E quando encontrava alguém com Me, diplomaticamente, lançava argumentos bons o suficientes para convencê-los a trocar. Sempre deu certo.
Entaum o meu sistema tem que saber qual o windows o cliente tem e ir no lugar certo para alterar o FILES ....e no WIN-ME eu me dou mal.....o que fazer ??? alguem tem alguma soluçao ??
Ainda não entendi qual a dificuldade de configurar o CONFIG.SYS do Me em comparação com o 98, por exemplo. É diferente? Realmente, nunca nem cheguei perto de Me.
Se for igual, ou mesmo se for em outro arquivo, no seu lugar eu faria o seguinte: detectar pelo próprio programa qual a versão do windows e, automaticamente, modificar (ou incluir) o FILES com o valor necessário. Para detectar a versão do windows você pode usar o WAPI (você talvez tenha visto a thread a respeito), que tem uma função fácil pra isso. Uma vez detectada a versão, é só abrir o arquivo correspondente, procurar pela linha do FILES e modificar (ou incluir, se ela ainda não existir).

[]'s
Maligno
http://www.buzinello.com/prg
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Amanha vou ver a respeito do Win-Me alias amanha vou me dedicar aos FILES em geral......vou instalar o ME em uma maquina e vou fazer os devidos testes a questão é que o WIN-ME deve se alterar é o system.ini e eu não tenho nem ideia de como é a estrutura desse arquivo...mas vou ver amanha e volto com a solução ou com a duvida....

Valeu....Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder