Saturación de memoria
Saturación de memoria
Aunque he visto que algunas personas han tenido problemas similares en ningún caso he encontrado la solución a mi problema y lo replanteo pra ver si alguien me puede ayudar.
Ejecuto una aplicación que captura las comprobaciones de gastos de viaje de mis usuarios, solo abre una base de datos pero usa muchas ventanas generdas a travez de archivos de recursos (.RC), al principio todo va bien, pero al capturar el programa va incrementandose en recursos consumidos y al final el sistema simplemente se cuelga y no hay otra forma de cerrarlo mas que usando el task manager de windows. Cuando salgo de una ventana en todos _ la cierro (Ovent:end()) pero siempre llego al mismo resultado. ¿Alguna idea?
Muchas gracias por su ayuda
Esto es lo que uso:
Windows 2000
Fivewin 2.6 para xHarbour 16 & 32 bits
Resource builder 2.0
AJ Make 0.33
Ejecuto una aplicación que captura las comprobaciones de gastos de viaje de mis usuarios, solo abre una base de datos pero usa muchas ventanas generdas a travez de archivos de recursos (.RC), al principio todo va bien, pero al capturar el programa va incrementandose en recursos consumidos y al final el sistema simplemente se cuelga y no hay otra forma de cerrarlo mas que usando el task manager de windows. Cuando salgo de una ventana en todos _ la cierro (Ovent:end()) pero siempre llego al mismo resultado. ¿Alguna idea?
Muchas gracias por su ayuda
Esto es lo que uso:
Windows 2000
Fivewin 2.6 para xHarbour 16 & 32 bits
Resource builder 2.0
AJ Make 0.33
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Antonio muchas gracias por tu pronta respuesta, como te imaginaras estoy incursionando en esta plataforma y me falta un buen por aprender, en cuanto a tu pregunta te puedo decir que no uso fonts, bitmaps o brushes en este programa, te transcribo parte del codigo para que tengas una mejor idea de lo que hago (y posiblemente me puedas sugerir alguna alternativa para hacer el programa mas eficiente.
*Funcion para capturar facturas
function capfacts()
public odial4
sino="S"
do while sino="S"
cNfac=space(12)
nMonf=0
dFechf=date()
ivapor=15
nrep1 := nrep1+" "+nrep2+" "+nrep3+" "+nrep4
nomtec="Nombre del técnico: "+alltrim(n1)+" "+alltrim(n2)
nomsolo=alltrim(n1)+" "+alltrim(n2)
public aConcepto := {"Alimentos","Hospedaje","Telefono","Combustible","Papelería","Otros","Casetas","Transporte","Sin comprobación"}
cConcepto := " "
define dialog odial4 resource "capfacs" of oVentprinc
redefine get nomtec ID 0 of oDial4
redefine get numcomp ID 2 of oDial4
redefine get cNfac ID 4 of oDial4 picture"@!" valid IIF(cNfac=" ",.f.,.t.)
redefine get nMonf ID 6 of Odial4 picture("$###,###.##") valid IIF(nMonf=0,.f.,.t.)
redefine get dFechf ID 7 of oDial4
redefine get ivapor ID 9 of oDial4 picture "##" valid IIF(ivapor=0,.f.,.t.)
redefine combobox cconcepto ID 12 ITEMS aconcepto on change eltipo() of oDial4
activate dialog oDial4
sino="N"
enddo
return
*funcion para elegir tipo de factura
function eltipo()
odial4:end()
public oDialpro
do case
case cconcepto="Alimentos"
facalim()
case cconcepto="Hospedaje"
fachosp()
case cconcepto="Telefono"
factele()
case cconcepto="Combustible"
faccomb()
case cconcepto="Papelería"
facpape()
case cconcepto="Otros"
facotro()
case cconcepto="Casetas"
faccase()
case cconcepto="Transporte"
factran()
case cconcepto="Sin comprobación"
sincomp()
endcase
return
**Inician ordenes y funciones para captura de factura de alimentos
function facalim()
prop=0
tope1=150
define dialog oDialpro resource "propina" of oDial4
redefine get prop ID 1 of oDialpro picture"$###.##"
redefine button ID 2 action oDialpro:end()
activate dialog oDialpro
ivapo=ivapor/100
subt1=nMonf-prop
subt2=subt1/(ivapo+1)
miva=subt2*(ivapo)
define dialog oDialrali resource "resali" of oDial4
redefine get folcom ID 9 of oDialrali
redefine get cNfac ID 10 of oDialrali
redefine get cconcepto ID 11 of oDialrali
redefine get subt2 ID 12 of oDialrali picture"$###,###.##"
redefine get miva ID 13 of oDialrali picture"$###,###.##"
redefine get prop ID 14 of oDialrali picture"$###,###.##"
redefine get nMonf ID 15 of oDialrali picture"$###,###.##"
redefine button ID 7 of oDialrali action regali()
redefine button ID 8 of oDialrali action rechali()
activate dialog oDialrali
return
*funcion que agrega el registro capturado a la base de datos
function regali()
odialrali:end()
comexed=space(60)
IF subt2>tope1
define dialog oDialalex resource "alimexed" of oVentprinc
redefine get comexed ID 1 of oDialalex
redefine button ID 2 of oDialalex action oDialalex:end()
activate dialog oDialalex
ENDIF
use &tmpcap
append blank
go bottom
IF lock()
replace comp_orig with folcom, fechcomp with date(), clase with 1, fechaf with dFechf, nofact with cNfac
replace alimentos with subt2, iva with miva, totalxf with nMonf, tech_id with ctechid, subtotal with subt2
replace total with nMonf, propina with prop, reports with nrep1, iva_por with ivapor, observa with comexed
replace status with "G"
unlock
ENDIF
agrotra()
return
*funcion que desecha el registro capturado
function rechali()
oDialrali:end()
agrotra()
return
****************************************
*Finalizan ordenes y funciones de factura de alimentos (de aqui en *adelante muestro ventanas para el desglose por tipo de factura y *despues le pregunto al usuario si desea capturar otra factura)
****************************************
*funcion que permite elegir si desea capturar otra factura
function agrotra()
define dialog oDialotra resource "otraf" of oventprinc
redefine button ID 1 of odialotra action agreotra()
redefine button ID 2 of oDialotra action noagreotra()
activate dialog oDialotra
return
*funcion que al elegir capturar otra llama nuevamente a la funcion de captura
function agreotra()
oDialotra:end()
capfacts()
return
*Funcion que al elegir no agregar factura pide declaracion de rembolso
function noagreotra()
public oDialreem
oDialotra:end()
define dialog oDialreem resource "reembolso" of oVentprinc
redefine button ID 1 of oDialreem action (odialreem:end(),decdev())
redefine button ID 2 of oDialreem action (oDialreem:end(),addreg())
activate dialog oDialreem
return
*funcion que declara el rembolos a la empresa
function decdev()
public oDialdede
montdep := 0
fechdep := date()
obser1 := space(60)
oDialreem:end()
define dialog oDialdede resource "declarad" of oVentprinc
redefine get nomsolo ID 1 of oDialdede
redefine get folcom ID 3 of oDialdede
redefine get montdep ID 7 of oDialdede picture"$###,###.##"
redefine get fechdep ID 9 of oDialdede
redefine get obser1 ID 13 of oDialdede
redefine button ID 14 of oDialdede action (oDialdede:end(), insregde())
redefine button ID 15 of oDialdede action oDialdede:end()
activate dialog oDialdede
return
*Funcion que inserta el registro de rembolso a la base de datos
function insregde()
oDialdede:end()
use &tmpcap
append blank
IF rlock()
replace nofact with " ", comp_orig with folcom, fechcomp with date(), clase with 0, fechr with fechdep
replace tech_id with ctechid, reports with nrep1, observa with obser1, rembolso with montdep
replace status with "G"
unlock
ENDIF
do addreg
return
*Agrega todos los _ de la base de datos de captura (temporal) a la base de datos central
function addreg()
use &dbgast
append from &tmpcap
return
*Funcion para capturar facturas
function capfacts()
public odial4
sino="S"
do while sino="S"
cNfac=space(12)
nMonf=0
dFechf=date()
ivapor=15
nrep1 := nrep1+" "+nrep2+" "+nrep3+" "+nrep4
nomtec="Nombre del técnico: "+alltrim(n1)+" "+alltrim(n2)
nomsolo=alltrim(n1)+" "+alltrim(n2)
public aConcepto := {"Alimentos","Hospedaje","Telefono","Combustible","Papelería","Otros","Casetas","Transporte","Sin comprobación"}
cConcepto := " "
define dialog odial4 resource "capfacs" of oVentprinc
redefine get nomtec ID 0 of oDial4
redefine get numcomp ID 2 of oDial4
redefine get cNfac ID 4 of oDial4 picture"@!" valid IIF(cNfac=" ",.f.,.t.)
redefine get nMonf ID 6 of Odial4 picture("$###,###.##") valid IIF(nMonf=0,.f.,.t.)
redefine get dFechf ID 7 of oDial4
redefine get ivapor ID 9 of oDial4 picture "##" valid IIF(ivapor=0,.f.,.t.)
redefine combobox cconcepto ID 12 ITEMS aconcepto on change eltipo() of oDial4
activate dialog oDial4
sino="N"
enddo
return
*funcion para elegir tipo de factura
function eltipo()
odial4:end()
public oDialpro
do case
case cconcepto="Alimentos"
facalim()
case cconcepto="Hospedaje"
fachosp()
case cconcepto="Telefono"
factele()
case cconcepto="Combustible"
faccomb()
case cconcepto="Papelería"
facpape()
case cconcepto="Otros"
facotro()
case cconcepto="Casetas"
faccase()
case cconcepto="Transporte"
factran()
case cconcepto="Sin comprobación"
sincomp()
endcase
return
**Inician ordenes y funciones para captura de factura de alimentos
function facalim()
prop=0
tope1=150
define dialog oDialpro resource "propina" of oDial4
redefine get prop ID 1 of oDialpro picture"$###.##"
redefine button ID 2 action oDialpro:end()
activate dialog oDialpro
ivapo=ivapor/100
subt1=nMonf-prop
subt2=subt1/(ivapo+1)
miva=subt2*(ivapo)
define dialog oDialrali resource "resali" of oDial4
redefine get folcom ID 9 of oDialrali
redefine get cNfac ID 10 of oDialrali
redefine get cconcepto ID 11 of oDialrali
redefine get subt2 ID 12 of oDialrali picture"$###,###.##"
redefine get miva ID 13 of oDialrali picture"$###,###.##"
redefine get prop ID 14 of oDialrali picture"$###,###.##"
redefine get nMonf ID 15 of oDialrali picture"$###,###.##"
redefine button ID 7 of oDialrali action regali()
redefine button ID 8 of oDialrali action rechali()
activate dialog oDialrali
return
*funcion que agrega el registro capturado a la base de datos
function regali()
odialrali:end()
comexed=space(60)
IF subt2>tope1
define dialog oDialalex resource "alimexed" of oVentprinc
redefine get comexed ID 1 of oDialalex
redefine button ID 2 of oDialalex action oDialalex:end()
activate dialog oDialalex
ENDIF
use &tmpcap
append blank
go bottom
IF lock()
replace comp_orig with folcom, fechcomp with date(), clase with 1, fechaf with dFechf, nofact with cNfac
replace alimentos with subt2, iva with miva, totalxf with nMonf, tech_id with ctechid, subtotal with subt2
replace total with nMonf, propina with prop, reports with nrep1, iva_por with ivapor, observa with comexed
replace status with "G"
unlock
ENDIF
agrotra()
return
*funcion que desecha el registro capturado
function rechali()
oDialrali:end()
agrotra()
return
****************************************
*Finalizan ordenes y funciones de factura de alimentos (de aqui en *adelante muestro ventanas para el desglose por tipo de factura y *despues le pregunto al usuario si desea capturar otra factura)
****************************************
*funcion que permite elegir si desea capturar otra factura
function agrotra()
define dialog oDialotra resource "otraf" of oventprinc
redefine button ID 1 of odialotra action agreotra()
redefine button ID 2 of oDialotra action noagreotra()
activate dialog oDialotra
return
*funcion que al elegir capturar otra llama nuevamente a la funcion de captura
function agreotra()
oDialotra:end()
capfacts()
return
*Funcion que al elegir no agregar factura pide declaracion de rembolso
function noagreotra()
public oDialreem
oDialotra:end()
define dialog oDialreem resource "reembolso" of oVentprinc
redefine button ID 1 of oDialreem action (odialreem:end(),decdev())
redefine button ID 2 of oDialreem action (oDialreem:end(),addreg())
activate dialog oDialreem
return
*funcion que declara el rembolos a la empresa
function decdev()
public oDialdede
montdep := 0
fechdep := date()
obser1 := space(60)
oDialreem:end()
define dialog oDialdede resource "declarad" of oVentprinc
redefine get nomsolo ID 1 of oDialdede
redefine get folcom ID 3 of oDialdede
redefine get montdep ID 7 of oDialdede picture"$###,###.##"
redefine get fechdep ID 9 of oDialdede
redefine get obser1 ID 13 of oDialdede
redefine button ID 14 of oDialdede action (oDialdede:end(), insregde())
redefine button ID 15 of oDialdede action oDialdede:end()
activate dialog oDialdede
return
*Funcion que inserta el registro de rembolso a la base de datos
function insregde()
oDialdede:end()
use &tmpcap
append blank
IF rlock()
replace nofact with " ", comp_orig with folcom, fechcomp with date(), clase with 0, fechr with fechdep
replace tech_id with ctechid, reports with nrep1, observa with obser1, rembolso with montdep
replace status with "G"
unlock
ENDIF
do addreg
return
*Agrega todos los _ de la base de datos de captura (temporal) a la base de datos central
function addreg()
use &dbgast
append from &tmpcap
return
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Si, tengo instalado w2k SP 4 y todas las actualizaciones de seguridad, de hecho tengo activadas las actualizaciones automaticas de windows, asi como se las active a todos los usuarios de este programa.
En algun foro leí acerca de aumentar los valores en el fivewin.lnk o generar un acceso directo y activar una casilla para ejecutarlo en un espacio separado de memoria pero hasta el momento no he encontrado la solución.
Nuevamente te agradezco tu apoyo y espero que puedas yudarme a resolverlo.
En algun foro leí acerca de aumentar los valores en el fivewin.lnk o generar un acceso directo y activar una casilla para ejecutarlo en un espacio separado de memoria pero hasta el momento no he encontrado la solución.
Nuevamente te agradezco tu apoyo y espero que puedas yudarme a resolverlo.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Mario,
Puedes usar el vmware e instalarlo en una máquina con W2K. El vmware te permite crear un ordenador "virtual" en donde puedes instalar XP y probar en él.
Ahora hay una beta de vmware, plenamente operativa, que puede descargarse desde aqui:
http://www.vmware.com/products/beta/ws/
Puedes usar el vmware e instalarlo en una máquina con W2K. El vmware te permite crear un ordenador "virtual" en donde puedes instalar XP y probar en él.
Ahora hay una beta de vmware, plenamente operativa, que puede descargarse desde aqui:
http://www.vmware.com/products/beta/ws/
Mira mi ejemplo:
Code complete:
Resources
Code complete:
Code: Select all
#include "FiveWin.ch"
static oClients, oClient, oName
static cName
static oSplit
FUNCTION EMPRESAS( oWnd, lOque, cTitle )
local oLbx, oIco, oBar, oGet, oGraph, oItem[10], oEvolucao
cTitle := "Linha de Produtos"
if oClients != nil
return nil
endif
SET DELETE ON
lIncluindo:=.f.
DEFINE FONT oFntLBX NAME "Courier New" SIZE 0, -12
DEFINE FONT fntArial NAME "Arial" SIZE 16, 28
DEFINE FONT fntHelvetica NAME "Helv" SIZE 8, 8
DEFINE FONT fntHelv2 NAME "Helv" SIZE 6, 6
ACTIVATE FONT fntHelvetica
//
// -> Rotina de abertura de DBFs e Inicializacao de variaveis
AbreTabelas()
CarregaTabela()
if recco()=0
lIncluindo:=.t.
endif
M->NOME := PADR( VerifyINI( "CLIENTE", "NOME" , EMPRESA->Nome , cPath+"nfw.ini", .f. ), 45 )
M->ENDERECO := PADR( VerifyINI( "CLIENTE", "ENDERECO", EMPRESA->Endereco , cPath+"nfw.ini", .f. ), 45 )
M->BAIRRO := PADR( VerifyINI( "CLIENTE", "BAIRRO" , EMPRESA->Bairro , cPath+"nfw.ini", .f. ), 25 )
M->CIDADE := PADR( VerifyINI( "CLIENTE", "CIDADE" , EMPRESA->Cidade , cPath+"nfw.ini", .f. ), 25 )
M->CEP := PADR( VerifyINI( "CLIENTE", "CEP" , EMPRESA->Cep , cPath+"nfw.ini", .f. ), 09 )
M->ESTADO := PADR( VerifyINI( "CLIENTE", "ESTADO" , EMPRESA->Estado , cPath+"nfw.ini", .f. ), 02 )
M->CONTATO := PADR( VerifyINI( "CLIENTE", "CONTATO" , EMPRESA->Contato , cPath+"nfw.ini", .f. ), 20 )
M->TELEFONE := PADR( VerifyINI( "CLIENTE", "TELEFONE", EMPRESA->Telefone , cPath+"nfw.ini", .f. ), 14 )
M->FAX := PADR( VerifyINI( "CLIENTE", "FAX" , EMPRESA->Fax , cPath+"nfw.ini", .f. ), 14 )
M->CGC := PADR( VerifyINI( "CLIENTE", "CGC" , EMPRESA->Cgc , cPath+"nfw.ini", .f. ), 20 )
M->INSCR := PADR( VerifyINI( "CLIENTE", "IE" , EMPRESA->Inscr , cPath+"nfw.ini", .f. ), 20 )
M->EMAIL := PADR( VerifyINI( "CLIENTE", "EMAIL" , EMPRESA->Obs , cPath+"nfw.ini", .f. ), 45 )
DEFINE DIALOG oDlg RESOURCE "dlgEmpresa"
REDEFINE GET oCtrl101 VAR M->NOME VALID LiberaBTN(oBTN011) ID 101 OF oDlg
REDEFINE GET oCtrl102 VAR M->ENDERECO VALID LiberaBTN(oBTN011) ID 102 OF oDlg
REDEFINE GET oCtrl103 VAR M->BAIRRO VALID LiberaBTN(oBTN011) ID 103 OF oDlg
REDEFINE GET oCtrl104 VAR M->CIDADE VALID LiberaBTN(oBTN011) ID 104 OF oDlg
REDEFINE GET oCtrl105 VAR M->CEP VALID LiberaBTN(oBTN011) ID 105 OF oDlg
REDEFINE GET oCtrl106 VAR M->ESTADO VALID LiberaBTN(oBTN011) ID 106 OF oDlg
REDEFINE GET oCtrl107 VAR M->CONTATO VALID LiberaBTN(oBTN011) ID 107 OF oDlg
REDEFINE GET oCtrl108 VAR M->TELEFONE VALID LiberaBTN(oBTN011) ID 108 OF oDlg
REDEFINE GET oCtrl109 VAR M->FAX VALID LiberaBTN(oBTN011) ID 109 OF oDlg
REDEFINE GET oCtrl110 VAR M->CGC VALID LiberaBTN(oBTN011) ID 110 OF oDlg
REDEFINE GET oCtrl111 VAR M->INSCR VALID LiberaBTN(oBTN011) ID 111 OF oDlg
REDEFINE GET oCtrl112 VAR M->EMAIL VALID LiberaBTN(oBTN011) ID 112 OF oDlg
REDEFINE SAY oCtrl113 VAR STR(RECNO(),2)+"/"+STR(RECCO(),2) ID 113 OF oDlg
//
REDEFINE BTNBMP ID 5 OF oDlg RESOURCE "bmp_pagant" TOOLTIP "Primeiro registro" ACTION ( dbGoTop() , CarregaTabela(), LimpaCampos(), oCtrl101:Setfocus(), oCtrl113:SetText(STR(RECNO(),2)+"/"+STR(RECCO(),2)) )
REDEFINE BTNBMP ID 6 OF oDlg RESOURCE "bmp_regant" TOOLTIP "Registro Anterior" ACTION ( dbSkip(-1) , CarregaTabela(), LimpaCampos(), oCtrl101:Setfocus(), oCtrl113:SetText(STR(RECNO(),2)+"/"+STR(RECCO(),2)) )
REDEFINE BTNBMP ID 7 OF oDlg RESOURCE "bmp_regsig" TOOLTIP "Proximo registro" ACTION ( dbSkip(), IIF(RECNO()>RECCO(),(lIncluindo:=.f., oBTN011:Disable()),), CarregaTabela(), LimpaCampos(), oCtrl101:Setfocus(), oCtrl113:SetText(STR(RECNO(),2)+"/"+STR(RECCO(),2)) )
REDEFINE BTNBMP ID 8 OF oDlg RESOURCE "bmp_pagsig" TOOLTIP "Ultimo registro" ACTION ( dbGoBottom(), CarregaTabela(), LimpaCampos(), oCtrl101:Setfocus(), oCtrl113:SetText(STR(RECNO(),2)+"/"+STR(RECCO(),2)) )
REDEFINE BTNBMP ID 9 OF oDlg RESOURCE "bmp_RegNovo" TOOLTIP "Novo registro" ACTION ( lIncluindo:=.t., dbGoBottom(), dbSkip(), CarregaTabela("NOVO"), LimpaCampos(), oCtrl101:Setfocus(), oCtrl113:SetText(STR(RECNO(),2)+"/"+STR(RECCO(),2)) )
REDEFINE BTNBMP ID 10 OF oDlg RESOURCE "bmp_RegCanc" TOOLTIP "Exclui registro" ACTION ( rLock(), dbDelete(), dbCommitAll(), dbPack(), dbSkip(-1) )
REDEFINE BTNBMP oBTN011 ID 11 OF oDlg RESOURCE "bmp_floppy" TOOLTIP "Salva registro" ACTION ( sv_emp(), oBTN011:Disable(), lIncluindo:=.f. )
//
REDEFINE BTNBMP ID 4 OF oDlg PROMPT "Fechar esta tela" RESOURCE "bmpbtn24" TOOLTIP "Fechar esta tela" ACTION ( dbCloseAll(), oDlg:End() ) LEFT
oBTN011:Disable()
ACTIVATE DIALOG oDlg CENTERED ;
VALID ( oDlg := nil, dbCloseAll(), .t. )
return nil
static function sv_emp()
dbSelectArea( "EMPRESA" )
if lIncluindo
dbAppend()
else
rLock()
endif
SalvaTabela()
dbCommitAll()
return .t.
static function fun(oBtn)
return .t.
static function LiberaBTN(oBtn)
oBtn:Enable()
return .t.
static function LimpaCampos
oCtrl101:Refresh()
oCtrl102:Refresh()
oCtrl103:Refresh()
oCtrl104:Refresh()
oCtrl105:Refresh()
oCtrl106:Refresh()
oCtrl107:Refresh()
oCtrl108:Refresh()
oCtrl109:Refresh()
oCtrl110:Refresh()
oCtrl111:Refresh()
return .t.
static function AbreTabelas
//
//-> Abre arquivos de dados
dbCloseAll()
USE EMPRESA EXCLUSIVE
InitVars()
return nil
static function CarregaTabela( TIPO_ACAO )
IF TIPO_ACAO = "NOVO"
GOTO BOTT
SKIP
ENDIF
M->NOME := EMPRESA->NOME
M->ENDERECO := EMPRESA->ENDERECO
M->BAIRRO := EMPRESA->BAIRRO
M->CIDADE := EMPRESA->CIDADE
M->CEP := EMPRESA->CEP
M->ESTADO := EMPRESA->ESTADO
M->CONTATO := EMPRESA->CONTATO
M->TELEFONE := EMPRESA->TELEFONE
M->FAX := EMPRESA->FAX
M->CGC := EMPRESA->CGC
M->INSCR := EMPRESA->INSCR
IF TIPO_ACAO = "NOVO"
M->CIDADE := 'SAO PAULO '
M->ESTADO := 'SP'
M->TELEFONE := '( ) - '
M->FAX := '( ) - '
M->CEP := ' - '
ENDIF
return .t.
static function SalvaTabela
EMPRESA->NOME := M->NOME
EMPRESA->ENDERECO := M->ENDERECO
EMPRESA->BAIRRO := M->BAIRRO
EMPRESA->CIDADE := M->CIDADE
EMPRESA->CEP := M->CEP
EMPRESA->ESTADO := M->ESTADO
EMPRESA->CONTATO := M->CONTATO
EMPRESA->TELEFONE := M->TELEFONE
EMPRESA->FAX := M->FAX
EMPRESA->CGC := M->CGC
EMPRESA->INSCR := M->INSCR
EMPRESA->OBS := M->EMAIL
COMMIT
return .t.
Code: Select all
dlgEmpresa DIALOG 72, 61, 316, 157
STYLE 0x4L | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "Cadastro de Empresa"
FONT 8, "Helv"
{
GROUPBOX "Dados de Empresa", 99, 6, 2, 251, 131, BS_GROUPBOX
CONTROL "", 100, "static", SS_WHITERECT | WS_CHILD | WS_VISIBLE | WS_BORDER, 163, 175, 102, 32
CONTROL "101", 101, "EDIT", WS_BORDER | WS_TABSTOP, 69, 14, 180, 12
CONTROL "102", 102, "EDIT", WS_BORDER | WS_TABSTOP, 69, 31, 180, 12
CONTROL "103", 103, "EDIT", WS_BORDER | WS_TABSTOP, 69, 47, 88, 12
CONTROL "104", 104, "EDIT", WS_BORDER | WS_TABSTOP, 161, 47, 88, 12
CONTROL "105", 105, "EDIT", WS_BORDER | WS_TABSTOP, 69, 64, 55, 12
CONTROL "106", 106, "EDIT", WS_BORDER | WS_TABSTOP, 129, 64, 28, 12
CONTROL "107", 107, "EDIT", WS_BORDER | WS_TABSTOP, 161, 64, 88, 12
CONTROL "108", 108, "EDIT", WS_BORDER | WS_TABSTOP, 69, 81, 88, 12
CONTROL "109", 109, "EDIT", WS_BORDER | WS_TABSTOP, 161, 81, 88, 12
CONTROL "112", 112, "EDIT", WS_BORDER | WS_TABSTOP, 69, 115, 180, 12
PUSHBUTTON "&Fechar", 4, 175, 137, 82, 15
LTEXT "Razão Social:", -1, 12, 17, 50, 8
LTEXT "Endereco:", -1, 12, 33, 50, 8
LTEXT "Bairro/Cidade:", -1, 12, 49, 50, 8
LTEXT "CEP/UF/Contato:", -1, 12, 66, 55, 8
LTEXT "Telefone/Fax:", -1, 12, 83, 55, 8
LTEXT "Email:", -1, 12, 117, 55, 8
ICON "icon_info", -1, 320, 192, 18, 20
CONTROL "TBtnBmp", 7, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 40, 138, 14, 14
CONTROL "TBtnBmp", 8, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 57, 138, 14, 14
CONTROL "TBtnBmp", 5, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 6, 138, 14, 14
CONTROL "TBtnBmp", 6, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 23, 138, 14, 14
CONTROL "TBtnBmp", 9, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 138, 14, 14
CONTROL "TBtnBmp", 10, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 91, 138, 14, 14
CONTROL "TBtnBmp", 11, "TBtnBmp", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 107, 138, 14, 14
CONTROL "110", 110, "EDIT", WS_BORDER | WS_TABSTOP, 69, 98, 88, 12
CONTROL "111", 111, "EDIT", WS_BORDER | WS_TABSTOP, 161, 98, 88, 12
LTEXT "CGC/INSCR:", -1, 12, 100, 55, 8
LTEXT "Text", 113, 125, 138, 47, 14, WS_BORDER | WS_GROUP
}
bmp_pagant BITMAP
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 07 77 77 07 77 77 77'
'70 07 77 70 07 77 77 77 00 07 77 00 07 77 77 70'
'00 07 70 00 07 77 77 00 00 07 00 00 07 77 77 70'
'00 07 70 00 07 77 77 77 00 07 77 00 07 77 77 77'
'70 07 77 70 07 77 77 77 77 07 77 77 07 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
bmp_regant BITMAP
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 70 77 77 77 77 77'
'77 77 00 77 77 77 77 77 77 70 00 77 77 77 77 77'
'77 00 00 77 77 77 77 77 70 00 00 77 77 77 77 77'
'77 00 00 77 77 77 77 77 77 70 00 77 77 77 77 77'
'77 77 00 77 77 77 77 77 77 77 70 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
bmp_pagsig BITMAP
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 70 77 77 70 77 77 77 77 70'
'07 77 70 07 77 77 77 70 00 77 70 00 77 77 77 70'
'00 07 70 00 07 77 77 70 00 00 70 00 00 77 77 70'
'00 07 70 00 07 77 77 70 00 77 70 00 77 77 77 70'
'07 77 70 07 77 77 77 70 77 77 70 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
bmp_regsig BITMAP
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 07 77 77 77 77 77 77'
'77 00 77 77 77 77 77 77 77 00 07 77 77 77 77 77'
'77 00 00 77 77 77 77 77 77 00 00 07 77 77 77 77'
'77 00 00 77 77 77 77 77 77 00 07 77 77 77 77 77'
'77 00 77 77 77 77 77 77 77 07 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77'
}
bmp_RegNovo BITMAP
{
'42 4D F4 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 0E 00 00 00 0E 00 00 00 01 00 04 00 00 00'
'00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 BF 00 00 BF'
'00 00 00 BF BF 00 BF 00 00 00 BF 00 BF 00 BF BF'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 00 77 77'
'77 77 77 77 77 00 77 77 77 77 77 77 77 00 77 77'
'77 00 77 77 77 00 77 77 77 00 77 77 77 00 77 77'
'77 00 77 77 77 00 77 70 00 00 00 07 77 00 77 70'
'00 00 00 07 77 00 77 77 77 00 77 77 77 00 77 77'
'77 00 77 77 77 00 77 77 77 00 77 77 77 00 77 77'
'77 77 77 77 77 00 77 77 77 77 77 77 77 00 77 77'
'77 77 77 77 77 00 77 77 77 77 77 00 77 77 77 77'
'77 77 77 00'
}
bmp_RegCanc BITMAP
{
'42 4D 04 01 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 10 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'00 77 77 00 77 77 77 77 70 07 70 07 77 77 77 77'
'77 00 00 77 77 77 77 77 77 70 07 77 77 77 77 77'
'77 00 00 77 77 77 77 77 70 07 70 07 77 77 77 77'
'00 77 77 00 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77'
'77 77 77 77'
}
bmp_floppy BITMAP
{
'42 4D F6 00 00 00 00 00 00 00 76 00 00 00 28 00'
'00 00 10 00 00 00 10 00 00 00 01 00 04 00 00 00'
'00 00 80 00 00 00 C4 0E 00 00 C4 0E 00 00 00 00'
'00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
'00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
'00 00 C0 C0 C0 00 80 80 80 00 00 00 FF 00 00 FF'
'00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
'00 00 FF FF FF 00 77 77 77 77 77 77 77 77 77 00'
'00 00 00 00 00 07 70 33 00 00 00 77 03 07 70 33'
'00 00 00 77 03 07 70 33 00 00 00 77 03 07 70 33'
'00 00 00 00 03 07 70 33 33 33 33 33 33 07 70 33'
'00 00 00 00 33 07 70 30 77 77 77 77 03 07 70 30'
'77 77 77 77 03 07 70 30 77 77 77 77 03 07 70 30'
'77 77 77 77 03 07 70 30 77 77 77 77 00 07 70 30'
'77 77 77 77 07 07 70 00 00 00 00 00 00 07 77 77'
'77 77 77 77 77 77'
}