Ajuda com WS

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

Moderador: Moderadores

Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Ajuda com WS

Mensagem por Vander »

Estou estudando o WS mas estou com muitas dificuldades, gostaria que os
amigos me ajudassem, com da seguinte forma tenho um DBF com os seguintes campos:

1 - MEDNOME - C - 60
2 - MEDESPE - C - 60
3 - MEDLOCA - C - 25

E gostaria de fazer uma tela de cadastro assim:

Nome : [1]
Especialidade : [2]
Local : [3]

Não pensem que estou querendo tudo mastigado, é que com um exemplo prático e objetivo fica
mais fácil de entender.


"Desenhando" a tela com WS foi gerado 2 arquivos: nds.rc e nds.rh
Nota: Inclui na tela apena um campo.

ARQUIVO NDS.RC

Código: Selecionar todos

/****************************************************************************


nds.rc

produced by Borland Resource Workshop


*****************************************************************************/

#include "nds.rh"
#include "winapi.ch"

ICON_1 ICON "sal.ico"


DIALOG_1 DIALOG 6, 15, 207, 111
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
FONT 10, "MS Sans Serif"
{
 DEFPUSHBUTTON "OK", IDOK, 148, 6, 50, 14
 PUSHBUTTON "Cancelar", IDCANCEL, 148, 24, 50, 14
 RTEXT "Nome", -1, 3, 6, 40, 8
 EDITTEXT MEDNOME, 45, 6, 98, 8
}
ARQUIVO NDS.RH

Código: Selecionar todos

/****************************************************************************


nds.rh

produced by Borland Resource Workshop


*****************************************************************************/

#define DIALOG_1	1
#define MEDNOME	101
#define ICON_1	1
---------------- o meu PRG

Function cadmed()
#include "FiveWin.ch"
local oDlg, oLbx, oFont,mHor:=395, mVer:=235
abrmed() // abrir banco de dados
DEFINE FONT oFont NAME "Arial" SIZE 6, 20
DEFINE DIALOG ODLG FROM 1.5,0 TO 35,100 TITLE "CADASTRO DE PROFICIONAIS DE SAÚDE" FONT oFont
@ 0,0 LISTBOX oLbx FIELDS MEDICO->MEDNOME ,;
MEDICO->MEDESPE ,;
MEDICO->MEDLOCA ;
HEADERS "NOME", "ESPECIALIDADE", "LOC. ATENDIMENTO" ;
FIELDSIZES 320 , 320 , 100;
SIZE mHor,mVer

@ 09.59,01 BUTTON "&Novo" ACTION cadmed2() of oDlg SIZE 75,12
@ 09.59,14 BUTTON "&Alterar" OF oDlg SIZE 75,12
@ 09.59,27 BUTTON "&Excluir" OF oDlg SIZE 75,12
@ 09.59,40 BUTTON "Localizar n&ome" OF oDlg SIZE 75,12
@ 09.59,53 BUTTON "&Fechar janela" ACTION oDlg:End() OF oDlg SIZE 75,12
ACTIVATE DIALOG oDlg
return nil
// --------------- cadmed
static function cadmed2()
#Include "Corget.ch"

-----------> como ficaria esta função ?



Obrigado;


Vander
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinho

É com muito gosto que dou-lhe uma ajudinha.

Em primeiro lugar se voce for utilizar o WS( WordStar, hehehe ) voce deve esquecer comandos que usem @...lin, col, pois eles funcionam somente com janelas montadas com coordenadas manuais, estilo

DEFINE DIALOG ... 0,0 to 200,300

No caso de se usar .RC faça assim:

DEFINE DIALOG ODLG RESOURCE "DIALOG_1"

Portanto voce faria algo assim:

Código: Selecionar todos

#Include "fivewin.ch" // "Corget.ch"
#Include "nds.ch"

function CadMed()
...

static function cadmed2() 
     local oDlg, QueroGravar := .f. // Nunca grava
     local oMedNome // necessario para o objeto EDITTEXT
     DEFINE DIALOG ODLG [b]RESOURCE[/B] "DIALOG_1"
                 REDEFINE GET oMedNome ID mednome OF oDlg
                 REDEFINE BUTTON ID idok      ACTION QueroGravar := .t.
                 REDEFINE BUTTON ID idcancel ACTION QueroGravar := .f.
     ACTIVATE DIALOG
     if QueroGravar
        // executo a rotina de gravacao
        MsgStop('Vou grava os dados')
     endif
@braços :?)
Responder