Página 1 de 2

Config.nt e Autoexec.nt AJUDA! :(

Enviado: 27 Fev 2007 20:22
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

Enviado: 27 Fev 2007 22:49
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

Enviado: 28 Fev 2007 14:05
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...

Enviado: 28 Fev 2007 16:12
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

Enviado: 28 Fev 2007 17:32
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

Enviado: 01 Mar 2007 09:09
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

Enviado: 01 Mar 2007 10:05
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

Enviado: 01 Mar 2007 13:06
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 !!!

Enviado: 01 Mar 2007 13:16
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

Enviado: 01 Mar 2007 16:16
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

Enviado: 02 Mar 2007 17:48
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

Enviado: 02 Mar 2007 18:25
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

Enviado: 02 Mar 2007 19:20
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 ??

Enviado: 02 Mar 2007 21:19
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

Enviado: 02 Mar 2007 22:17
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