hola! , saludos a todos los valientes que han entrado a este hilo, les agradesco sus intenciones de ayudar.Deveras que les estaria muy agradecido.
2 problemas al querer darle una mascara de entrada a cada celda de un stringgrid(si asi es mascaras distintas), hasta el momento he logrado darle una mascara de entrada a solo UNA columna con sus mascaras independientes para cada celda de esa columna.
Pero el detalle es que cada ves que presiono una tecla se come la ultima que precione. por ejemplo si preciono 1 me agrega 1_ hasta ahi todo bien pero cuando preciono otra ves un numero me hace esto 2__ otra ves 3___ y asi.
creo que el problema esta en que primero occurre el evento ongeteditmask y despues el keypress asi no alcanza a actualizarse.
aquí mi código
Código Delphi
[-]
procedure Tfcotizacion.StringGrid1GetEditMask(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
if (ACol = 3) then value:=LM2.Strings[arow-1] else
Value := EmptyStr;
end;
procedure Tfcotizacion.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
var lastcol,lastrow:string;
begin
row:=arow; col:=acol;
end;
procedure Tfcotizacion.StringGrid1KeyPress(Sender: TObject; var Key: Char);
var lm,texto,lMA,o:string;
x,lo,ban:integer;
begin
k:=ord(key);
if (k>=48) and (k<=57) then
begin
if (col=2) then
begin
ban:=1;
lm:=LM1.strings[row-1]; lo:= length(lm);
insert('0',lm,2); lm1.Strings[row-1]:=lm;
end
else if col=3 then
begin
ban:=2;
lm:=LM2.strings[row-1];
lo:=length(lm);
insert('0',lm,2);
lm2.Strings[row-1]:=lm;
o:=inttostr(k);
texto:=stringgrid1.Cells[col,row]+key;
stringgrid1.Cells[col,row]:='';
stringgrid1.Cells[col,row]:=texto;
end;
por cierto esto lo hago por que el problema de una mascara de entrada es que si se salta un espacio designado este lo deja en blanco y no se reccorre ni nada y se ve feo ya lo he lograda en un maskedit ya no me deja los espacios en blanco pero aca en el stringgrid el rollo es mas complicado