Clipper On Line • Ver Tópico - Como abrir/Executar um arquivo de texto?

Como abrir/Executar um arquivo de texto?

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Como abrir/Executar um arquivo de texto?

Mensagempor Daiane » 30 Mar 2017 10:49

Olá amigos,procurei em toda parte mas so achei como ler arquivo de texte
eu quero que abra um arquivo do notepad++
tentei o Run('Start Caminho' ) mas so funciona se o arquivo tiver no C:

Alguem tem alguma dica?
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 16:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 12 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor Kapiaba » 30 Mar 2017 10:55

   LOCAL cFile

   cFile := cFilePath( GetModuleFileName( GetInstance() ) ) + "CARTA.TXT"

   REDEFINE BUTTON oTextoCarta  ID 1002 OF oDlg ;
            ACTION( WinExec( "Notepad.exe " + cFile ), XFOCUS( oCbx[1] ) )
            // Editor de .TXT do Windows

   // em ASCII direto na impressora
   //          ACTION( WinExec( "Notepad.exe /a/p" + cFile ), XFOCUS( oCbx[1] ) )
   // Para Imprimir direto na USB usando o Bloco de Notas como impressora
   //          ACTION( WinExec( "Notepad.exe /p" + cFile ), XFOCUS( oCbx[1] ) )
Kapiaba
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1264
Data de registro: 07 Dez 2012 16:14
Cidade/Estado: São Paulo
Curtiu: 251 vezes
Mens.Curtidas: 81 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor Kapiaba » 30 Mar 2017 11:31

Para abrir o WordPad.exe do Windows:


   MENUITEM "&Writing..."    ACTION WinExec( "Write" ) ;
      MESSAGE "Calling Windows Write"
Kapiaba
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1264
Data de registro: 07 Dez 2012 16:14
Cidade/Estado: São Paulo
Curtiu: 251 vezes
Mens.Curtidas: 81 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor JoséQuintas » 30 Mar 2017 11:43

Olá amigos,procurei em toda parte mas so achei como ler arquivo de texte
eu quero que abra um arquivo do notepad++
tentei o Run('Start Caminho' ) mas so funciona se o arquivo tiver no C:


Ué.... é o de sempre, nada mudou.
Quer abrir algum arquivo em algum programa?

cNomeExe := [c:\"arquivos de programa"\notepad++\notepad++.exe]
cNomeArquivo := [x:\suapasta\nomearquivo.prg]

run ( "start " + cNomeExe + " " + cNomeArquivo )


Se tiver algum programa associado ao arquivo, mais fácil, basta o nome do arquivo.

RUN ( "start nomearquivo.prg" )


Mas fivewin... dá uma procurada em ShellExecute() ou algo assim, fica mais profissional.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8264
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 478 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor Kapiaba » 30 Mar 2017 12:27

Conforme sugerido pelo mister Quintas:

ShellExecute(GetActiveWindow(),"open",'"'+cPdfMachine+'"', 0 )


ou,

MsgRun( "TODOS OS BANCOS FORAM INDEXADOS...", ;
               "Por Favor, Espere! Vou Desligar.  ", ;
                    { || WinExec( CHAMA_VENDAS() ), 3 } )


ou,

***************************
Function MYRUN( cComando )

   ***************************
   Local oShell, RET, lOk:=.T.

   TRY
      #IFDEF __XHARBOUR__
         oShell := CreateObject( "WScript.Shell" )
      #ELSE
         oShell := Win_OleCreateObject( "WScript.Shell" )
      #ENDIF

   CATCH

      TRY
         #IFDEF __XHARBOUR__
            oShell := CreateObject( "WScript.Shell" )
         #ELSE
            oShell := Win_OleCreateObject( "WScript.Shell" )
         #ENDIF

      CATCH

         lOk:=.F.

        END
   END

   IF lOk

      TRY

          //.F. = Nao espera a aplicacao fechar, .T. espera.
          oShell:Run( "%comspec% /c " + cComando, 0, .T. )

      CATCH

          lOk:=.F.

      END

      oShell := NIL

   ENDIF

   //--   RET := oShell:Run( "%comspec% /c " + cComando, 0)  //, .T. )

RETURN lOk
// Essa função não é de minha autoria, mas foi disponibilizada no Fórum do Toledo, agradecimentos ao autor...
Kapiaba
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1264
Data de registro: 07 Dez 2012 16:14
Cidade/Estado: São Paulo
Curtiu: 251 vezes
Mens.Curtidas: 81 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor Daiane » 30 Mar 2017 12:51

dessa forma funcionou

cNomeExe := "notepad.exe"
cNomeArquivo := CurDrive()+":\Empreend\RelEmail.TXT"
un ( "start " + cNomeExe + " " + cNomeArquivo )


e se eu quiser maximizado?
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 16:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 12 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor JoséQuintas » 30 Mar 2017 13:38

Pergunte ao Windows.... rs

start /?


Inicia uma janela separada para executar um programa ou comando especificado.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <nó de NUMA>] [/AFFINITY < máscara_afinidade_hexadecimal >] [/WAIT] [/B]
[comando/programa] [parâmetros]

"title" Título a ser exibido na barra de títulos da janela.
path Diretório de início.
B Inicia um aplicativo sem criar nova janela. O aplicativo tem
o tratamento de ^C ignorado. A menos que o aplicativo ative o
processamento de ^C, o comando ^Break é a única forma de
interromper o aplicativo.
I O novo ambiente será o ambiente original transferido para o
cmd.exe e não é o ambiente atual.
MIN Inicia a janela minimizada.
MAX Inicia a janela maximizada.
SEPARATE Inicia um programa do Windows de 16 bits em um espaço de memória separado.
SHARED Inicia um programa do Windows de 16 bits em um espaço de memória compartilhado.
LOW Inicia o aplicativo na classe de prioridade IDLE.
NORMAL Inicia o aplicativo na classe de prioridade NORMAL.
HIGH Inicia o aplicativo na classe de prioridade HIGH.
REALTIME Inicia o aplicativo na classe de prioridade REALTIME.
Inicia o aplicativo na classe de prioridade ABOVENORMAL.
BELOWNORMAL Inicia o aplicativo na classe de prioridade BELOWNORMAL.
NODE Especifica o nó da Arquitetura de Memória Não Uniforme (NUMA)
com um inteiro decimal.
AFFINITY Especifica a máscara de afinidade do processador com um número hexadecimal.
O processo está restrito a execução nesses processadores.

A máscara de afinidade é interpretada de forma diferente quando /AFFINITY e
/NODE são combinados. Especifique a máscara de afinidade se a máscara do processador do nó NUMA for deslocada
para a direita para começar no bit zero.
O processo é restrito a execução nesses processadores em
comum entre a máscara de afinidade especificada e o nó NUMA.
Se não houver processadores em comum, o processo estará restrito a
execução no nó NUMA especificado.
WAIT Inicia o aplicativo e espera que ele finalize o
comando/programa
Se for um comando cmd interno ou um arquivo em lotes, o
processador do comando será executado com a opção /K para cmd.exe.
Isso significa que a janela permanecerá depois que o
comando for executado.

Se não for um comando cmd interno nem um arquivo em lotes,
ele será um programa executado como um aplicativo em janela
ou um aplicativo em console.

parameters São os parâmetros transferidos para o comando/programa.

OBSERVAÇÃO: As opções SEPARATE e SHARED não são suportadas em plataformas de 64 bits.

A especificação /NODE permite que sejam criados processos de uma forma que
aproveite localidade de memória em sistemas NUMA. Por exemplo, dois processos
que se comuniquem pesadamente um com o outro por meio de memória compartilhada podem ser criados para compartilhar o mesmo nó NUMA
preferencial a fim de minimizar latências de memória. Eles alocam
memória do mesmo nó NUMA, quando for possível, e ficam liberados para executar em processadores fora do nó
especificado.

