Clipper On Line • Ver Tópico - Flagship Linux
Página 1 de 2

Flagship Linux

MensagemEnviado: 20 Abr 2018 13:25
por JoséQuintas
Estou precisando de ajuda.
Máquina Linux, Flagship, tem o arquivo de make, mas não sei qual utilitário usado para executar o makefile.
Alguém acostumado com esse ambiente?

No momento é apenas pra confirmar se o ambiente de compilação está ok

Flagship Linux

MensagemEnviado: 20 Abr 2018 15:16
por MSDN
Quintas, eu até acho que vc já viu, mas creio que seja o melhor lugar para achar informação :

http://www.fship.com/fsman.html

Flagship Linux

MensagemEnviado: 24 Abr 2018 18:35
por Itamar M. Lins Jr.
Ola!
Não entendi.
Quer ajuda para quê mesmo ? tem os PRG's ai ?
Vai continuar usando Linux ? e ou Flagship ?

Saudações,
Itamar M. Lins Jr.

Flagship Linux

MensagemEnviado: 24 Abr 2018 21:42
por JoséQuintas
Está tudo em Linux.
Vai ter que ser Linux e Flagship, por tempo indeterminado.

A primeira etapa é confirmar um ambiente de trabalho em Windows.
Depois as necessidades que já existem, incluindo NFE 4.0.
Só depois disso vai dar pra pensar em trocar compilador ou algo mais.

Mas acabei me confundindo.
Se não tiver make, é só transformar o arquivo de make em arquivo BAT ou algo similar.

Flagship Linux

MensagemEnviado: 25 Abr 2018 12:42
por Itamar M. Lins Jr.
Ola!
Flagship? Ainda existe?
Você tem print de algumas telas do programa feito com ele?
Gostaria de ver só por curiosidade.

Parece que esta mais firme que o Harbour.
http://www.fship.com/vfs.html
http://www.fship.com/VFS8_windows.html

Saudações,
Itamar M. Lins Jr.

Flagship Linux

MensagemEnviado: 25 Abr 2018 14:11
por JoséQuintas
E chamando a atenção pra este exemplo.
Diz ser o mesmo fonte, em console ou Windows.

http://www.fship.com/fs5_images/tbr_1.html

flagship.png

Flagship Linux

MensagemEnviado: 29 Mai 2018 18:22
por JoséQuintas
Achei um ponto muuuuito ruim no flagship.
Dependendo da linha de comando, precisa pular uma linha em branco no fonte.
Isso vai ser fod.... porque por enquanto não sei quais são, e isso vai dar trabalho.
Formatar fontes igual Harbour... nem pensar

Flagship Linux

MensagemEnviado: 08 Jun 2018 12:14
por JoséQuintas
O flagship tem limitação de 8 letras, não aceita diferente de 25X80 porque diz nem todo terminal aceitar, classes é totalmente diferente do Harbour, etc. etc. etc..
Segue o mesmo conceito do Harbour, que é transformar em C e depois compilar.

Conectiva Linux.
Tem um compilador C, não sei qual é, utilizado pelo Flagship.

Minha pergunta é:

Seria complicado instalar o Harbour nele?
Seria só baixar os fontes e compilar?
Detalhe: não poderia mexer no compilador C, pra não ter problemas com Flagship, pelo menos por enquanto.

Flagship Linux

MensagemEnviado: 15 Jun 2018 00:23
por JoséQuintas
Mais um tempo trabalhando com Flagship.

A empresa tem servidor Windows Server e Linux, sendo que o Linux é apenas para o aplicativo Flagship.
O problema é que os fontes de merd. do aplicativo prendem ao ambiente, porque foram muito mal feitos, e vai demorar muito pra organizar tudo.

Estou tendo que regredir meus fontes, e limitar recursos, só pra poder aproveitar meus recursos pra simplificar os fontes existentes. Até mesmo alguns recursos básicos do Clipper não dá pra usar, como variável STATIC.

Mas como complicaram demais os fontes... não dá pra trocar o ambiente tão cedo...

Flagship Linux

MensagemEnviado: 24 Jun 2018 13:39
por JoséQuintas
Este foi o fim: abadonar o Flagship vai ser obrigatório.

SELECT minhoca
SELECT lombriga

No flagship pode selecionar qualquer área, NUNCA dá erro.

SELECT cliente
...
SELECT financeiro
DELETE

Num caso desses acima, se não existe a área financeiro, vai apagar informação da área errada.
Considero isso extremamente perigoso.
Já em Clipper, Harbour, e provavelmente XHarbour.... vai acusar que a área não está aberta.
Ninguém é infalível... um simples erro pode ser fatal.

Por enquanto pensando em trocar por alguma função equivalente, que gere erro.

Flagship Linux

MensagemEnviado: 04 Jul 2018 22:20
por JoséQuintas
A título de curiosidade:

Tamanho original: 20.069.484
Acrescentei minhas LIBs, sem usar: 20.385.100
Apenas comecei o uso das LIBs: 20.259.820

flagship0.png


Já em Harbour 3.2, Linux, os mesmos fontes: 3.617.108

flagship1.png


Em Windows:

windows.png

Flagship Linux

MensagemEnviado: 07 Jul 2018 17:59
por JoséQuintas
flagship2.png


Ainda estou começando a usar minha LIB.
Ainda deixando rotinas novas e antigas, duplicado, e já acrescentei algumas opções novas.
Está quase igual antes, um pouco menor, o que significa que já reduziu mais do que foi acrescentado.

Flagship Linux

MensagemEnviado: 09 Jul 2018 23:22
por JoséQuintas
Recursos aumentando, e EXE diminuindo..... rs

bhp.png


Mais uma descoberta do Flagship:
SET OPENERROR OFF

Erro de abertura de arquivo, por default, aborta o programa, sem opção de teste.
Com o comando acima, fica igual Clipper/Harbour, dá pra testar com NetErr() e outros.
Sei lá qual foi o idiota que teve essa idéia pro FlagShip, o default é dando erro e abortando o programa.

E agora, no Harbour Linux, já com 40 linhas X 100 colunas, com mouse + scroll do mouse !!!
Como minhas rotinas usam o MaxRow(), MaxCol().... pelo menos algumas telas já se ajustam automático....

F2.jpg


O browse também

F3.jpg


Até mesmo em run-time, se puxar a janela com o mouse no Puty....

F4.jpg


Mas reforçando:
Isso é no HARBOUR.
O Flagship não permite mouse, e nem alterar o tamanho padrão da janela de 25X80.
Segundo o manual, não são todos os terminais que permitem isso, por isso só deixaram disponível na versão Windows.... rs

Sobre as janelas:

- Flagship Linux
- Harbour Linux
- Harbour Windows

Até que está dando certo: mesmos fontes nos 3 ambientes.
Poucas exceções, exemplo:

#ifdef FlagShip
   fs_set( "esc", 1 )
   SET OPENERROR  OFF
   SetMode( 25, 80 )
#else
   SET EVENTMASK TO INKEY_ALL - INKEY_MOVE + HB_INKEY_GTEVENT
   Set( _SET_FILECASE, HB_SET_CASE_LOWER )
   hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey | MyInkeyFilter( nKey ) } )
   SetMode( 40, 100 )
#endif

Flagship Linux

MensagemEnviado: 09 Jul 2018 23:45
por JoséQuintas
Aproveitando:

É o que sempre comento aqui no fórum: deixar fontes fáceis de mexer.
Estou apenas aplicando os mesmos fontes que uso no meu aplicativo, que estão no GitHub da LIB josequintas.
AbreArquivos(), Mensagem(), FazBrowse(), etc.
Ajustei eles pra Flagship, e começando a usar.
Com o Harbour, acabei retornando a opção de mouse neles... rs

Flagship Linux

MensagemEnviado: 27 Jul 2018 13:23
por JoséQuintas
Agora que "enxerguei" um erro doido do Flagship..... rs
O erro é apenas registrado, não aparece na tela

/0 database /rede/sistema/b6300.dbf;is multiply opened in different work areas: B0500.PRG, module B0500 line 318


O mais interessante é que o erro é nesta parte:

SELECT EXPEVC


Ou seja, ele deixa abrir o mesmo arquivo em áreas diferentes, com mesmo ALIAS.
Só que na hora de usar, acusa que tem várias áreas com o mesmo nome.
Muito louco esse Flagship kkkkk

Lógico... é tudo questão de costume.
Geralmente nossas rotinas são direcionadas ao que acontece em cada compilador, então isso deixa de ser problema no momento que os fontes estão ajustados pra isso não acontecer.

Provavelmente deve acontecer o mesmo em fontes XHarbour e Harbour, onde cada um ajusta tudo conforme seu compilador.

