Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
1

Проверка файла на наличие

17.01.2018, 19:56. Показов 3315. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, как проверить на наличие файла ?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 begin
    fName := ChangeFileExt(OpenDialog1.FileName, '.result');
    // задает файлу расширение result
    dL := TStringList.Create;
    sL := TStringList.Create;
    for i := 0 to StringGrid1.RowCount - 1 do
    begin
      StringGrid1.Rows[i].Delimiter := #9;
      if TryStrToInt(StringGrid1.Cells[0, i], tmp) then
        dL.Add(StringGrid1.Rows[i].DelimitedText)
      else
        sL.Add(StringGrid1.Rows[i].DelimitedText);
    end;
    if sL.Count > 1 then
      sL.Sort;
    if dL.Count > 1 then
      dL.CustomSort(DigitSort);
    slFile.Text := dL.Text;
    for i := 0 to sL.Count - 1 do
      slFile.Add(sL.Strings[i]);
    if FileExists(fName) then
    begin
      slFile.SaveToFile(fName);
    end
    else
    begin
      ShowMessage('Файл с таким именем уже существует');
    end
  end;
end;
На наличие проверяю через
Delphi
1
   if FileExists(fName) then
но он смотрит только на имя файла, а на расширения не обращает как это исправить?
изначально txt файл, а на выходе result
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2018, 19:56
Ответы с готовыми решениями:

Проверка на наличие файла
Всем привет! Нужно проверить, существует ли файл (Например, C:/1.txt) и по результатам этой...

Проверка на наличие файла
Добрый день. Прошу помощи по такому вопросу: имеется поле для ввода Memo1. добавляю таймер. При...

Проверка файла на наличие в нем кода на Паскале
помогите пожалуйста написать процедуру,которая проверяет, действительно ли текст является кодом на...

Проверка на наличие Флешки
помогите сделать сканер карт памяти , если к компу подкл. именно флешку: (съемный накопитель), то...

11
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
17.01.2018, 20:05 2
Так напишите расширение, например
Delphi
1
if FileExists(fName+'.txt') then
1
Модератор
9455 / 6208 / 2419
Регистрация: 21.01.2014
Сообщений: 26,461
Записей в блоге: 3
17.01.2018, 20:23 3
SpartanecLexa, что-то Вы ерунду пишете
if FileExists(fName) then //Если файл существует
begin
slFile.SaveToFile(fName);
//Сохраняем СтрингЛист в этот файл...
//(Зачем эта проверка вообще нужна?
//И так все прекрасно сохранится, есть этот файл или нет его
end
else
//иначе (по логике вещей, если файл не существует)
begin
ShowMessage('Файл с таким именем уже существует');
//???
end
1
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
17.01.2018, 20:55  [ТС] 4
Цитата Сообщение от Puporev Посмотреть сообщение
Так напишите расширение, например
написал так
Delphi
1
2
3
4
5
6
7
8
 if FileExists(fName+'.result') then
    begin
      ShowMessage('Файл с таким именем уже существует');
    end
    else
    begin
      slFile.SaveToFile(fName);
    end
но почему то не работает, файл просто перезаписывается

Добавлено через 1 минуту
Цитата Сообщение от D1973 Посмотреть сообщение
что-то Вы ерунду пишете
местами забыл поменять т.к. сразу пробовал так писать
Delphi
1
if fName='' then
0
Модератор
9455 / 6208 / 2419
Регистрация: 21.01.2014
Сообщений: 26,461
Записей в блоге: 3
17.01.2018, 21:10 5
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
написал так
Не надо там ничего дописывать, все прекрасно меняется...
Миниатюры
Проверка файла на наличие  
0
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
17.01.2018, 21:17  [ТС] 6
Цитата Сообщение от D1973 Посмотреть сообщение
Не надо там ничего дописывать, все прекрасно меняется...
Оно меняется, но перед тем как поменять файл, программа должна сразу проверить, если файл с таким именем и расширением
0
пофигист широкого профиля
4753 / 3188 / 861
Регистрация: 15.07.2013
Сообщений: 18,448
18.01.2018, 02:44 7
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
На наличие проверяю через

if FileExists(fName) then
но он смотрит только на имя файла, а на расширения не обращает
Это бред! Функция FileExists принимает в качестве параметра полное имя файла с путём к нему и с расширением!
0
Модератор
9455 / 6208 / 2419
Регистрация: 21.01.2014
Сообщений: 26,461
Записей в блоге: 3
18.01.2018, 08:01 8
Цитата Сообщение от SpartanecLexa Посмотреть сообщение
но перед тем как поменять файл, программа должна сразу проверить
Я ничего не могу понять, в чем у Вас заковыка-то?
Delphi
1
2
3
4
5
6
7
8
9
10
11
if not OpenDialog1.Execute then Exit;
 fName := ChangeFileExt(OpenDialog1.FileName, '.ext');
 if FileExists(fName)
  then begin
         ShowMessage('Exists');
         //Действия, если файл существует
       end
 else begin
        ShowMessage('Not Exists');
        //Действия, если файл не существует
      end;
Вся проверка: есть файл - делаете одно, нет - делаете другое... Вы поймите, что вот этой строкой кода
Delphi
1
fName := ChangeFileExt(OpenDialog1.FileName, '.ext');
Вы НЕ меняете расширение реального файла на диске, вы только меняете значение строковой переменой, в которой хранится имя файла. Цитата из хэлпа:
ChangeFileExt does not rename the actual file, it just creates a new file name string
1
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
18.01.2018, 19:03  [ТС] 9
Цитата Сообщение от D1973 Посмотреть сообщение
Я ничего не могу понять, в чем у Вас заковыка-то?
Программа работает, только она 2 раза открывает окно для выбора файла
Проверка файла на наличие
2) выбираем нужный нам файл
Проверка файла на наличие

Проверка файла на наличие
3)
Нажмите на изображение для увеличения
Название: 3.PNG
Просмотров: 6
Размер:	103.4 Кб
ID:	903294
данные заносятся в string grid, и сразу же открывается окно для выбора файла, выбираем повторно это файл и тогда уже выскакивает окно что файл существует
Проверка файла на наличие

Есть возможность чтобы не нужно было 2 раза открывать один и тот же файл? один раз нажал и у нас появилось окно с ошибкой если этот файл уже есть
0
Модератор
9455 / 6208 / 2419
Регистрация: 21.01.2014
Сообщений: 26,461
Записей в блоге: 3
19.01.2018, 04:54 10
Ну вот, все пришло к тому, что надо смотреть Ваш код (именно Ваш, потому, что у меня ничего и никуда второй раз не вылазит). Выкладывайте проект, так проще разобраться будет.
0
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 252
19.01.2018, 11:44  [ТС] 11
Цитата Сообщение от D1973 Посмотреть сообщение
Ну вот, все пришло к тому, что надо смотреть Ваш код (именно Ваш, потому, что у меня ничего и никуда второй раз не вылазит). Выкладывайте проект, так проще разобраться будет.
Задание 1.rar 3.txt задание и пример txt файла
0
Модератор
9455 / 6208 / 2419
Регистрация: 21.01.2014
Сообщений: 26,461
Записей в блоге: 3
19.01.2018, 15:07 12
Лучший ответ Сообщение было отмечено SpartanecLexa как решение

Решение

SpartanecLexa, ну и огород Вы там нагородили...
Вложения
Тип файла: rar Задание 1.rar (3.6 Кб, 17 просмотров)
1
19.01.2018, 15:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2018, 15:07
Помогаю со студенческими работами здесь

Проверка на наличие/существования файлов
:) доброго времени суток!!! снова я :D проблема: не работает поиск на существование заранее...

Проверка на наличие CD диска в дисководе
День добрый! Нужна проверка на наличие CD диска в дисководе ... какая функция для этого...

Проверка на наличие определенного числа в таблице
у меня есть программа которая считает сумму введенных чисел в таблице по строкам и столбцам. надо...

Проверка папки на наличие ini файлов
Такая ситуация. Я организовал програмку-тест, результат теста она выводит в ini файлы в папку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru