Cita:
|
Empezado por dec
Alguna forma ha de haber de lograr hacer desaparecer de la memoria el número de serie correcto una vez utilizado por el programa.
|
¿Y si enfocamos el tema de otra manera?
En lugar de borrarlo, que no aparezca. Tal vez me he perdido algo, pero creo que es posible...
Se trata de hacer el cálculo sin asignar el SN en ningun sitio.
Por ejemplo,
este programa; He seguido los pasos (con el WinHex) para encontrar en Serial Correcto en memoria y yo no lo veo.
El procedimiento de cálculo es el siguiente:
Código Delphi
[-]
var
b:Boolean;
i:Integer;
begin
if ((Length(Edit2.Text) - Length(Edit1.Text)) < 2) or
(Length(Edit1.Text) < 4) then begin
MessageDlg('El número de registro es incorrecto', mtWarning, [mbOK], 0);
Exit
end;
b := True;
for i := 0 to (Length(Edit1.Text) - 1) do begin
b := b and (Edit1.Text[i] = Edit2.Text[i]);
end;
b := b and (Edit2.Text[i + 1] = 'S');
b := b and (Edit2.Text[i + 2] = 'N');
if (b) then begin
MessageDlg('El registro se ha completado correctamente.', mtInformation, [mbOK], 0);
end
else begin
MessageDlg('El número de registro es incorrecto', mtWarning, [mbOK], 0);
end;
Como véis es muy "cutre", pero el número correcto no se asigna.