![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
neic |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
Ругается на то, что файл отсутствует:
Файла реально нет, но(!), на следующей строке указано, что нужно делать:
Полностью:
Что ему (делфи) не хватает??? |
||||||
|
|||||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
|
|||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
||||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
Написал так:
Это сообщение отредактировал(а) neic - 17.12.2009, 12:23 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
2010 год на носу, а люди всё ещё пользуются AssignFile...
"В то время, когда космические корабли бороздят просторы большого театра..." © |
|||
|
||||
neic |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: нет Всего: 7 |
Snowy
А что ты предлагаешь? В 7 делфи. Добавлено через 2 минуты и 22 секунды Данкинг спасибо. Только подредактировать пришлось:
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Дык, а что такого: AssignFile и мне нравится.
![]() Это сообщение отредактировал(а) Данкинг - 17.12.2009, 12:52 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Да какая разница, какая дельфи.
TStream (любой), TStringList... Зачем пользоваться методами, оставшимися в наследство от DOS? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Ну так а если надо считать текстовый файл в миллион строк - сколько времени он будет грузиться в TStringList ?
Это сообщение отредактировал(а) Данкинг - 17.12.2009, 13:45 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Судя по коду, там до миллиона лет 200 активного пользования.
А для больших размеров - стримы. И форматы посеръёзнее текстовых. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
Snowy, а если нужно загрузить 100 строк текстового файла. А файл размером 5-10 мегабайт.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Ага, особенно, если это последние 5 строк...
Что за попытки выискать мифическую ситуацию? Мне подобные что-то никогда не попадаются. Что касается первоначального вопроса - ответ есть в справке по IOResult ( {$I-} ) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
У меня есть такая ситуация. Например, когда пользователю нужно показать кусок файла, чтобы он выбрал, нужно ли выполнять Dos->Win или нет для дальнейшей обработки текста.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Ну так тем более - в стрим загружаешь 200 символов и показываешь.
Небольшой - это в символах. В строках может быть совсем не небольшим. Вобщем флейм уже пошёл... |
|||
|
||||
SlaUr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
А кто будет ставить {$I-} {$I+} Вот что должно быть
Ничего не имею против этих якобы устаревших комманд они работают и иногда их использовать лучше.Если например использовать tsringlist то в данном конкретном случае сначала бы пришлось считывать файл (если он есть) потом добавлять строки а потом только записывать. Это сообщение отредактировал(а) SlaUr - 18.12.2009, 15:25 |
||||
|
|||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: 1 Всего: 4 |
SlaUr, что это значит?, Вы хотите сказать что без этого работать не будет? -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
SlaUr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 1 Всего: 5 |
В этом коде возникает ошибка и ioresult=0
В этом коде ошибки не возникает и ioresult=2
У neic программа вываливалась по ошибке поэтому никакого файла не создавалось Это сообщение отредактировал(а) SlaUr - 21.12.2009, 09:05 |
||||
|
|||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: 1 Всего: 4 |
SlaUr, Ситуация ясна, вот только эта запись не понятна для меня :
Как понимать это штуку: {$I-}; ? ![]() -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
А справку посмотреть?
Директива, которая как раз и вырубает вываливание с ошибкой. |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: 1 Всего: 4 |
Да я так и сделал, не успел отписаться. {$I-} - отключает генерацию исключений. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 7 Всего: 50 |
Я бы не рекомендовал использовать {$I-} без глубокого понимания этого механизма.
Отключение проверки ошибок может повлечь за собой труднонаходимые ошибки и глюки. Лучше использовать обработку исключений. -------------------- |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Без глубокого понимания можно использовать готовый пример.
Например из справки Delphi (TurboPascal) В ТрупоПаскале по другому и никак было. А это наследство покойного... |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Видимо, ты в Паскале ничего не писал? ![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
profesiachuvak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 7.11.2009 Где: Беларусь, Минск Репутация: 1 Всего: 4 |
В лет 13 в Pascal 5 а потом Turbo что-то писал, но видимо не сталкивался с обработкой исключений. А почему там невозможно было без {$I-} ??? Мне аж интересно стало. -------------------- Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Вообще я смутно помню, что там в ТП было. ![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
Там не было не только обработки исключений, но и самих исключений. А проверка ошибок как раз и делалась через IOResult. И директивы компилятора соответственно там тоже не было.
-------------------- Обижено школьников: 8 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Из справки TP7:
|
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
Убедил. Но исключений-то не было
![]() -------------------- Обижено школьников: 8 |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Так я про то и говорю - обработчиков исключений не было, поэтому использовались директивы компилятора.
![]() Теперь обработчики есть, но старьё с собой до сих пор тянем. ![]() Я к тому и клоню, что это всё устарело ещё в прошлом тысячелетии, а у нас 2010 год на носу уже. ![]() С наступающим ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |