Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2012, 16:19   #1
gsl180
Пользователь
 
Регистрация: 24.06.2012
Сообщений: 36
По умолчанию как проверить содержимое txt файла

При старте программа проверяет txt файл и если там есть запись устанавливает таймер на эту запись, но есть файл пустой происходит вылет с программы.
Файл загружается в ListBox
ListBox1->Items->LoadFromFile("save.txt");
Как можно узнать пустой файл или нет?
gsl180 вне форума Ответить с цитированием
Старый 03.11.2012, 16:51   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Примерно так.
Цитата:
if(FileExits("save.txt"))// проверяем существование файла
if(FileRead("save.txt") < 0) break:// Если файл не содержит данных - выход
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 03.11.2012, 17:18   #3
gsl180
Пользователь
 
Регистрация: 24.06.2012
Сообщений: 36
По умолчанию

Я пробовал так и так
Код:
if(FileExists("save.txt")){
h=FileOpen("save.txt",fmOpenWrite);
int n=FileRead(h,"save.txt",1);
Label2->Caption=IntToStr(n);
}
Но n всегда -1 не зависимо пустой файл или нет.

Последний раз редактировалось Stilet; 03.11.2012 в 18:52.
gsl180 вне форума Ответить с цитированием
Старый 03.11.2012, 18:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А FileExists точно файл находит? Он никем не открыт с блокировкой для остальных?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2012, 20:47   #5
gsl180
Пользователь
 
Регистрация: 24.06.2012
Сообщений: 36
По умолчанию

Нет файл он точно находит, потому что такой вариант работает
Код:
TStringList *SL= new TStringList;
if(FileExists("save.txt")){
SL->LoadFromFile("save.txt");
if(SL->Text.Length()>=5){
ListBox1->Items->LoadFromFile("save.txt");
//......
}}
else
h=FileCreat("save.txt");
delete SL;
gsl180 вне форума Ответить с цитированием
Старый 04.11.2012, 18:05   #6
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Код:
TSearchRec info; 
if(FindFirst("save.txt", faAnyFile, info) == 0) {

    info.Size // размер файла в байтах

    FindClose(info);
}
Nuklon вне форума Ответить с цитированием
Старый 06.11.2012, 20:43   #7
gsl180
Пользователь
 
Регистрация: 24.06.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Nuklon Посмотреть сообщение
Код:
TSearchRec info; 
if(FindFirst("save.txt", faAnyFile, info) == 0) {

    info.Size // размер файла в байтах

    FindClose(info);
}
Спасибо работает На Label проверил, только если файл пустой показывает 0, если есть запись показывает размер.
gsl180 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как содержимое файла передать в процедуру ?! stalker1995s Общие вопросы Delphi 11 16.07.2012 03:37
как поместить всё содержимое файла txt в listbox на visual C++ Valuh Помощь студентам 1 02.03.2012 00:11
Как скопировать текст с файла 1.txt и записать в 2.txt Kasper1 Общие вопросы по Java, Java SE, Kotlin 1 14.12.2010 05:56
подправьте код программы сразу В НОВОМ ЧИСТОМ ЭКРАНЕ ОКНЕ ВЫВОДИЛОСЬ СОДЕРЖИМОЕ ФАЙЛА t.txt Kolyan56577 Помощь студентам 3 22.06.2010 17:09