Free Pascal – скорочення значення строкової змінної до заданого символу

Інколи під час програмування виникає потреба скоротити значення строкової змінної до заданого символу. Наприклад, ми маємо папку з навою D:\WORK-PAS\2024. Нам треба, щоб після певної дії, програма перейшла в папку вищого рівня D:\WORK-PAS\.

Для цього нам потрібно скоротити строку D:\WORK-PAS\2024 до першого з правого боку символу “\”. Потім за допомогою команди chdir перейти в папку вищого рівня. Пропоную вашій увазі, створену мною, функцію RigthTruncateToChar, яка скорочує значення строкової змінної до заданого символу.

Розглянемо приклад програми.

program example07;

uses StrTools;
var
CurrentDir: string;
Begin
CurrentDir := GetCurrentDir;
Writeln(CurrentDir);
//
CurrentDir:=RigthTruncateToChar('\',CurrentDir);
chdir(CurrentDir);
//
CurrentDir := GetCurrentDir;
Writeln(CurrentDir);
end.

Цей приклад може бути корисним при створенні програм на кшталт файлового менеджера.

Текст юніту, який треба включити в програму.

unit StrTools;

interface

function RigthTruncateToChar(ch:string; s:string):string;

implementation

function RigthTruncateToChar(ch:string; s:string):string;
Label 1;
var
n:integer;
Begin
if pos(ch,s)>0 then
Begin
1:
n:=length(s);
if s[n]<>'\' Then Begin Delete(s,n,1); goto 1; end;
if s[n]='\' Then RigthTruncateToChar:=s;
end;//if
end;//function
/////////
end.


Коментарі

Популярні дописи з цього блогу

Антивірусний захист ПК за допомогою безкоштовних антивірусів

Як додати або видалити мову та розкладку клавіатури у Windows 10?

Як відновити роботу Microsoft Store у Windows 10?