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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 14:04   #1
aftio
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 15
Вопрос Проблема со считыванием файла в delphi

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

Код:
while not Eof(F) do
    begin
      Readln(F,s);
      if s<>'' then
      if s[1]='#' then VOP1:=strtoint(copy(s,2,length(s))) else
      if s[1]='^' then vrema:=strtotime(copy(s,2,length(s))) else
      if s[1]='?' then
       begin
         K[i].question:=copy(s,2,length(s));
         kolvop:=kolvop+1;
         j:=1;
         Readln(F,s);
        while s<>'' do
         begin
         if  s[1]='!' then
              K[i].recom:=copy(s,2,length(s))
         else
         begin
           if  s[1]='*' then
           begin
              K[i].otvet:=j;
              K[i].ans[j]:=copy(s,2,length(s));
           end
           else
              K[i].ans[j]:=s;
           j:=j+1;
           end;
           readln(F,s)
         end;
     end;
     var_otv[i]:=j-1;
     i:=i+1;
     end;
После считывания выводим на панель

Код:
Label8.caption:=timetostr(vrema);
Время задается в виде(пример строки в файле): ^0:10:00
Количество обязательных вопросов(пример строки в файле): #5
А когда запускается программа то вместо времени на поле ничего нет, а переменная VOP1=0.

Подскажите, в чем проблема, толдычусь над ней уже 5 дней, сам никак решить не могу.
aftio вне форума Ответить с цитированием
Старый 08.05.2012, 14:17   #2
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

А как описана переменная F?
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 08.05.2012 в 14:29.
Rin вне форума Ответить с цитированием
Старый 09.05.2012, 00:17   #3
aftio
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 15
По умолчанию

Rin,
Код:
F: text;
aftio вне форума Ответить с цитированием
Старый 09.05.2012, 09:41   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну, для начала length(s)-1 вместо length(s).
s-andriano вне форума Ответить с цитированием
Старый 09.05.2012, 11:46   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от s-andriano
для начала length(s)-1 вместо length(s).
s-andriano, хотя Вы абсолютно правы, не думаю, что автору темы это чем-то поможет - функция copy "умная" - она сама следит за границами и не вернёт лишнего. Но я тоже стараюсь передавать корректное количество возвращаемых символов в данной функции - просто потому что так правильно.

aftio, Вы на редкость не умеете задавать вопросы!
Во-первых, Вы не первых раз создаёте такую тему (а это нарушение правил форума - кросспостинг)

во-вторых, не выкладываете исходники полностью + исходный текстовый файл. Почему Вы думаете, что по вашему огрызку можно угадать в чём проблема - не знаю. Да хотя бы одно то, что Вы проверяете первый символ в строке, а у вас перед временем может быть пробел(ы), либо в конце текста встречается "левая" строчка, у которой первый символ ^ ...
Гадать можно до бесконечности...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.05.2012, 12:46   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
s-andriano, хотя Вы абсолютно правы, не думаю, что автору темы это чем-то поможет
Вполне возможно. Именно поэтому я и написал "для начала".
Собственно, Вы сами видите, что по приведенному фрагменту нельзя точно указать ошибку, а можно лишь попытаться указать направление возможных поисков, что я и попытался сделать.
Следующим этапом я бы порекомендовал выяснить, что именно реально подается на вход strtoint и strtotime, и что они возвращают.

IMHO пусть ТС сам учится отлаживать программу, а не получает готовый рецепт.

Последний раз редактировалось s-andriano; 09.05.2012 в 12:48.
s-andriano вне форума Ответить с цитированием
Старый 10.05.2012, 00:52   #7
aftio
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 15
По умолчанию

Serge_Bliznykov, вот http://us.ua/817067/ сама программа и извините за кросспостинг(чего то думал, что та тема уже закрыта).
aftio вне форума Ответить с цитированием
Старый 10.05.2012, 11:04   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от aftio
сама программа
мда... я даже не думал, что так всё запущено...


Цитата:
Сообщение от aftio
Время задается в виде(пример строки в файле): ^0:10:00
Количество обязательных вопросов(пример строки в файле): #5
Вы вложили в архив два текстовых файла с вопросами:
test_v1.txt
test_v2.txt

вы не пробовали их открыть (тем же блокнотом, хотя бы) ?!
В этом файле нет ни строчек с ^время, ни #Количество
трудно ожидать, что они там появятся сами по себе во время чтения...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.05.2012, 02:44   #9
aftio
Пользователь
 
Регистрация: 02.12.2010
Сообщений: 15
По умолчанию

Serge_Bliznykov, ну извините, что Вас так задолбал.
aftio вне форума Ответить с цитированием
Старый 11.05.2012, 08:13   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

aftio, учение не всегда ровная гладкая дорога...
Дерзайте и всё у Вас получится!

Добавьте нужные строчки в TXT файл для начала
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со считыванием файла в delphi aftio Общие вопросы Delphi 2 07.05.2012 16:38
Проблема с считыванием данных из файла Achervov Общие вопросы C/C++ 4 19.03.2012 09:24
проблема из считыванием записи структуры из файла bloger Общие вопросы C/C++ 0 07.12.2011 22:25
Проблема считыванием данных из файла(fortran 90) ivan.tiran Помощь студентам 0 03.11.2011 22:46
Проблемы со считыванием игровой карты с файла Enlightened Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 13.01.2011 19:36