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

Вниз

Есть вопрос к Мастерам!   Найти похожие ветки 

 
GUYARD   (2002-05-06 21:01) [0]

Проблема вот в чем:

Есть папка, в ней лежат несколько файлов:
C:\papka\file1.txt
C:\papka\file2.txt
C:\papka\file3.txt
C:\papka\file5.txt
C:\papka\file6.txt
C:\papka\file7.txt
C:\papka\file10.txt

Как вы видите, в конце имени каждого файла, есть его номер от 1 до …
Они могут идти по порядку, а может некоторых недоставать!
Как программно посмотреть, идут ли файлы по порядку или нет, причем количество их неизвестно! Если по порядку то в Label1.Caption пишем имя файла, который должен идти следующим, если нет тут уже сложнее, надо посмотреть какова файла первым не хватает и записать его имя и путь в Label1.Caption, в нашем случае это C:\papka\file4.txt, следующий уже идет C:\papka\file8.txt! Если бы все файлы в этой папке шли по порядку тогда в Label1.Caption было бы написано C:\papka\file11.txt!

А теперь, мастера, самое главное – КАК ЭТО ВСЕ СДЕЛАТЬ?
Помогите мне, пожалуйста!
Очень, очень прошу!
Заранее благодарен!


 
Song ©   (2002-05-06 22:11) [1]

Цикл. Если очередной файл не будет найден, значит файлы идут не по порядку.


 
VID ©   (2002-05-06 22:24) [2]

ну да, типа того :)


 
poisn ©   (2002-05-07 05:08) [3]

var s:string
i:integer=0;
X:integer;
begin
X:=GetNumOfMaxFile;
repeat
if (not FileExists("file"+inttostr(i))) and (s="") then s:="file"+inttostr(i);
inc(i);
until i<=X
if s<>"" then
label1.caption:=s else label1.caption:="file"+inttostr(x);
end;


 
GUYARD   (2002-05-07 18:02) [4]

Нет, не выходит! :(
Неправильно она считает!
:(
Напишите нормальный пример, пожалуйста!
Заранее благодарю!


 
Man-In-Red ©   (2002-05-07 18:31) [5]

Вот код, правда, немножко корявый, но работает!

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
begin
i := 1;
repeat
if fileexists("C:\papka\file"+inttostr(i)+".txt") then
begin
s := "C:\papka\file"+inttostr(i)+".txt";
i := i+1;
end;
until fileexists("C:\papka\file"+inttostr(i)+".txt")=false;
if fileexists("C:\papka\file"+inttostr(i)+".txt")=false then
s := "C:\papka\file"+inttostr(i)+".txt";
label1.Caption := s;
end;




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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
6-64768
plash07
2002-03-05 15:36
2002.05.20
преобразование документа HTML в XHTML


4-64865
Vilux
2002-03-19 05:44
2002.05.20
Активное окно


4-64873
matthew_v
2002-03-18 13:01
2002.05.20
Чтение и разбор spool-файла.


3-64518
Helgy
2002-04-23 10:07
2002.05.20
TQuery, dataSource - в dll


3-64457
kronprince
2002-04-24 17:02
2002.05.20
Странный глюк ClientDataSet.Locate() - не локатит