<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content="MSHTML 6.00.2900.5512" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>No entiendo cuando me dices fuera del
formulario.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Yo lo hago dentro del formulario en la parte
superior debajo de donde dice implementación.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>y lo llamo desde otr formulario como dije antes.
Osea diciendo desde otro formulario:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>var<BR> f: Tform1;<BR>begin<BR>
f:=Tform1.Create(Self);<BR> f.ShowModal;<BR>
f.Free;<BR>end;</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Probe poniendo como me dice Maxi Private y me da el
siguiente error:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>uflbal.pas(114,2) Fatal: Syntax error, ":" expected
but "identifier BVALIDA" found<BR><BR></FONT><FONT face=Arial size=2>Tengo
declarado lo siguiente:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>implementation</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>uses<BR> udm, ufconta, ufvisual;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>type<BR> TBranch = record<BR> Sum:
string;<BR> Debe: string;<BR> Haber:
string;<BR> sascta: array of string;<BR>
sacap: array of string;<BR> sascap: array of
string;<BR> saele: array of string;<BR>
saemp: array of string;<BR> pdscta: array of
string;<BR> phscta: array of string;<BR>
pdcap: array of string;<BR> phcap: array of
string;<BR> pdscap: array of string;<BR>
phscap: array of string;<BR> pdele: array of
string;<BR> phele: array of string;<BR>
pdemp: array of string;<BR> phemp: array of
string;<BR> end;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>var<BR> private<BR> bvalida,
blist: boolean;<BR> sentidad, snota, strscta, strcap, strscap,
strele, stremp: string;<BR> iano, CtaIndex, SCtaIndex, CapIndex,
SCapIndex, EleIndex, EmpIndex: integer;<BR> lcampos:
longint;<BR> ddebe, dhaber, ddif, dmdebe, dmhaber, dmdif:
double;<BR> dini: TDate;<BR> Hdrs: array of
TBranch;<BR>end; </FONT></DIV>
<DIV><FONT face=Arial size=2> </DIV></FONT>
<DIV><FONT face=Arial size=2>El private lo puse porque tratando de hacer lo que
me dijo Maxi y no funcionó. Si quito el private si funciona, pero las variables
de me van del hambito que deseo.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Deseo que solo se vean dentro del
formulario.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>O es que hay que declararlas dentro del private de
los procedimientos?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>osea aquí?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> private<BR> { private
declarations } </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Yo ahí declaro las funciones y los precedimientos
privados. Por ejemplo tengo en este formulario:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> private<BR> { private
declarations }<BR> procedure abortar();<BR>
procedure actdat(icta: integer; sscta: string; scap: string; sscap: string;
sele: string; semp: string; bhisto: boolean);<BR> procedure
datosact();<BR> function valdbal(bhisto: boolean):
boolean;<BR></FONT></DIV>
<DIV><FONT face=Arial size=2>Disculpen mi desconocmiento de pascal, pero nunca
antes lo había mirado.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Saludos Reiterados</FONT></DIV>
<DIV>========<BR>| ISMAEL |<BR>========<BR>Only for the small landowners and
Cubans companies<BR>Website: <A
href="http://www.sisconge.byethost15.com">www.sisconge.byethost15.com</A><BR>
<A href="http://www.sisconge.hol.es">www.sisconge.hol.es</A><BR></DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=mmgomez@gmail.com href="mailto:mmgomez@gmail.com">Martin Gomez</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A
title=lazarus-es@lists.lazarus.freepascal.org
href="mailto:lazarus-es@lists.lazarus.freepascal.org">Spanish version of
Lazarus List</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, September 03, 2013 4:40
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Lazarus-es]Duda sobre
declaración y el alance de variables en los formularios</DIV>
<DIV><BR></DIV>
<DIV dir=ltr>
<DIV class=gmail_default style="FONT-FAMILY: tahoma,sans-serif">Claro, si las
declaras fuera de la clase del formulario las variables quedan como "globales"
(solo para los que tengan la unit del formulario en su uses).</DIV>
<DIV class=gmail_default style="FONT-FAMILY: tahoma,sans-serif">Si necesitas
acceder a estos valores desde fuera, el consejo es que agregues propiedades en
el formulario, o las pongas en la sección <B>public</B>, sino sigue el consejo
de Maxi y mantenlas privadas.</DIV>
<DIV class=gmail_default style="FONT-FAMILY: tahoma,sans-serif">Otra
alternativa sería pasarlas a 0 en el OnCreate.</DIV></DIV>
<DIV class=gmail_extra><BR><BR>
<DIV class=gmail_quote>2013/9/3 Maxi <SPAN dir=ltr><<A
href="mailto:maximiliano.duarte@gmail.com"
target=_blank>maximiliano.duarte@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">El
día 3 de septiembre de 2013 16:47, Ismael L. Donis Garcia<BR><<A
href="mailto:ismael@citricos.co.cu">ismael@citricos.co.cu</A>>
escribió:<BR>
<DIV>
<DIV class=h5>> Tengo una gran duda sobre la declaración de variables en
formulario.<BR>><BR>> Si declaro una variable de la siguiente
forma:<BR>><BR>> implementation<BR>><BR>> var<BR>>
ddebe, dhaber: double;<BR>><BR>> y llamo el formulario de la
siguiente forma:<BR>><BR>> f:=form1.Create(Self);<BR>>
f.ShowModal;<BR>> f.Free;<BR>><BR>> Y dentro del
formulario le doy valores a las variables ddebe y dhaber y<BR>> cierro el
formulario con self.close;<BR>><BR>> Cuando entro de nuevo al
formulario se me conservan los valores de las<BR>> variables ddebe y
dhaber.<BR>><BR>> Ahora mi duda:<BR>><BR>> Si yo cierro el
formulario porque se me mantiene el valor de las variables<BR>> que yo
había calculado en la entrada anterior?<BR>> Este valor no debería ser =0
al volver a entrar de nuevo al formulario?<BR>> Cual es la causa de este
comportamiento?<BR>><BR>> Desde ya Gracias<BR>> ========<BR>> |
ISMAEL |<BR>> ========<BR>> Only for the small landowners and Cubans
companies<BR>> Website: <A href="http://www.sisconge.byethost15.com"
target=_blank>www.sisconge.byethost15.com</A><BR>>
<A href="http://www.sisconge.hol.es"
target=_blank>www.sisconge.hol.es</A><BR>><BR>><BR>>
_______________________________________________<BR>> Lazarus-es mailing
list<BR>> <A
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</A><BR>>
<A href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</A><BR><BR><BR></DIV></DIV>esta
mal declarado y usado.<BR><BR>Deberias hacerlo
asi:<BR><BR>TformX<BR>.<BR>.<BR>.<BR>.<BR>Private<BR> ddebe, dhaber:
double;<BR>end;<BR><BR>Si lo declaras en la implementacion es como global al
archivo.<BR><BR>Self es el objeto actual en el momento de llamarlo, y le
estas<BR>diciendo que Form1 se cree como pariente del objeto que trae Self.
El<BR>destructor del objeto llamador se encargaria de destruir a
Form1.<BR>yo lo uso de una forma mas segura<BR><BR> with
Tform1.Create(nil)<BR> try<BR>
Showmodal;<BR> finally<BR>
Free;<BR>end;<BR><BR>o<BR> with
Tform1.Create(nil)<BR> try<BR> Showmodal; // y en el evento
oncanclose colocas: Action := caFree;<BR> except<BR>
Free;<BR>end;<BR><SPAN class=HOEnZb><FONT color=#888888><BR><BR>--<BR>El que
pregunta aprende, y el que contesta aprende a responder.<BR><BR>No a la
obsolecencia programada:<BR><A
href="http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml"
target=_blank>http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml</A><BR><BR>Linux
User #495070<BR><A href="http://domonetic.com/blog"
target=_blank>http://domonetic.com/blog</A><BR></FONT></SPAN>
<DIV class=HOEnZb>
<DIV
class=h5><BR>_______________________________________________<BR>Lazarus-es
mailing list<BR><A
href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</A><BR><A
href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es"
target=_blank>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</A><BR></DIV></DIV></BLOCKQUOTE></DIV><BR><BR
clear=all>
<DIV><BR></DIV>-- <BR>
<DIV><SPAN style="FONT-FAMILY: tahoma,sans-serif">Try not to become a man of
success but rather to become a man of value. <I>Albert
Einstein</I></SPAN></DIV></DIV>
<P>
<HR>
<P></P>_______________________________________________<BR>Lazarus-es mailing
list<BR>Lazarus-es@lists.lazarus.freepascal.org<BR>http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es<BR></BLOCKQUOTE></BODY></HTML>