Witam pytanie jest troche pogmatwane ale ci ktorzy znają sie na stringach to mi mam nadzieje pomogą.
Mam zapisane w memo/lub pliku textowym ścieżki katalogow wyglada to mniej wiecej tak
G:\
G:\windows\
G:\windows\bleble\
po odpowiednim sformatowaniu ma tak
- usuwac powtarzające sie scieżki * to zrobiłem :-)
- usuwać litery dusków jeżeli jest bez zadnych podkatalogów * to tesh zrobiłem:-))
- ma usuwać litery dyskow zostawiając jedną np
G:\
G:\
G:\windows\
G:\windows\bleble\
robi na
G
\windows\
\windows\bleble\
- to tesh zrobiłem :-)))
ale ma jeszcze jedną żecz robić dodawac Tabulatory i usuwać slesze i tego nie potrafie niestety
jak mam np.
G:\
G:\
G:\windows\
G:\windows\bleble\
to ma mi zrobic
G
[tabulator]windows
[tabulator][tabulator]bleble i tak [tabulator] +1 im wiecej podkatalogów
teraz podam kodzik niektore zminne są na razie nie używane ...
*-------------------------------------- Moj kodzik ----------------------------------
var
AA,s,d,a,b,c,T,Q,W:string;
l,k,j,n,E,I:integer;
begin
W:=; s:=
;
*----- kasowanie powtarzajacych sie sciezek------------------------------------
for i:=0 to memo1.Lines.Count -1 do begin
Q:=Memo1.Lines.Strings[i];
a:=Memo1.Lines.Strings[i+1];
if Q = a then begin
Delete(a,1,Length(a));
end else begin
*----- koniec kasowania -------------------------------------------------------
if Pos(Q[1],W) = 0 then begin
W:=W + Q[1];
if Length(Q) = 3 then begin
Delete(Q,1,4);
end;
c:=copy(Q,1,1);
d:=copy(Q,3,Length(Q));
if c <>then Memo2.Lines.Add(c); if d <>
then begin - tu powinno byc dodawanie tabulatorów >>
Repeat
k:=Pos('\',d);
Delete(d,1,1);
n:=Pos('\',d);
AA:=Copy(d,k,n);
Memo2.Lines.Add(s+AA);
s:=s + #9; - ash dotąd <<
until n = 0;
end;
end
else begin - i tu też powinno byc dodawanie tabulatorów >>
Delete(Q,1,2);
if Q <>'' then
Memo2.Lines.Add(Q); - aż dotąd <<
end;
end;
end;
end;---= pozdrawiam Oskar =- (delphi 6 GG:2792614)