Haklısını benim hatam, statik girişleri de ters dizilime bırakmışım.
Aşağıdaki gibi deneyebilirsin.
Mouse ile click yapıldığında sıfırlamasın istersen ONEnter kısmındakileri kaldırıp dilediğin şekilde düzenleyebilirsin. Dilersen direkt dakika hanesine konumlandırabilirsin vs. ne istersen
Kod: Tümünü seç
procedure TForm1.Edit1Exit(Sender: TObject);
function TersDizilim( strGiris: String ): string;
Var i : Integer;
begin
Result := '';
for i := Length(strGiris) downto 1
do Result := Result + strGiris[i];
end;
Var
i : Integer;
strDeger, strSonuc : String;
strSa, strDk, strSn : String;
begin
strSa := '0';
strDk := '0';
strSn := '0';
strSonuc := '';
strDeger := '';
if Pos(':', TEdit(Sender).Text) <= 0 then begin
strDk := TEdit(Sender).Text;
end else begin
strDeger := TersDizilim( TEdit(Sender).Text ) + ':';
strSn := Copy( strDeger, 1, Pos(':', strDeger)-1);
system.Delete(strDeger, 1, Pos(':', strDeger));
strDk := Copy( strDeger, 1, Pos(':', strDeger)-1);
system.Delete(strDeger, 1, Pos(':', strDeger));
strSa := Copy( strDeger, 1, Pos(':', strDeger)-1);
system.Delete(strDeger, 1, Pos(':', strDeger));
if strSa = '' then strSa := '0' else strSa := TersDizilim( strSa );
if strDk = '' then strDk := '0' else strDk := TersDizilim( strDk );
if strSn = '' then strSn := '0' else strSn := TersDizilim( strSn );
end;
strSonuc := Format('%.2d:%.2d:%.2d', [ StrToInt(strSa),StrToInt(strDk),StrToInt(strSn) ]);
TEdit(Sender).Text := strSonuc;
end;