Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Точки   Найти похожие ветки 

 
Anton777 ©   (2004-08-12 10:58) [0]

Помогите профессионалы! Я получаю своей функциейсписок папок и вложенных в них папок и каждый раз в отчёте получаю вместе со спиком вот такую вещь C:\anton\.
                     C:\anton\..
                     C:\anton\temp\
                     C:\anton\temp\.
                     C:\anton\temp\..
Что это за точки и как с ними бороться и их искусственно убираю с помощью Trim но это не выход помогите Заранее спасибо!


 
Ega23 ©   (2004-08-12 11:01) [1]

Свою функцию - в студию!


 
Skyle ©   (2004-08-12 11:03) [2]


> Anton777 ©   (12.08.04 10:58)

Точки - это правильно, а вот то, что ты не можешь их проигнорировать - уже вопрос. Для этого нужен код, как сказано в

> [1] Ega23 ©   (12.08.04 11:01)


 
_student   (2004-08-12 11:04) [3]

.. -  наддиректория
. - сама

if (sr.Name <> ".") and (sr.Name <> "..")


 
Anatoly Podgoretsky ©   (2004-08-12 11:05) [4]

И код функции Trim также в студию


 
Anton777 ©   (2004-08-12 11:16) [5]

procedure GetLstFolder(const WorkDir:String;//&#228;&#235;&#255; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224;=================================
                      var IncludeDir:TstringList);//&#226;&#238;&#231;&#226;&#240;&#224;&#249;&#224;&#229;&#242; &#241;&#239;&#232;&#241;&#238;&#234; &#226;&#235;&#238;&#230;&#229;&#237;&#237;&#251;&#245; &#239;&#224;&#239;&#238;&#234;
var ii:integer;
   bufLST:TStringList;
   FileRec:TSchFileR;
   FileAttrs: Integer;
   s:string;

begin
bufLST:=TStringList.Create;//&#241;&#238;&#231;&#228;&#224;&#229;&#236; &#241;&#239;&#232;&#241;&#238;&#234; &#244;&#224;&#233;&#235;&#238;&#226; &#226;&#245;&#238;&#228;&#237;&#238;&#227;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224;
try
FileAttrs:=0;//&#231;&#224;&#228;&#224;&#242;&#252; &#224;&#242;&#240;&#232;&#225;&#243;&#242;&#251; &#244;&#224;&#233;&#235;&#224; &#228;&#235;&#255; &#239;&#238;&#232;&#241;&#234;&#224; &#237;&#243;&#230;&#237;&#251;&#245; &#244;&#224;&#233;&#235;&#238;&#226;
FileAttrs := FileAttrs + faDirectory;//&#232;&#241;&#234;&#224;&#242;&#252; &#242;&#238;&#235;&#252;&#234;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#232;
FileRec.FileAtt:=FileAttrs;
FileRec.WorkDir:=WorkDir;
GetSimpleLstFile(FileRec,bufLST);//&#239;&#238;&#235;&#243;&#247;&#232;&#235;&#232; &#241;&#239;&#232;&#241;&#238;&#234; &#244;&#224;&#233;&#235;&#238;&#226; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224;
                                                               // bufLST.SaveToFile("bufLST.111");
for ii:=0 to bufLST.Count-1 do//&#239;&#229;&#240;&#229;&#225;&#232;&#240;&#224;&#229;&#236; &#226;&#241;&#229; &#239;&#224;&#239;&#234;&#232; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238;(&#226;&#245;&#238;&#228;&#237;&#238;&#227;&#238;) &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224;
  begin//&#228;&#235;&#255; &#234;&#224;&#230;&#228;&#238;&#233; &#239;&#224;&#239;&#234;&#232; &#240;&#224;&#225;&#238;&#247;&#229;&#227;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224; &#232;&#249;&#229;&#236; &#226;&#235;&#238;&#230;&#229;&#237;&#237;&#251;&#229; &#239;&#224;&#239;&#234;&#232;
  s:=Trim(bufLST.Strings[ii]);
  while (s[Length(s)]=".") do s:=Trim(Copy(s,1,Length(s)-1));
  if not ((s[Length(s)]="/")or(s[Length(s)]="\")) then s:=s+"\";
  if s<>WorkDir
     then begin
          IncludeDir.Add(s);//&#228;&#238;&#225;&#224;&#226;&#232;&#242;&#252; &#226; &#227;&#235;&#238;&#225;&#224;&#235;&#252;&#237;&#251;&#233; &#241;&#239;&#232;&#241;&#238;&#234; &#238;&#247;&#229;&#240;&#229;&#228;&#237;&#238;&#233; &#237;&#224;&#233;&#228;&#229;&#237;&#237;&#251;&#233; &#234;&#224;&#242;&#224;&#235;&#238;&#227;
          GetLstFolder(s,IncludeDir);//&#232;&#241;&#234;&#224;&#242;&#252; &#226;&#237;&#243;&#242;&#240;&#232; &#237;&#224;&#233;&#228;&#229;&#237;&#237;&#238;&#227;&#238; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#224;(&#226;&#251;&#231;&#226;&#224;&#242;&#252; &#241;&#224;&#236; &#241;&#229;&#225;&#255;)
          end;
  end;

finally bufLST.Free; end;


 
Плохиш ©   (2004-08-12 11:20) [6]


> Anton777 ©   (12.08.04 11:16) [5]

Что _student   (12.08.04 11:04) [3] ну совсем не помогло?


 
_student   (2004-08-12 11:23) [7]

Комментарий бы почитать


 
Anatoly Podgoretsky ©   (2004-08-12 11:28) [8]

Да нет смысла, и без комментариев видно искажение имен папок.
А вот код функции TRIM которая якобы удаляет точки так и не приведен.


 
Anton777 ©   (2004-08-12 11:31) [9]

rims leading and trailing spaces and control characters from a string.

Unit

Sysutils

Category

string handling routines

function Trim(const S: string): string;

Description

Trim removes leading and trailing spaces and control characters from the given string S.


 
Ega23 ©   (2004-08-12 11:32) [10]

2 Anton777 ©   (12.08.04 11:31) [9]

Речь-то идёт о ПРОБЕЛАХ! А не о точках.


 
VMcL ©   (2004-08-12 11:33) [11]

>>Anton777 ©  (12.08.04 11:31) [9]

Функция SysUtils.Trim не удаляет точки.


 
Anton777 ©   (2004-08-12 11:34) [12]

Именно trim убирает пробелы до между и перед точками а COPY удаляет эти точки!


 
Anton777 ©   (2004-08-12 11:35) [13]

Returns a substring of a string or a segment of a dynamic array.

Unit

System

Category

string handling routines

function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;

Description

S is an expression of a string or dynamic-array type. Index and Count are integer-type expressions. Copy returns a substring or sub array containing Count characters or elements starting at S[Index].

If Index is larger than the length of S, Copy returns an empty string or array.

If Count specifies more characters or array elements than are available, only the characters or elements from S[Index] to the end of S are returned.

Note: When S is a dynamic array, Copy can only be used as a parameter in a call to a procedure or function that expects an array parameter. That is, it acts like the Slice function when working with dynamic arrays.


 
Anatoly Podgoretsky ©   (2004-08-12 11:36) [14]

Anton777 ©   (12.08.04 10:58)  
Что это за точки и как с ними бороться и их искусственно убираю с помощью Trim

Не мучайся, а посмотри в FAQ примеры сканирования папок и файлов.


 
Anatoly Podgoretsky ©   (2004-08-12 11:37) [15]

Anton777 ©   (12.08.04 11:34) [12]
Пробелы в конце и начали убирать неверно, особенно если эти имена в дальнейшем предполагается использовать, это будут уже другие имена, несуществующие.


 
Anton777 ©   (2004-08-12 11:39) [16]

Так я убираю только то что с точками вот посмотри на эту строку
while (s[Length(s)]=".") do s:=Trim(Copy(s,1,Length(s)-1));
 if not ((s[Length(s)]="/")or(s[Length(s)]="\")) then s:=s+"\";


 
Sun bittern ©   (2004-08-12 11:42) [17]

Anton777 ©   (12.08.04 11:34) [12]

Поищите ответ в FAQ (рекурсивный поиск файлов), а там и под каталоги переделаете


 
Anatoly Podgoretsky ©   (2004-08-12 11:42) [18]

Очень странная строка по уничтожению имен файлов. Еще раз смотри [14]


 
Anton777 ©   (2004-08-12 11:45) [19]

ВСЕМ СПАСИБО РАЗОБРАЛСЯ !!!!!!!!!!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.033 c
4-1090068936
banderas
2004-07-17 16:55
2004.08.29
При старте проги сразу в tray


14-1092054589
gn
2004-08-09 16:29
2004.08.29
В Японии хотят сделать SMS-игру «Ночной дозор»


14-1091848578
Думкин
2004-08-07 07:16
2004.08.29
С днем рождения! 7 августа


4-1089911371
BBoost
2004-07-15 21:09
2004.08.29
GetWindowDC


1-1092288096
Марат
2004-08-12 09:21
2004.08.29
Изменение StringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский