Sobre o xDev Studio

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Sobre o xDev Studio

Mensagem por Itamar M. Lins Jr. »

Olá!
Esse negócio de criar projeto na IDE pode ser perigoso.
O arquivo HBP vc cria na pasta que desejar. O projeto não está na IDE está em qualquer pasta.
A HBIDE aglutina na JANELA de projetos.

PNotepad não tem, e para mim isso é o mais importante. PNotepad está um pouco velho em relação a esses.

O resto até o KATE tem, qualquer editor moderno tem. O KATE incorpora o PLUGUIN do xHarbour.
Screenshot_20210526_184758.png
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Sobre o xDev Studio

Mensagem por Itamar M. Lins Jr. »

Olá!
Do que foi mostrado, PNotepad só não tem o debug.
Não tem nada. Baixe ele não mexa em nada e quero ver funcionar, abrir projeto, etc.
Tem DBU no seu PNotepad ?
Screenshot_20210526_190303.png
Precisa configurar tudo, na HBIDE vem pronto, na xEdit. E no VSCODE só um click puxa o pluguin do Harbour.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sobre o xDev Studio

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:Tem DBU no seu PNotepad ?
Em nenhum lugar, nem no meu computador, nunca usei.
Mas se usasse, teria no PNotepad.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Sobre o xDev Studio

Mensagem por Itamar M. Lins Jr. »

Olá!
teria no PNotepad.
Nossa! Isso que é ser poderoso... Não colocaram pq vc não usa, rsrsrs!

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sobre o xDev Studio

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:Nossa! Isso que é ser poderoso... Não colocaram pq vc não usa, rsrsrs!
Não.
Teria porque eu mesmo colocaria.
Como deve ter visto em mensagem anterior, é só adicionar.

Por enquanto tem:
- compilar
- formatar fonte
- exibir xml, apesar que não uso
- usar git pra atualização, apesar que esqueço
- help, apesar que não uso
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Sobre o xDev Studio

Mensagem por deividdjs »

Pra quem ainda usa a IDE xDevStudio.

Script modificado para compilar com HARBOUR 3.0 ou SUPERIOR + BCC ou MINGW // IDE xDevStudio 7.0
GTWVG OU GTWVW

salvar o codigo abaixo com o nome "Harbour.xCompiler.prg" e sobreescrever o existente na pasta script da xDevStudio.

Código: Selecionar todos

/*
 * FOZ DO IGUAÇU - PR 29-09-23 @ 18:41
 * MODIFICADO POR DEIVID SOUZA
 * COMPILAR EM HARBOUR 3.0 OU SUPERIOR
 * BCC / MINGW
 * --------------------------------------------------
 * Harbour.xCompiler.prg / xDevStudio 7.0
 * -------------------------------------------------
 *
 * Arquivo contendo os comandos de Script para processamento de um projeto
 * Harbour modo CONSOLE com Borland BCC ou MinGW.
 */
#define CRLF Chr(13)+Chr(10)

function Prepare
   type := Project( 'TargetType' )
   
   if FileExists( 'harbour.exe', m_PreSetPath ) .or. ;
      FileExists( 'hb.exe', m_PreSetPath )
   else
      MsgError( 'O arquivo principal do compilador não existe!' )
      return .f.
   end
    
   if !FileExists( 'bcc32.exe', m_PreSetPath )
      MsgError( 'O arquivo requerido BCC32.EXE não foi localizado no sistema!' )
      return .f.
   end
    
   if !FileExists( 'hbmk2.exe', m_PreSetPath )
      MsgError( 'O arquivo requerido hbmk2.EXE não foi localizado no sistema!' )
      return .f.
   end

   /*
    * 30/9/2006 21:02:35
    * Aqui neste ponto setamos a variavel abaixo como SIM, indicando
    * que desejamos recompilar todo o projeto. Caso o valor dela seja .F.
    * a xDev irá compilar e linkar usando o padrao solicitado pelo 
    * programador que estiver usando a xDev.
    */
   m_bCompileAll := SameText( fForceCompileAll, 'sim' )
   return .t.
 
function UnPrepare
   return .t.
 
/*
 * Esta função é executada, sempre que a xDev precisar compilar um arquivo .PRG
 */ 
function OnFilePRG
 * Preparamos a linha de comando
   cmd := 'harbour.exe'
   cmd += ' ' + m_sFileName + ''
   cmd += ' /q /o' + m_sOutPut
   cmd += ' ' + fFlagA + ' ' + fFlagL + ' ' + fFlagM + ' ' + ; 
          ' ' + fFlagN + ' ' + fFlagZ  + ' ' + fFlagP
 
   
 * Verificarmos se ele nao quer desativar o DEBUG para este módulo em específico!
 * para isto usamos a funcao SameText() que compara os 2 argumentos ignorando 
 * letras maiúsculas / minúsculas.
 * 
 
   if !SameText( PRG_DisableDebug, 'sim' )
      cmd += ' ' + fFlagB 
   end
*/
     
 * Verificamos as diretrivas #DEFINEs e adicionamos ela na linha de comando!
   aDefs := Alltrim(CustomDefines) + ',' + ;   // Diretrivas gerais do projeto
            Alltrim(PRG_Defines)   + ',' + ;   // Diretrivas específicas deste arquivo
            Alltrim(m_PreSetDefines)           // Estas sao as diretrivas do PROJETO e do PRESET atual  
            

   aDefs := StrTran(aDefs, ';', ',' )
   aDefs := StrTran(aDefs, ' ', '' )
   aDefs := ListAsArray( aDefs, ',')
   cmd   := alltrim( cmd )

   for i := 0 to len( aDefs )
       if !Empty(aDefs[i])
         cmd += ' /D' + aDefs[i]
       end
   next
   
 * Isto inclui os #DEFINEs de cada versao do xHb e do HB específicas
   if !Empty(m_PresetConstants)  
      cmd  += m_PresetConstants
   end

 * Colocamos os outros parametros (se houver)
   cmd := alltrim( cmd )
   cmd += " " + fMiscOption1           
   
 * Executamos o comando específico para compilar 
   runBat(cmd)      
   
   bOk := (ErrorLevel() == 0)
   return bOk
     
/*
 * Esta função é executada, sempre que a xDev precisar compilar um arquivo .C/.CPP
 */ 
function OnFileC
   
 * Preparamos a linha de comando
   aLines := {}
		 
 * Verificamos as diretrivas #DEFINEs e adicionamos ela na linha de comando!
   aDefs := Alltrim(CustomDefines) + ',' + ;   // Diretrivas gerais do projeto
            Alltrim(PRG_Defines)   + ',' + ;   // Diretrivas específicas deste arquivo
            Alltrim(m_PreSetDefines)           // Estas sao as diretrivas do PROJETO e do PRESET atual  
                        
   aDefs := StrTran(aDefs, ';', ',' )
   aDefs := StrTran(aDefs, ' ', '' )
   aDefs := ListAsArray( aDefs, ',')
   cmd   := alltrim( cmd )

   for i := 0 to len( aDefs )
       if !Empty(aDefs[i])
          AAdd( aLines, '-D' + aDefs[i])
       end
   next

 * Isto inclui os #DEFINEs de cada versao do xHb e do HB específicas
   if !Empty(m_PresetConstants)  
      AAdd( aLines, m_PresetConstants)
   end
	
 * Ajustamos os outros parametros
   AAdd( aLines, '-I' + m_PreSetInclude)
   AAdd( aLines, '-L' + m_PreSetLib + ';' +m_PreSetObj)
   AAdd( aLines, '-o' + m_sOutPut)
   AAdd( aLines, m_sFileName )
/**
 * Salvamos e executamos o comando específico para compilar
   MemoWrite( 'b32.bc', aLines )
   runBat('BCC32 -M -c @B32.BC')
*/ 
   bOk := (ErrorLevel() == 0)
   return bOk
 /*
 
/*
 * Esta função é executada, sempre que a xDev precisar compilar um arquivo .RC
 */ 
function OnFileRC  
   cmd := FindFile( 'brc32.exe', m_PreSetPath )
   
   if Empty(cmd)
      cmd := FindFile( 'porc.exe', m_PreSetPath )
   end
   
   if Empty(cmd)
      MsgError( 'Erro ao localizar o aplicativo necessário para compilar o módulo "'+m_sFileName+'"!' )
      return .f.
   end   
   
 * Preparamos a linha de comando
   cmd += ' -r -fo"' + m_sOutPut + '" -i"' + m_PreSetInclude +'"'

 * Verificamos as diretrivas #DEFINEs e adicionamos ela na linha de comando!
   aDefs := Alltrim(CustomDefines) + ',' + ;   // Diretrivas gerais do projeto
            Alltrim(PRG_Defines)   + ',' + ;   // Diretrivas específicas deste arquivo
            Alltrim(m_PreSetDefines)           // Estas sao as diretrivas do PROJETO e do PRESET atual  
            
   aDefs := StrTran(aDefs, ';', ',' )
   aDefs := StrTran(aDefs, ' ', '' )
   aDefs := ListAsArray( aDefs, ',')
   cmd   := alltrim( cmd )

   for i := 0 to len( aDefs )
       if !Empty(aDefs[i])
          cmd += ' -D' + aDefs[i]
       end
   next
   
  * Isto inclui os #DEFINEs de cada versao do xHb e do HB específicas
   if !Empty(m_PresetConstants)  
      cmd  += m_PresetConstants
   end

 * Ajustamos os outros parametros
   cmd += ' "' + m_sFileName + '"'  

 * Executamos o comando específico para compilar
   run (cmd)      
   
   bOk := (ErrorLevel() == 0)
   return bOk


function OnBuild      
return BuildExe()

function BuildExe()   
 * Preparamos a linha de comando
   aLines  := {}

   AAdd( aLines, '-I' + m_PreSetInclude)
   AAdd( aLines, '-L' + m_PreSetLib + ';' +m_PreSetObj)
   AAdd( aLines, '-o' + m_sOutPut)

   aFiles := Project( "*.PRG" )

   t := Len( aFiles )
    
   FOR i := 1 TO t
       IF i == t 
          AADD( aLines, aFiles[i] )
       ELSE
          AADD( aLines, aFiles[i] )
       End
   End
   
    //################################
    //## AJUSTE DE COMPILAÇÃO        #
    //################################

    AADD( aLines, '-workdir=./obj' )  // PASTA OBJ
    AADD( aLines, '-inc' )            // COMPILA SOMENTE .PRG MODIFICADOS
    AADD( aLines, '-dhb' )
    
    if !SameText( PRG_DisableDebug, 'sim' )
       AADD( aLines, '-b' )           // DEBUG
       AADD( aLines, '-debug' )
	 endif   

    //################################
    //## TENTA COMPACTAR EXECUTAVEL  #
    //################################

    if SameText( fUseUPX, 'Sim' )
       AADD( aLines, '-compr=max' )
    end   

    //################################
    //## EXECUTA PROGRAMA            #
    //################################

    AADD( aLines, '-run' )
   
   /*
    * Chamamos a função que pega o nome das libs corretas
    */
   DefaultLibs()

   /*
    * Põe os RCs project files 
    */
   aFiles := Project( "*.RES" )

   FOR i := 1 TO Len( aFiles )
       IF i == t 
          AADD( aLines, aFiles[i] )
       else
          AADD( aLines, aFiles[i] )
       End
   End
  	  
   MemoWrite( 'b32.hbp', aLines )
   runBat('hbmk2 @B32.HBP')
       
   bOk := (ErrorLevel() == 0)

function DefaultLibs()
   Libs := .T.
   
   //ADICIONA LIBS 
   
   AADD( aLines, 'xhb.hbc' )
   AADD( aLines, 'hbct.hbc' )
   AADD( aLines, 'hbhpdf.hbc' )

   /*
    * Incluimos os arquivos .LIB no projeto. O segundo parametro .T. indica que
    * queremos TODOS os arquivos ATÉ MESMO AQUELES MARCADOS com a opção 
    * compile=FALSE, por isto usamos um parametro .T. 
    *
    * Quando omitimos o segundo parametro, ele puxará apenas os arquivos
    * marcados como COMPILE=TRUE e desde modo, irá ignorar os arquivos .LIB
    */
   aFiles := Project( "*.LIB" )

   FOR i := 1 TO Len( aFiles )
       AADD( aLines, '"'+aFiles[i]+'" +  ' )
   End         
 
   if SameText( CustomLIBs, 'Sim')
      /*
       * Se ele tem a lista de LIBs personalizada, caimos fora!
       */
   else
      if SameText( fFlagB, '/B' )
         AADD( aLines, '-b' )
      end
            
      if SameText( fUseHBDLL, 'sim' )
         ***
      elseif !Libs
         ***
      else
         
         if SameText( fGUILib, 'Gtwvg' )
            *
            AADD( aLines, 'gtwvg.hbc' )

         elseif SameText( fGUILib, 'Gtwvw' )
            *
            AADD( aLines, 'gtwvw.hbc' )
            *
         end         
      end
   end   
   return
Forte Abraço!
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Sobre o xDev Studio

Mensagem por Mario Mesquita »

Bom dia, pessoal.

Onde pega essa versão 7.0 do xDev Studio? Eu uso a 0.70... acho ele um bom editor de programas. Se tem versão mais nova, queria ver como é.

Saudações,
Mario.
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Sobre o xDev Studio

Mensagem por deividdjs »

Mario Mesquita escreveu:Bom dia, pessoal.

Onde pega essa versão 7.0 do xDev Studio? Eu uso a 0.70... acho ele um bom editor de programas. Se tem versão mais nova, queria ver como é.

Saudações,
Mario.
Desculpa amigo .. eu escrevi 7.0 porém é 0.70 ... vc usa a ultima versão está correto !

Abraço!
Anexos
xDevStudio.rar
já com o script para linkar com HBMK2.EXE
(11.57 MiB) Baixado 360 vezes
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Responder