12-11-2018, Saat: 16:22
Hepsi bir arada. Çok doğru bulmuyorum ama hepsi bir arada oldu. Bazen kafa karışıklığına neden oluyor. Ayrı olması daha anlaşılır ve müdahale etmesi basit oluyor.
TDirection = (tdLeft, tdRight);
TFunctionMode = (fmGet, fmDel);
...
function getLeftRightStr(pSource: string; pCount: Integer; pDirection: TDirection = tdLeft; pMode: TFunctionMode = fmGet): string;
...
function TfrmMain.getLeftRightStr(pSource: string; pCount: Integer; pDirection: TDirection; pMode: TFunctionMode): string;
var
n1, nLen: Integer;
begin
nLen := Length(pSource);
if pMode = fmGet then begin
if pDirection = tdLeft then begin
Result := MidStr(pSource, 1, pCount);
//ShowMessage(getLeftRightStr('DelphiCan', 3, tdLeft, fmGet)); //Soldan 3 karakteri ver. Çıktı: "Del"
end else if pDirection = tdRight then begin
Result := MidStr(pSource, nLen-pCount+1, pCount);
//ShowMessage(getLeftRightStr('DelphiCan', 3, tdRight, fmGet)); //Sağdan 3 karakteri ver. Çıktı: "Can"
end;
end else if pMode = fmDel then begin
if pDirection = tdLeft then begin
Result := MidStr(pSource, pCount+1, nLen-pCount);
//ShowMessage(getLeftRightStr('DelphiCan', 6, tdLeft, fmDel)); //Soldan 6 karakteri sil. Çıktı: "Can"
end else if pDirection = tdRight then begin
Result := MidStr(pSource, 1, nLen-pCount);
//ShowMessage(getLeftRightStr('DelphiCan', 3, tdRight, fmDel)); //Sağdan 3 karakteri sil. Çıktı: "Delphi"
end;
end;
end;
PostgreSQL - Linux - Delphi, Poliüretan