start /NODE 1 application1.exe
start /NODE 1 application2.exe

Esses dois processos podem ser ainda mais restringidos para executar em
processadores específicos dentro do mesmo nó NUMA. No exemplo a seguir, application1 é executado
nos dois processadores de ordem inferior do nó, enquanto application2 é executado nos próximos dois
processadores do nó. Esse exemplo presume que o nó especificado tem no mínimo
quatro processadores lógicos. Observe que o número do nó pode ser alterado para qualquer número de nó
válido para aquele computador sem precisar alterar a máscara de afinidade.

start /NODE 1 /AFFINITY 0x3 application1.exe
start /NODE 1 /AFFINITY 0xc application2.exe

Se as extensões de comando estiverem ativadas, a invocação de comando externa
através da linha de comando ou do comando START será alterada como a seguir:

Arquivos não executáveis podem ser chamados através de sua associação
de arquivos apenas ao digitar o nome do arquivo como um comando.
(e.g. WORD.DOC iniciaria o aplicativo associado com a extensão de arquivo
.DOC). Consulte os comandos ASSOC e FTYPE para obter informações sobre
como criar essas associações a partir de um script de comando.

Ao executar um aplicativo que seja um aplicativo GUI de 32 bits, o CMD.EXE
não espera o aplicativo terminar para voltar ao prompt de comando.
Esse novo comportamento NÃO ocorre se estiver sendo executado
a partir de um script de comando.

Ao executar uma linha de comando cujo primeiro token seja a cadeia de
caracteres "CMD " sem uma extensão ou qualificador de caminhos, o "CMD"
é substituído pelo valor da variável COMSPEC. Isso evita selecionar o *
CMD.EXE na pasta atual.

Ao executar uma linha de comando cujo primeiro token NÃO contenha uma
extensão, o CMD.EXE usará o valor da variável de ambiente PATHEXT
para determinar quais extensões serão procuradas e em que ordem.
O valor padrão da variável PATHEXT é:

.COM;.EXE;.BAT;.CMD

Observe que a sintaxe é a mesma da variável PATH, com
ponto-e-vírgula separando os diferentes elementos.

Ao procurar por um executável, se não houver correspondência em nenhuma
extensão, ele verifica se o nome corresponde a um nome de pasta.
Se corresponder, o comando START inicia o Explorer nesse caminho.
Se for feito a partir da linha de comando, será o equivalente a fazer CD /D
para esse caminho.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind your eyes and steal your dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 8264
Data de registro: 26 Fev 2007 12:59
Cidade/Estado: São Paulo-SP
Curtiu: 4 vezes
Mens.Curtidas: 478 vezes

Como abrir/Executar um arquivo de texto?

Mensagempor rochinha » 04 Abr 2017 02:39

Amiguinhos,

O comando START só falha quando os tipos registrados não tem o aplicativo padrão para abertura.

Se for apresentar o arquivo para modificações abra-se o editor que quizer mas se quiser usar uma classe interna pode ser que a tRichEdit sirva. O testrich.prg da pasta samples pode ajudar.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

O cara pode até ser feio, mas se ele for honesto, cheiroso, trabalhador,... vai continuar feio, porque, ..., uma coisa não tem nada a ver com a outra.


Sou Corinthiano, mas também torço para São Paulo, Palmeiras, Santos em campeonatos internacionais, portanto, Corinthians no coração e Harbour na cabeça.

[color=#FFFFFF]
"...Feliz aquele que transfere o que sabe e aprende o que ensina. Cora Coralina..."
[color=#FFFFFF]"...Acharam que eu estava derrotado, quem achou estava errado, eu voltei, tô aqui, tô firmão, tô na correria, sô guerreiro, sô vaso ruim de quebrar, tô de volta pro mundão..."
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 3915
Data de registro: 18 Ago 2003 21:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 367 vezes
Mens.Curtidas: 152 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro