![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
delphi в XP не дружит с .txt файлами
error 2k © (2003-01-20 03:26:00)Раньше, в winдах, не было никаких проблем при работе с текстовыми файлами. работа с переменными типа TextFile, или там метод TStrings.LoadFromFile к примеру были абсолютно здоровыми, а сейчас они ведут себя крайне бесполезно. Открыл .тхт в НЕХ редакторе, а там на каждый символ по два байта вместо одного. Вообщем что-то я не понял ничего толком.
error 2k (2003-01-21 18:17:00) [1]иначе он кодировку спрашивает
error 2k (2003-01-21 18:12:00) [2]ой. не открыть блокнот, а создать файл по правому клику.
error 2k (2003-01-21 18:10:00) [3]Зацените - откройте блокнот, в нём наберите "яю" (без кавычек) и ещё несколько символов (любых). закройте блокнот, сохранив файл, а теперь снова его откройте:)
error 2k (2003-01-21 17:06:00) [4]bis - Дельфи не позволяет нормально работать с файлами в юникод:) а какие средства виндоус даёт для этого?
bis (2003-01-21 15:21:00) [5]не Дельфи не работает, а стандартные процедуры ввода вывода !!
Используй виндовские средства.
error 2k (2003-01-21 14:19:00) [6]Smithson, на самом деле - #13#00#10#00.
Дельфи нормально работает с файлами первого типа, но не поддерживает файлы второго типа:(
error 2k (2003-01-21 14:15:00) [7]Предыдущее предложение - это пошлый загон. Так вообще бесполезно делать.
Вот что до меня только что дошло. Причём меня это удивило как то даже.
Бывает два вида .txt файлов. Обычные, как это и всегда было. И в Юникоде, в которых первые два байта FF и FE, а далее те же символы, но на каждый отводится по два байта.
При чём если этот файл открыть в кодировке ANSI, то первые два символа будут "яю", а далее те же символы, только разделённые пробелами (#00).
bis (2003-01-21 13:43:00) [8]ту error 2k
интересно, ты читаешь построчно?
в таком случае для тебя не видно символов окончания строк
и вообще для текстовых файлов должно соблюдатся правильное окончание строк (CRLF), иначе вообще будет проблематично.
приведи лучше пример файла и кода...
error 2k (2003-01-21 13:04:00) [9]вспомнил, почему из textfile читать widestring не получалось. сбой происходил на последовательности #0#10 #0#13 #0#10.
error 2k (2003-01-21 12:47:00) [10]ну да, так и читал, но посимвольно, а не построчно
Smithson (2003-01-21 12:46:00) [11]#0#13#0#10
error 2k (2003-01-21 12:46:00) [12]а из textfile читать widestring по-моему у меня тоже не получалось. хотя не уверен.
error 2k (2003-01-21 12:43:00) [13]Smithson? ну элемент файла должен быть ограниченным по идее. в байтах я имею ввиду. а как widestring ограничить? квадратные скобочки после него не поставишь:) и не построчно читать получается а только посимвольно
Smithson (2003-01-21 11:34:00) [14]Тип file of widestring дельфи считает неправильны
Что значит - считает неправильным?
Насчет LoadFromFile - у меня D5 и такая проблема с WideString есть.
Как я понимаю - не судьба, читай посторочно.
error 2k (2003-01-21 11:30:00) [15]Ну что же. Юникод - это конечно здорово.
Tano, а как ты описываешь файл? Как textfile? или как? Можешь попробовать почитать лог файл установки офиса хр.
И как же всё-таки быть с методами загрузки текстовых файлов в мемо например?
Bis, а как нормально оформить чтение в строки WideString? Тип file of widestring дельфи считает неправильным. Вообщем я читал по символам widechar. А вот как со строками сделать ума не приложу.
Tano (2003-01-20 23:13:00) [16]Переменные типа String пишет на раз (и в блокноте - все OK). У меня все логи на этом работают.
Может твоя строка типа WideString?
Bis (2003-01-20 10:05:00) [17]to Viktor Kushnir:
Смотря чем будешь открывать
Можно и стандартно открывать (старыми дельфовскими процедурами), только читать не в обычные строки, а в строки "широкой" длины. И все должно работать.
Viktor Kushnir (2003-01-20 08:56:00) [18]Определенно Unicode. Интерестный вопрос кстатьи, держит ли Дельфи Юникод или нет?
Юрий Зотов (2003-01-20 05:41:00) [19]Unicode?
Big_Rom (2003-01-20 03:54:00) [20]это драйвер руки.sys