Borland Resource Workshop en 32 bits

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

Moderador: Moderadores

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Borland Resource Workshop en 32 bits. Ter que aprender tudo de novo, é o que me dá uma preguiça... kkkk

http://forums.fivetechsupport.com/viewt ... =6&t=38437

Abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Kapiaba escreveu:Borland Resource Workshop en 32 bits. Ter que aprender tudo de novo, é o que me dá uma preguiça... kkkk
fivewin tão "moderno", e usar ferramenta do Windows 95.
Isso deveria ser uma coisa simples de ser feita com fivewin, aliás... deveria existir faz tempo.
A não ser que seja o contrário... estão comparando a nova com essa.
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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Pela primeira vez, concordo contigo mister Quintas, mesmo o FiveWin não tendo nada a ver com editor de recursos, depois que a Borland abandonou o projeto, a FiveTech deveria ter investido nisto, já que a FiveWin, pode-se usar @SAY e Recursos(que é o que eu uso). Mas... Quem sabe um dia o Mister Navarro não desenvolve algo idêntico ao WORKSHOP.EXE the best de 16 bits da Borland... Esperar para ver.

A única coisa que eu não quero, é usar o PELLESC.EXE, não gosto de jeito nenhum.

Abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Dá uma olhada se serve:

http://www.resedit.net/

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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Many thanks, já testei a maioria, é tudo segunda linha que nem o Pellesc.exe, não tem nenhum editor sequer parecido com o WorkShop.exe da Borland. Simplesmente maravilhoso. Saída é manter uma máquina com windows de 32 bits.

Obg. abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Kapiaba escreveu:Saída é manter uma máquina com windows de 32 bits.
Mas isso não limita em não poder usar recursos novos?
Não seria basicamente pra desenhar telas, ou tem mais que isso?

Tem um troço na GTWVG que é pra usar parecido com isso, mas direto no fonte PRG.
Como a configuração que aparece no dialog do resource, mas pra ser feito no fonte.
Só não encontrei pra adicionar direto do resource.

Código: Selecionar todos

   nStyle := DS_SETFONT + WIN_WS_VISIBLE + WIN_WS_POPUP + WIN_WS_CAPTION + WIN_WS_SYSMENU + WIN_WS_THICKFRAME + WIN_WS_MINIMIZEBOX

   aDlg := wvt_MakeDlgTemplate( 1, 4, 21, 60, { 0, 0, 0, 0 },  ;
      "Dialog First [ " + hb_ntos( nInfo ) + " ] " + ;
      iif( nInfo % 2 == 0, "Modeless", "Modal" ), " Dialog !", nStyle )

   // Multi line edit control
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + ES_AUTOVSCROLL + ES_MULTILINE + ;
      ES_WANTRETURN + WIN_WS_BORDER  + WIN_WS_VSCROLL
   aDlg   := wvt_AddDlgItem( aDlg,  1, 2, 15, 35, {}, ID_MLE       , "EDIT"   , nStyle, /* cText, nHelpId, nExStyle */ )

   // Two horizontal and vertical lines
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_ETCHEDVERT
   aDlg   := wvt_AddDlgItem( aDlg, 1, 39,  16, 1, {}, 111          , "STATIC" , nStyle )
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_ETCHEDHORZ
   aDlg   := wvt_AddDlgItem( aDlg, 17, 2,  1, 56, {}, 112          , "STATIC" , nStyle )

   // Icon
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_ICON //+ SS_CENTERIMAGE
   aDlg   := wvt_AddDlgItem( aDlg, 18, 2, 2, 6, {}, ID_ICO_VOUCH  , "STATIC" , nStyle, "" )
#if 0
   // Bitmap
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_BITMAP + SS_REALSIZEIMAGE
   aDlg   := wvt_AddDlgItem( aDlg, 18, 41, 2,8, { -3, 0, 3 }, ID_STA_IMAGE, "STATIC" , nStyle, "" )
