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

Вниз

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

 
zdm   (2008-04-18 16:25) [0]

Мастера, помогите... не могу растормозиться.. смысл, в директории есть файлы, она вскрывается(директория) накохдится первый файл и далее... выдает ошибку на Reset когда .. AssignFile проходит.. вот примерный код.

procedure TFormOsn.DirectoryEditSourceChange(Sender: TObject);
var T:TextFile;
   S:TSearchRec;
   Str:String;
begin
 FindFirst(pchar(DirectoryEditSource.LongName+"/*.*"),faAnyFile,S); //ищем первое вхождение
 while FindNext(s)=0  do // пока незакончится поиск ... делаем
 begin

   if (s.Name<>"..") or (s.Name<>".") then
   begin
     ShowMessage(s.Name);
     AssignFile(T,pchar(DirectoryEditSource.LongName+"\"+s.Name)); //ассоциируем файл текстовиков
     Reset(T);
     while not Eof(t) do // пока читаем текст, файла вносим в таблицу данные
     begin
       Readln(t,str);
       ShowMessage(str);
     end;
   end;    
 end;


 
Dennis I. Komarov ©   (2008-04-18 16:30) [1]

На вскидку - закрывать файл Пушки будет?


 
zdm77   (2008-04-18 16:31) [2]

да закроем канешь... говорюж пока ток на вскидку код... на Reset ошибка уже


 
zdm77   (2008-04-18 16:32) [3]

при первом вхождении


 
Ёжик   (2008-04-18 16:32) [4]

procedure AssignFile(var F; FileName: string);
где ты нашел Pchar?


 
Dennis I. Komarov ©   (2008-04-18 16:32) [5]

Ошибка секретная?


 
Palladin ©   (2008-04-18 16:34) [6]


>   if (s.Name<>"..") or (s.Name<>".") then

какое интересное условие :)


> AssignFile(T,pchar(DirectoryEditSource.LongName+"\"+s.Name));

PChar то на кой? ужос просто...


>  FindFirst(pchar(DirectoryEditSource.LongName+"/*.*"),faAnyFile,
> S); //ищем первое вхождение

первое вхождение нашли и тут же!


> while FindNext(s)=0  do

его послали на хутор бабочек ловить

кошмар

фильтра на папки нет, открытый файл не закрывается... такое безудержное желание за метлой послать...


 
zdm77   (2008-04-18 16:38) [7]

да пропуск типа если попал на папки ".." или "." первые вхождения в директории... а дальше что найдет то и читать.. результ функции финднекст возвращает ноль если нашел.

> Palladin ©   (18.04.08 16:34) [6]

Да скажи плиз попроще.. или прим код приведи..где глюк.. Спс заранее


 
Palladin ©   (2008-04-18 16:40) [8]

какое именно слово непонятно?


 
zdm77   (2008-04-18 16:40) [9]

if (s.Name<>"..") or (s.Name<>".") then
   begin

почему када делаю дальше ShowMessage(s.Name); он мне показывает ".."?


 
Palladin ©   (2008-04-18 16:41) [10]

что такое када?


 
zdm77   (2008-04-18 16:42) [11]


> Palladin ©   (18.04.08 16:40) [8]

не могу растормозиться.. поправь плиз что не так в коде


 
zdm77   (2008-04-18 16:42) [12]

када=когда


 
Ёжик   (2008-04-18 16:45) [13]

> if (s.Name<>"..") or (s.Name<>".") then
попробуй OR заменить на AND, хотя (как это отметил Palladin) это все лишнее ( не по существу)


 
Palladin ©   (2008-04-18 16:46) [14]

начнем по порядку, голова есть? думаю есть... и хорошо есть... но она должна не только есть, но и думать... я так полагаю...

ты это условие как понимаешь?
if (s.Name<>"..") or (s.Name<>".")
переведи на понятный язык, то есть по русски его проговори


 
zdm77   (2008-04-18 16:47) [15]

ну тогда напомните как задать параметр правильно для поиска НЕ ДИРЕКТОРИЙ.. и сам подумай.. причем сдесь условие И, если может или или быть


 
Palladin ©   (2008-04-18 16:47) [16]


> Ёжик   (18.04.08 16:45) [13]

да это как раз и основное, ему ".." попадается и он ее открывает как текстовый файл... молодец, что еще можно сказать...


 
zdm77   (2008-04-18 16:49) [17]

финдферст делает всегда первое вхождение в директорию как .. и .  т.е. вышестоящие директории.  когда говорю
if (s.Name<>"..") or (s.Name<>".") then
   begin
     ShowMessage(s.Name);
.он первыми и выдает мне ..


 
Anatoly Podgoretsky ©   (2008-04-18 16:49) [18]

> Dennis I. Komarov  (18.04.2008 16:30:01)  [1]

Файл Пушки?


 
Palladin ©   (2008-04-18 16:50) [19]


> zdm77   (18.04.08 16:49) [17]

произнеси его (условие) словами и сюда напиши произношение


 
Anatoly Podgoretsky ©   (2008-04-18 16:50) [20]

> Ёжик  (18.04.2008 16:32:04)  [4]

Ничего страшного, но не по нашенски, может он засланец?


 
Anatoly Podgoretsky ©   (2008-04-18 16:52) [21]

> zdm77  (18.04.2008 16:42:12)  [12]

А так ты слово знаешь, но намеренно применяешь дворовый сленг.



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

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

Наверх





Память: 0.49 MB
Время: 0.068 c
9-1170231355
akaValerius
2007-01-31 11:15
2008.05.18
Указатель на часть массива


2-1208504247
sql
2008-04-18 11:37
2008.05.18
MS SQL 2000


15-1207059668
asdf2
2008-04-01 18:21
2008.05.18
Есливставить вторую видюху и подключить ко второму монитору


6-1185709539
Новичек
2007-07-29 15:45
2008.05.18
Работа с Telnet.


2-1208759834
Виктор
2008-04-21 10:37
2008.05.18
МАС-адресса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский