Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: CL | DM;

Вниз

Пустая переменная   Найти похожие ветки 

 
F@T@L_Err0r ©   (2007-10-25 10:02) [0]

Здравствуйте.Подкажите пожалуйста где ошибка.Парюсь уже два дня не могу понять почему переменная link после присваивания ей значения остается пустой?Вот код:
Procedure CopyFiles(S:String);
var F:TSearchRec;
Link,from:string;
begin
if FindFirst(s,faanyfile,f)=0 then
begin
 while FindNext(f)=0 do
 begin
  link:=ExtractFilePath(f.Name);
   if CopyFile(PChar(link),PChar(from),false) then ShowMessage("Copied")
    else ShowMessage("Not Copy");
 end;


 
clickmaker ©   (2007-10-25 10:05) [1]

а с чего бы в f.Name должен быть полный путь?
И как ты собирался копировать папку функцией CopyFile?


 
F@T@L_Err0r ©   (2007-10-25 10:08) [2]

А ето ваще пробный пример.а как можно получить полный путь для копирования из F,и как копировать папку?


 
Ins ©   (2007-10-25 10:09) [3]

Да у вас и связочка FindFirst-FindNext неправильная. Во-первых, пропускате первый найденный, а во вторых - забываете про FindClose


 
stone ©   (2007-10-25 10:09) [4]

ошибок вагон
1. Как ты думаешь, какие файлы будут при faanyfile?
2. if FindFirst(s,faanyfile,f)=0 then
begin
while FindNext(f)=0 do
при таком коде ты первый файл игнорируешь, сразу переходя к следующему


 
F@T@L_Err0r ©   (2007-10-25 10:12) [5]

Ну ето все панятна...Исправил...Но почему же всетаки переменная link остается пустой???
И F@T@L_Err0r ©   (25.10.07 10:08) [2] ???


 
clickmaker ©   (2007-10-25 10:13) [6]


> как можно получить полный путь для копирования

а в S что?


 
F@T@L_Err0r ©   (2007-10-25 10:14) [7]

В S находится значение Edit1.text.


 
stone ©   (2007-10-25 10:14) [8]

зачем тебе его получать, если ты его передаешь?
> if FindFirst(s


 
F@T@L_Err0r ©   (2007-10-25 10:17) [9]

У меня там s+*.*...А как отрезать ето я не знаю...Что то там Copy...??


 
clickmaker ©   (2007-10-25 10:27) [10]


> [7] F@T@L_Err0r ©   (25.10.07 10:14)
> В S находится значение Edit1.text

да ты чё? ну тогда все ясно

Серьезно, если в s - путь к папке, то полный путь = s + "\" + f.Name


 
F@T@L_Err0r ©   (2007-10-25 10:35) [11]

С Copy разобрался.Но он копирует право...а как сделать так чтобы он копировал влево?


 
Правильный_Вася   (2007-10-25 10:43) [12]


> чтобы он копировал влево?

или взад


 
Сергей М. ©   (2007-10-25 11:09) [13]


> Парюсь уже два дня


И не надоело ?
Нет бы справку почитать - там и примерчик имеется)

Или чукча не читатель ?)


 
Правильный_Вася   (2007-10-25 11:11) [14]


> Парюсь уже два дня

пар костей не ломит


 
Игорь Шевченко ©   (2007-10-25 11:18) [15]

Интересно, а существует корреляция между количеством знаков @ в нике и степенью незнания и нежелания знать матчасть ?


 
clickmaker ©   (2007-10-25 11:20) [16]


> пар костей не ломит

ПАР костей не ЛАМЕНТ
(с) "Generation P"


 
Ins ©   (2007-10-25 11:20) [17]


> Игорь Шевченко ©   (25.10.07 11:18) [15]

Тут скорее другое явление. Как яхту назовешь, так она и поплывет.


 
stone ©   (2007-10-25 11:29) [18]


> Игорь Шевченко ©   (25.10.07 11:18) [15]
> Интересно, а существует корреляция между количеством знаков
> @ в нике и степенью незнания и нежелания знать матчасть
> ?

С чего начинаются хакеры,
С подсмотра пароля на root,
И ника из слэшей и скобочек,
Без коего хакер не крут.


 
F@T@L_Err0r ©   (2007-10-25 12:52) [19]

Я делаю так:
temp:=copy(s,Pos(s,"*"),3);
и получается temp=*.*
а мне нада то что слева...
подкажите плиз...в справке такого нет.


 
clickmaker ©   (2007-10-25 12:54) [20]


> [19] F@T@L_Err0r ©   (25.10.07 12:52)

подсказка: то, что слева, начинается с позиции 1


 
F@T@L_Err0r ©   (2007-10-25 13:05) [21]

но мне надо найти символ -* и начиная с него включительно вырезать все что после.Что я делаю не так???Подкажите пожалуйста.


 
stone ©   (2007-10-25 13:32) [22]

Ты копируешь 3 символа начиная с позиции *
А тебе надо скопировать все символы до позиции *


 
F@T@L_Err0r ©   (2007-10-25 13:35) [23]

А где задать КАК копировать слева или справа???


 
stone ©   (2007-10-25 13:45) [24]


> А где задать КАК копировать слева или справа???

Ты всегда копируешь слева. Начиная с 1-го символа.


 
stone ©   (2007-10-25 13:50) [25]


> Начиная с 1-го символа.

начинается с 1-го символа.
pos("*") возвращает тебе индекс символа
в твоем случае, применяя pos("*") ты копируешь не с 1-го символа, а с того, который тебе вернула функция pos("*")


 
F@T@L_Err0r ©   (2007-10-25 13:50) [26]

а как узнать длинну строки sюююведь нада знать сколько отрезать -  s:=Copy(s,pos(s,"*"),?);


 
Palladin ©   (2007-10-25 13:55) [27]

Length(s) не ошибешся


 
Palladin ©   (2007-10-25 13:56) [28]

это если до конца, если до определенной позиции, то знак -, проходимый в начальных классах школы, тебе поможет


 
Германн ©   (2007-10-25 14:04) [29]

А ведь есть ещё и процедура Delete.
О сколько нам...
:-)


 
Anatoly Podgoretsky ©   (2007-10-25 15:04) [30]

Не пятница, но с успехом перекрыто.



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

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
1-1188367751
elserpiente
2007-08-29 10:09
2007.11.18
Просмотреть имя пользовотеля в ODBS DSN


8-1154587038
vladimirg88
2006-08-03 10:37
2007.11.18
Звук при загрузке формы


15-1192348434
KKKL
2007-10-14 11:53
2007.11.18
Zip/UnZip


2-1193242294
smartleds
2007-10-24 20:11
2007.11.18
Коллеги подскажите , плз как в StringGrid число в ячейки вывести


15-1191588720
Vlad Oshin
2007-10-05 16:52
2007.11.18
Шахматы. Система Тайманова в сицилианской