#endif
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + BS_AUTOCHECKBOX
   aDlg   := wvt_AddDlgItem( aDlg, 18, 15,  1, 10, {}, ID_CHK_SATIS , "BUTTON" , nStyle, "Satisfied?" )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + ES_RIGHT + ES_READONLY
   aDlg   := wvt_AddDlgItem( aDlg, 18, 30,  1,  7, { 3 }, ID_EDT_TIME , "EDIT" , nStyle, "" )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + LBS_NOTIFY + WIN_WS_VSCROLL + WIN_WS_BORDER
   aDlg   := wvt_AddDlgItem( aDlg,  1, 41,  4, 17, {}, ID_LST_LIST  , "LISTBOX", nStyle, "ListBox"  )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_LEFT
   aDlg   := wvt_AddDlgItem( aDlg,  4, 41,  1, 17, { 3, 0, 0, 0 }, -1    , "STATIC" , nStyle, "Degree"     )
   nStyle := WIN_WS_VISIBLE + WIN_WS_TABSTOP + CBS_DROPDOWNLIST + WIN_WS_BORDER + WIN_WS_VSCROLL
   aDlg   := wvt_AddDlgItem( aDlg,  5, 41,  6, 17, {}, ID_CMB_COMBO , "COMBOBOX" , nStyle, "Combo" )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + BS_GROUPBOX
   aDlg   := wvt_AddDlgItem( aDlg,  7, 41,  4, 17, { 0, 0, 4, 0 }, ID_GRP_COMP, "BUTTON" , nStyle, "Compiler" )
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + BS_AUTORADIOBUTTON
   aDlg   := wvt_AddDlgItem( aDlg,  8, 43,  1, 14, {}, ID_RDO_XH    , "BUTTON" , nStyle, "Harbour"  )
   aDlg   := wvt_AddDlgItem( aDlg,  9, 43,  1, 14, {}, ID_RDO_CLIP  , "BUTTON" , nStyle, "Cl*pper"  )
   aDlg   := wvt_AddDlgItem( aDlg, 10, 43,  1, 14, {}, ID_RDO_XBASE , "BUTTON" , nStyle, "Xbase++"  )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_LEFT
   aDlg   := wvt_AddDlgItem( aDlg, 12, 41, 1, 17, { 3, 0, 0, 0 }, ID_STA_TEXT, "STATIC" , nStyle, "Scrollable Text" )
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + ES_AUTOHSCROLL + WIN_WS_BORDER
   aDlg   := wvt_AddDlgItem( aDlg, 13, 41, 1, 17, {}, ID_EDT_TEXT  , "EDIT"   , nStyle, "This is Text Field" )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + SS_LEFT
   aDlg   := wvt_AddDlgItem( aDlg, 14, 41, 1, 17, { 3, 0, 0, 0 }, -1, "STATIC" , nStyle, "Right Justified Numerics" )
   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + ES_AUTOHSCROLL + ES_NUMBER + ES_RIGHT + WIN_WS_BORDER
   aDlg   := wvt_AddDlgItem( aDlg, 15, 41, 1, 17, {}, ID_EDT_NUMB  , "EDIT"   , nStyle, "1234567" )

   nStyle := WIN_WS_CHILD + WIN_WS_VISIBLE + WIN_WS_TABSTOP + BS_PUSHBUTTON
   aDlg   := wvt_AddDlgItem( aDlg, 18, 50, 1,  8, { -3, 0, 3, 0 }, ID_BTN_OK, "BUTTON" , nStyle, "OK" )

   hMenu  := wapi_CreateMenu()
   wapi_AppendMenu( hMenu, WIN_MF_STRING + WIN_MF_ENABLED, ID_MNU_FILE   , "File"     )
   wapi_AppendMenu( hMenu, WIN_MF_STRING + WIN_MF_ENABLED, ID_MNU_CONTROL, "Controls" )

   lOnTop      := .F.
   cDlgIcon    := "v_notes.ico"
#if 0
   nTimerTicks := 1000  // 1 second
#else
   nTimerTicks := NIL
#endif

   IF nInfo == 2
      // Modal Dialog
      hDlg := wvt_DialogBox( aDlg, @DynDlgProc(), hb_gtInfo( HB_GTI_WINHANDLE ) )
   ELSE
      // Modeless Dialog
      hDlg := wvt_CreateDialog( aDlg, lOnTop, @DynDlgProc(), cDlgIcon, nTimerTicks, hMenu )
   ENDIF

   RETURN hDlg
Por enquanto a opção seria usar um desses editores e converter o RC pra PRG.
Mas no momento, só quero saber do MySQL... isso fica pra depois.... rs
dialog.png
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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Recursos criados no workshop.exe, não nos limita em nada, pois basta editar o recurso e informar à ele, qual é o nome do novo componente que a FiveTech criou em uma nova classe por exemplo. Não existe nada que nos limite na criação dos formulários/dialogos/componentes. Worskshop.exe é fantástico, os outros também são, mas falta qualidade. Veja exemplo, onde está escrito: "TMETEREX", basta "dizer" ao Workshop.exe que este componente está na LIB do fivewin.
REINDEXAR.png
Abs.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Depois de compilado, o resultado final, é assim:
reindexa2.png
abs.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

O RC -> RESOURCE COMPILER(texto) que ele gera. Eu prefiro usar arquivos .RES, mas sempre mantenho uma cópia em .RC, pois os .RES, são binários e podem corromper. Mesmo tendo backup, faço cópia em .RC, seguro morreu de vecchio.

Código: Selecionar todos

REINDEXAR DIALOG 67, 30, 270, 270
STYLE DS_ABSALIGN | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION
CAPTION "PLENOIND: Reindexar/Organizar Bancos de Dados-Obrigatório Desativar os Terminais."
FONT 10, "MS Serif"

{
 CONTROL "TMeterex", 50, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 26, 190, 10
 CONTROL "TMeterex", 51, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 37, 190, 10
 CONTROL "TMeterex", 52, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 48, 190, 10
 CONTROL "TMeterex", 53, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 59, 190, 10
 CONTROL "TMeterex", 54, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 70, 190, 10
 CONTROL "TMeterex", 55, "TMeterex", 0 | WS_CHILD | WS_VISIBLE, 69, 81, 190, 10
 PUSHBUTTON "&Indexar", 701, 94, 250, 40, 14
 PUSHBUTTON "&Saida", 702, 136, 250, 40, 14
 GROUPBOX "Indexação Geral dos Bancos de Dados - Feche Outros Programas de Orçamentos", 501, 5, 15, 260, 79, BS_GROUPBOX | BS_LEFTTEXT
 AUTOCHECKBOX " Reindexar: Reorganizar Arquivos - <Click> Abaixo Para:", 20, 26, 99, 240, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 AUTOCHECKBOX " Apagar/Excluir Registros Deletados nos Bancos de Dados.", 21, 26, 113, 240, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
 CONTROL "TBitMap", 23, "TBitMap", WS_CHILD | WS_VISIBLE, 47, 145, 176, 40
 CONTROL "DSAY", 801, "TDSay", 0 | WS_CHILD | WS_VISIBLE, -2, 3, 273, 10
 RTEXT "Orçamentos:", 401, 10, 26, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Compras:", 402, 10, 37, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 403, 10, 48, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 404, 10, 59, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 405, 10, 70, 56, 10, SS_RIGHT | NOT WS_GROUP
 RTEXT "Aguardando:", 406, 10, 81, 56, 10, SS_RIGHT | NOT WS_GROUP
 CONTROL "TBitMap", 110, "TBitMap", WS_CHILD | WS_VISIBLE, 7, 145, 30, 40
 LTEXT "Indexar Arquivos:->", 420, 5, 250, 80, 12, NOT WS_GROUP
 CTEXT "FAÇA BACKUP DIÁRIO.", 419, 1, 208, 268, 28, SS_CENTER | NOT WS_GROUP
 CONTROL "TBitMap", 24, "TBitMap", WS_CHILD | WS_VISIBLE, 235, 145, 30, 40
 CTEXT "Feche Outros Programas Antes de Indexar os Bancos de Dados.", 421, 0, 132, 270, 12, SS_CENTER | NOT WS_GROUP
}
Abs.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Olha a coincidência...

Comentei que estou mais interessado no MySQL no momento...
E a tela é de indexação de DBFs....
Também tenho gráfico na indexação, mas... somente enquanto ainda tenho DBFs.
Vai ser uma tela a menos pra converter depois.... rs
Kapiaba escreveu:Recursos criados no workshop.exe, não nos limita em nada, pois basta editar o recurso e informar à ele, qual é o nome do novo componente que a FiveTech criou em uma nova classe por exemplo. Não existe nada que nos limite na criação dos formulários/dialogos/componentes.
Não seria isto? Apesar que este é só um dos recursos que comentou.
resedit.png
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Isso é bom pra quem quer entender como o Windows funciona.

Depois de desenhar a tela de diálogo, só pedir pro Windows executar:
resedit1.png
resedit2.png
Tá aí o diálogo "em execução".
Apenas vai mostrar os componentes visuais, e fazer o que cada componente visual faz.
É o Windows quem cuida disso, junto ao programa que vai capturar cada um desses eventos.
Se o programa tiver algo definido, vai ser executado, senão, fica por conta do Windows atualizar a tela.

Como já comentei por aqui: é como se a tela toda fosse uma GETSYS, e tudo fizesse parte do READ.
O que o programa vai fazer é o que estiver nos VALID, WHEN, etc., não esses nomes, e não limitado a só esses eventos.

Podem ser novos dialogs/janelas, ou qualquer coisa possível.

Ao mesmo tempo.... torna a preocupação das LIBs gráficas em criar IDE pra desenhar telas uma coisa que não é tão importante quanto o resto, já que existem opções pra isso.
E mais ainda... está aí um padrão universal que poderia ser usado pelas LIBs, enxugando o fonte dos comandos de criação de tela.
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
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Borland Resource Workshop en 32 bits

Mensagem por JoséQuintas »

Voltando aos arquivos rc... o hbmk2 gerencia também os RCs.
É passar a lista e ele se vira.
Talvez te facilitasse a compilação, e a manutenção.

hbmk2 *.prg *.rc *.res
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/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Borland Resource Workshop en 32 bits

Mensagem por Kapiaba »

Voltando aos arquivos rc... o hbmk2 gerencia também os RCs.
É passar a lista e ele se vira.
Talvez te facilitasse a compilação, e a manutenção.

hbmk2 *.prg *.rc *.res
Eu uso xHarbour, e o modo de compilar é mais simples(prefiro .RES), e diferente do modos operandi do Harbour, mesmo assim, eu agradeço. Se bem, que para compilar Fivewin com o Harbour, tem modos bem simples, mas não vou falar sobre Harbour, pois não uso. Não uso, mas recomendo o Harbour. Não se usa isso em hbmk2 *.prg *.rc *.res em Fivewin com Harbour, nunca vi nada assim para compilar fivewin com Harbour. Mas, pode ser desconhecimento da minha parte. Nunca vi nenhum exemplo nos forums que sou membro. Obg. abs.
Responder