Página 1 de 1

Workshop ou PellesC é complicado? Veja se esta ferramenta.

Enviado: 09 Mar 2017 10:40
por rochinha
Amiguinhos,

A coisa que mais presamos em programação, geralmente é o apelo visual o qual buscamos criar as telas as mais simples possiveis.

Mas para quem está aprendendo ou transportando seus aplicativos e sistemas para Windows geralmente encontram barreiras ao tentar usar o WorkShop, PellsC ou Resource Editor.

Muitos usam o @..Say e se veêm tentando entender o funcionamento dos .RCs.

Pois ai está uma ferramenta que apereiçoa este aprendizado, podendo até ser usando em produção.

Ele gera código para Fivewin, mas também gera .RC que é "universal".

Bom trabalho.

Workshop ou PellesC é complicado? Veja se esta ferramenta.

Enviado: 09 Mar 2017 11:33
por JoséQuintas
Só apanhei um pouco pra entender que era necessário o clique da direita.... rs

Código fonte relativamente simples, e poderoso.
Parabéns, fantástico.
teste.png
Apenas comentário:
Uma coisa interessante da GTWVG é usar linha/coluna como referência.
Com base nisso, dá pra pensar em fazer nas LIBs gráficas do mesmo jeito.

Por exemplo, modifiquei um fonte que o Toledo postou tempos atrás, pra HMG Extended.

Original:

Código: Selecionar todos

   @ 030,005 label lbl_cep;
      of form_cep;
      value 'CEP';
      autosize;
      font 'tahoma' size 010;
      bold;
      fontcolor _preto_001;
      transparent
   @ 030,070 textbox tbox_cep;
      of form_cep;
      height 027;
      width 85;
      value cCep;
      font 'tahoma' size 010;
      backcolor _fundo_get;
      fontcolor _letra_get_1;
      inputmask '99999-999';
      on enter {|| CepOk(StrTran(form_cep.tbox_cep.Value,"-",""))}
   @ 060,005 label lbl_endereco;
      of form_dados;
      value 'Endereço';
      autosize;
      font 'tahoma' size 010;
      bold;
      fontcolor _preto_001;
      transparent
   @ 060,070 textbox tbox_endereco;
      of form_cep;
      height 027;
      width 380;
      value cEndereco;
      font 'tahoma' size 010;
      backcolor _fundo_get;
      fontcolor _letra_get_1
   @ 090,005 label lbl_bairro;
      of form_dados;
      value 'Bairro';
      autosize;
      font 'tahoma' size 010;
      bold;
      fontcolor _preto_001;
      transparent
   @ 090,070 textbox tbox_bairro;
      of form_cep;
      height 027;
      width 280;
      value cBairro;
      font 'tahoma' size 010;
      backcolor _fundo_get;
      fontcolor _letra_get_1
   @ 0120,005 label lbl_cidade;
      of form_dados;
      value 'Cidade';
      autosize;
      font 'tahoma' size 010;
      bold;
      fontcolor _preto_001;
      transparent
   @ 0120,070 textbox tbox_cidade;
      of form_cep;
      height 027;
      width 250;
      value cCidade;
      font 'tahoma' size 010;
      backcolor _fundo_get;
      fontcolor _letra_get_1
   @ 0160,005 label lbl_uf;
      of form_dados;
      value 'UF';
      autosize;
      font 'tahoma' size 010;
      bold;
      fontcolor _preto_001;
      transparent
   @ 0160,070 textbox tbox_uf;
      of form_cep;
      height 027;
      width 30;
      value cUf;
      font 'tahoma' size 010;
      backcolor _fundo_get;
      fontcolor _letra_get_1
   define label linha_rodape
      col 000
      row form_cep.height-090
      value ''
      width form_cep.width
      height 001
      backcolor _preto_001
      transparent .F.
   end label
Modificado:

Código: Selecionar todos

      WSay( 1, 1, "lbl_cep", "CEP" )
      WGet( 1, 14, "tbox_cep", cCep, "99999-999", { || CepOk( StrTran( form_cep.tbox_cep.Value, "-", "" ) ) } )
      WSay( 2, 1, "lbl_endereco", "Endereço" )
      WGet( 2, 14, "tbox_endereco", cEndereco )
      WSay( 3, 1, "lbl_bairro", "Bairro" )
      WGet( 3, 14, "tbox_bairro", cBairro )
      WSay( 4, 1, "lbl_cidade", "Cidade" )
      WGet( 4, 14, "tbox_cidade", cCidade )
      WSay( 5, 1, "lbl_uf", "UF" )
      WGet( 5, 14, "tbox_uf", cUF )
...
FUNCTION WSay( nRow, nCol, cName, cValue )

   @ nRow * 30, nCol * 5 LABEL &cName OF form_dados value cValue Autosize font 'tahoma' size 010 bold fontcolor BLACK transparent

   RETURN NIL

FUNCTION WGet( nRow, nCol, cName, cValue, cPicture, bOnEnter )

   LOCAL nHeight := 27, nWidth := Len( cValue ) * 10

   IF cPicture == NIL
       @ nRow * 30, nCol * 5 TEXTBOX &cName HEIGHT nHeight WIDTH nWidth ;
      VALUE cValue ;
      font "tahoma" size 010 backcolor BLUE fontcolor WHITE
   ELSE
     @ nRow * 30, nCol * 5 TEXTBOX &cName HEIGHT nHeight WIDTH nWidth ;
      VALUE cValue ;
      font "tahoma" size 010 backcolor BLUE fontcolor WHITE ;
      INPUTMASK cPicture ON ENTER bOnEnter
   ENDIF

   RETURN NIL
toledo.png
Não deixa de ser uma alternativa.
Quem não tem cão, caça com gato, coelho, passarinho... o que a imaginação sugerir e que funcionar... rs

Workshop ou PellesC é complicado? Veja se esta ferramenta.

Enviado: 09 Mar 2017 19:16
por Claudio Soto
Sólo a modo de comentario, el uso de líneas y columnas en vez de pixel es interesante pero sólo tiene sentido cuando se utiliza una única fuente.

Nro col = ancho ventana / ancho promedio fuente

Nro lin = altura ventana / altura promedio fuente

Workshop ou PellesC é complicado? Veja se esta ferramenta.

Enviado: 10 Mar 2017 11:45
por rochinha
Amiguinhos,

O interessante também é perceber que ao escolher a opção PRG Code aparece um editor de textos. Ele usa as duas .DLLs contidas no projeto.

Este editor é chamado de Scintilla e pode ser adicionado a qualquer projeto, dando margem a ter editor de texto dentro da aplicação, para manuear documentos pertinentes as informações administrativas.