Gostei mais ainda da minha rotina de erros... rs
Agora dá pra usar sem nem mesmo abandonar a rotina de erros original.

Está aqui:
http://www.pctoledo.com.br/forum/viewtopic.php?f=43&t=19324&p=124469&hilit=errorsys#p124469

No Linux... precisou acrescentar pra modificar as propriedades do arquivo de log pra -rw-rw-rw-

Flagship Linux

MensagemEnviado: 27 Jul 2018 19:31
por JoséQuintas
Acho que faltou eu explicar porque não o Harbour:

flagship.png


Os índices do Flagship não são compatíveis com nada.
Então é tudo ou nada: ou troco tudo pra Harbour, ou nada, porque não dá pra usar simultâneo.

O problema é:

Comecei lá, falaram de um aplicativo em uso.
Na segunda semana, já não era apenas um, eram 2 (dois).
No momento, descobriram mais 6 ( seis).

Então...
Se não dá pra usar Harbour simultâneo, é usar Flagship até que TUDO esteja preparado pra Harbour.
Só depois disso é que vai dar pra pensar em trocar.

Flagship Linux

MensagemEnviado: 25 Ago 2018 11:39
por JoséQuintas
Abaixo a lista dos manuais.
Quase 2.000 páginas, mas fraco.
A maioria das coisas que interessam, que já existiam no Clipper !!!, só tem em versões mais novas do Flagship.
O Quick Reference é um dos mais interessantes.

flagshipm.png

Flagship Linux

MensagemEnviado: 03 Set 2018 19:01
por JoséQuintas
Imagine um aplicativo em uso há muitos anos.
Flagship + Linux.
uns 50 usuários.
Tudo aparentemente funcionando normal.

Agora imagine uma coisa simples: alterar a errorsys e registrar erros.

Simples, tranquilo.... vai registrar alguns errinhos que os usuários não avisam.....

flagship5.png


300.000 linhas em 15 dias !!!!!
Isso dá mais de 20.000 linhas por dia, se trabalhassem todo dia !!!!
Ou num arredondamento, umas 1.000 linhas por hora !!!

Para um aplicativo que ninguém relata problemas.... isto é incrível !!!!

Lógico...
Quando aparece algum erro na tela.... é culpa da versão nova kkk
Aí vai comparar ... é um erro que sempre existiu, mas por algum milagre ninguém tinha visto antes... kkk

O pior é que isso é real.

LIB gráfica?..... com 300.000 linhas de erro... nem fod.... kkkkk

Flagship Linux

MensagemEnviado: 04 Set 2018 23:45
por JoséQuintas
Portei parte de minhas LIBs para Flagship Linux.
Talvez estejam mais compatíveis com Clipper/XHarbour por ter "voltado atrás", por exemplo retirar FOR/EACH, limitar a 10 caracteres, retirar funções exclusivas do Harbour.

digitação de usuário/senha

sistema1.png
sistema1.png (2.79 KiB) Visualizado 2975 vezes


O Tbrowse de seleção pra array

sistema2.png


O menu com senhas de acesso

sistema3.png

Flagship Linux

MensagemEnviado: 04 Set 2018 23:51
por JoséQuintas
A configuração de acessos

sistema4.png


o browse genérico

sistema5.png


preview de relatórios (matricial)

sistema6.png


rotinas de mensagem.

sistema7.png
sistema7.png (5.42 KiB) Visualizado 2975 vezes

Flagship Linux

MensagemEnviado: 05 Set 2018 00:00
por JoséQuintas
E mais rotinas auxiliares, e outras que vou convertendo conforme vou me aprofundando nos fontes.

Na entrada das minhas rotinas o EXE aumentou, mas agora tá diminuindo, e ficando com menos erros.

20MB, subiu pra quase 21MB, e agora menos de 19MB, sendo que tem mais opções e recursos.

sistema8.png


Aquela lista de 300.000 linhas de erro, é porque estavam demorando pra trocar a versão.

Agora está começando a ficar legal.

Só lembrando: flagship é limitado a 25 X 80, e não tem recurso gráfico e nem mesmo mouse.

Fontes não limitados a Flagship. Compilando com Harbour é outra história...

sistema9.png


O Harbour está no aguardo, preparado pra entrar no lugar assim que possível, e já liberar mouse e mais linhas/colunas.

Como dá pra perceber aí... muuitas opções no menu.

A propósito:
Compilando com Flagship, usa IDX, um ou mais IDX por arquivo
Compilando com Harbour, usa CDX, um único CDX por arquivo com várias tags

A única coisa que gostei do Flagship foi retornar atributos do arquivo como -rwxrwxrwx.
No Harbour isso faz falta.
Apesar de ter contornado o problema, capturando do Linux fica lento quando se tratam de vários arquivos.

Flagship Linux

MensagemEnviado: 05 Set 2018 00:08
por JoséQuintas
Só pra lembrar:
Todas essas rotinas estão no GitHub, na LIB JoseQuintas, que é a base dos meus aplicativos.

Quando chegar a vez do Harbour, talvez prepare a Sefazclass pra funcionar no Linux.

Flagship Linux

MensagemEnviado: 05 Set 2018 00:13
por JoséQuintas
O cadastro genérico também, mas sem classe, e sem buttons....
Mas compilando com Harbour, pelo menos aceita mouse pra menu/browse do cadastro.

#include "inkey.ch"

MEMVAR cOpc

PROCEDURE bhp0110

   LOCAL mieItem, GetList := {}
   PRIVATE cOpc := "C"

   IF ! AbreArquivos( "jpitem" )
      RETURN
   ENDIF

   DO WHILE .T.
      TelaDados( .F. )
      MenuManut( @cOpc )
      DO CASE
      CASE LastKey() == K_ESC
         EXIT
      CASE cOpc $ "+-PU"
         LOOP
      ENDCASE
      IF cOpc == "I"
         GOTO BOTTOM
         mieItem := StrZero( Val( mieItem ) + 1, 6 )
      ELSE
         mieItem := jpitem->ieItem
      ENDIF
      @ 2, 0 SAY "Codigo............:" GET mieItem PICTURE "@K 999999" VALID Val( mieItem ) > 0
      Mensagem( "Digite codigo do item, F9 pesquisa, ESC Sai" )
      READ
      Mensagem()
      IF LastKey() == K_ESC .OR. Val( mIeItem ) == 0
         LOOP
      ENDIF
      mieItem := StrZero( Val( mieItem ), 6 )
      SEEK mieItem
      TelaDados( .F. )
      IF cOpc == "I"
         IF Eof()
            GOTO BOTTOM
            mieItem := StrZero( Val( jpitem->ieItem ) + 1, 6 )
            RecAppend()
            REPLACE jpitem->ieItem WITH mieItem
            RecUnlock()
         ELSE
            MsgStop( "Codigo ja cadastrado" )
            LOOP
         ENDIF
      ENDIF
      IF cOpc != "I" .AND. Eof()
         MsgStop( "Codigo nao cadastrado" )
         LOOP
      ENDIF
      IF cOpc == "C"
         LOOP
      ENDIF
      IF cOpc == "E"
         IF Mensagem( "Confirma exclusao", "N,S", 1 ) != "S"
            LOOP
         ENDIF
         RecLock()
         DELETE
         RecUnlock()
         SKIP
         IF Eof()
            GOTO BOTTOM
         ENDIF
         LOOP
      ENDIF
      TelaDados( .T. )
   ENDDO
   CLOSE DATABASES

   RETURN

STATIC FUNCTION TelaDados( lDigita )

   LOCAL GetList    := {}
   LOCAL mieItem    := jpitem->ieItem
   LOCAL mieDescri  := jpitem->ieDescri
   LOCAL mieNcm     := jpitem->ieNcm
   LOCAL mieCest    := jpitem->ieCest
   LOCAL mieGtin    := jpitem->ieGTIN
   LOCAL mieGtinTri := jpitem->ieGtinTri
   LOCAL mieNome    := jpitem->ieNome
   LOCAL mieStatus  := jpitem->ieStatus

   hb_Default( @lDigita, .F. )
   @  2, 0 SAY "Codigo............:" GET mieItem                    WHEN .F.
   @  4, 0 SAY "Descricao.........:" GET mieDescri  PICTURE "@!S55" WHEN .F.
   @  5, 0 SAY "Nome..............:" GET mieNome    PICTURE "@!"    WHEN .F.
   @  6, 0 SAY "NCM...............:" GET mieNcm     PICTURE "@9"
   @  7, 0 SAY "CEST..............:" GET mieCest    PICTURE "@9"
   @  8, 0 SAY "GTIN..............:" GET mieGTIN    PICTURE "@9"
   @  9, 0 SAY "Gtin Tributavel...:" GET mieGtinTri PICTURE "@9"
   @ 10, 0 SAY "Status............:" GET mieStatus  PICTURE "!A" VALID mieStatus $ " I"
   IF lDigita
      Mensagem( "Digite campos, ESC Sai" )
      READ
      Mensagem()
   ELSE
      CLEAR GETS
   ENDIF
   IF LastKey() == K_ESC .OR. ! lDigita
      RETURN NIL
   ENDIF
   //IF cOpc == "I"
   //   RecAppend()
   //   REPLACE field->ieItem WITH mieItem
   //ENDIF
   RecLock()
   REPLACE ;
      jpitem->ieDescri  WITH mieDescri, ;
      jpitem->ieNome    WITH mieNome, ;
      jpitem->ieNcm     WITH mieNcm, ;
      jpitem->ieCest    WITH mieCest, ;
      jpitem->ieGtin    WITH mieGtin, ;
      jpitem->ieGtinTri WITH mieGtinTri
   RecUnlock()

   RETURN NIL

Flagship Linux

MensagemEnviado: 07 Set 2018 10:52
por Itamar M. Lins Jr.
Ola!
Apesar das limitações do Flagship e o uso de versões defasadas do Linux, observo que este sistema sobrevive por causa das boas qualidades do LINUX/Unix. Se não fosse o acesso tão rápido e sem problemas via PUTYY/Term etc... ao sistema, se fosse atualizar para versões novas Win10 etc... Não seria mais viável continuar com esse sistema.
Fico pensando que são mais de 100 usuários... imaginando o sistema compilado com Harbour/LetoDbf e as estações podendo usar Windows Hwgui/Minigui/QtContribs etc... Apache/Java... tudo misturado e com DBF sem mexer no velho e usando novas tecnologias. Somar recursos ao invés de entrar em algum labirinto sem saída e ficando refém de alguma linguagem proprietária, como estava com o Flagship.

Saudações,
Itamar M. Lins Jr.

Flagship Linux

MensagemEnviado: 07 Set 2018 11:27
por JoséQuintas
Por enquanto vou ficar feliz quando puder usar o Harbour.

Como eu disse antes, o Flagship usa índice proprietário.
São diversos aplicativos, que ainda não sei sobre todos, e nem sei se tem fonte de todos, e usam a mesma base de dados central.

Imagine um relatório de comissões, emitir um vendedor por vez, e ter que sair do aplicativo pra emitir cada relatório de cada vendedor.
E se entrar e sair do módulo, outro usuário já não pode usar, porque ficou arquivo preso ao usuário anterior.

Minhas etapas são:
- resolver esses problemas, que parece até aplicativo monousuário, difícil entender como tem funcionado
- fazer o mesmo com todos os aplicativos
- usar Harbour, em todos os aplicativos, tela diferente de 25 x 80 e mouse

Só aí, já é bastante trabalho, e vai causar uma revolução no uso.
Praticamente Harbour é quase a etapa final, porque TUDO tem que ser trocado de uma vez.

A partir daí vou poder usar email, PDF, talvez MySQL, etc.
Vão ser novidades a cada semana.
A parte gráfica, ou trocar pra Windows, ainda nem é importante.

Flagship Linux

MensagemEnviado: 07 Set 2018 12:08
por JoséQuintas
Faltou dizer:

Para Windows, usar remoto custa uns 100 dólares POR ESTAÇÃO.
No Linux, faz parte dele.
E o uso em rede... praticamente nem tem... é Linux, é como tudo remoto, velocidade máxima.
Com certeza isso me chamou a atenção.

O mais curioso... isso seria o mesmo que Unix/Xenix... coisa mais antiga que o Clipper.
Nesse ponto, nem parece que o Windows é mais moderno....

Flagship Linux

MensagemEnviado: 07 Set 2018 19:19
por Itamar M. Lins Jr.
Ola!
E o uso em rede... praticamente nem tem... é Linux, é como tudo remoto, velocidade máxima.

Não usam windows ? Todas as estações são linux ?

Saudações,
Itamar M. Lins Jr.

Flagship Linux

MensagemEnviado: 08 Set 2018 19:04
por JoséQuintas
Itamar M. Lins Jr. escreveu:Não usam windows ? Todas as estações são linux ?


Tem servidor Linux só para o aplicativo, e Windows Server para o resto.
Mas por enquanto está limitado ao Flagship, que limita a Linux, a 32 bits, a sem mouse, e a tela 25 x 80.
Só limitações.... rs