Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Кодировка файла...   Найти похожие ветки 

 
Mozart   (2003-01-03 13:44) [0]

Есть такая проблемка: не могу в Дельфи 6 загрузить файл (с абсолютно левым набором символов) чтобы потом его закодировать...
В Мемо грузится только 4 первых символа, которые похожи на нормальные буквы... Остальные почему-то не распознаёт.....
Если нужен файл, могу отослать на мыло..


 
dkDimon ©   (2003-01-03 13:45) [1]

Присылай, разбермся... хотя я по ходу дела знаю в чем проблема... но присылай файл и код...


 
Anatoly Podgoretsky ©   (2003-01-03 13:57) [2]

Как же ты его грузишь


 
Mozart   (2003-01-03 14:02) [3]

в МЕМО, обычным способом :) понимаю, что смешно....
но других методов не знаю..


 
Anatoly Podgoretsky ©   (2003-01-03 14:17) [4]

Так у тебя наверно не текстовый файл


 
MAxiMum   (2003-01-03 14:44) [5]

Я понял нужно разкодировать файл. Если нет, то убери Decode.
Для начала хотя бы изучи процедуры AssignFile, Reset/Rewrite/Append и Close. А там все будет очевидно!!!
Например:
var FFile: TextFile {файловая переменная}; S: String;

begin
AssignFile(FFile, "file.dat"{имя файла});
Reset(FFile); //открытие
while not Eof(FFile) do
begin
Read(FFile, S);
Memo1.Lines.Add(Decode{функция для разкодирования}(S)
end;
CloseFile(FFile);


 
Mozart   (2003-01-03 17:48) [6]

файл нужно именно закодировать, но Мемо не воспринимает нифига символов этого файла, поэтому через Мемо его загрузить не смог..
Короче - задача основная в том, как его прочитать...
а потом видоизменять по определённому алгоритму.


 
Maksss   (2003-01-03 19:59) [7]

этот файл нельзя грузить в мемо и прочие едиты!!
провлема в следующем ,что они все обрывают чтение на 2 последовательных битах {это нех(00 00)} грузи в переменную (стринг пчар пбит) обрабатывай и если это нечто похожее на текст выгружай в мемо если нет то эту переменную овратно в файл
var f : MemoryStream;
s :string;

f := TMemoryStream.Create;
f.loadfromfile("c:\filename.dat");
f.read(s,1,f.size);
{обравотка твоего файла}
f.clear;
f.write(s,1,Length(s))
f.savetofile("c:\newfilename.dat");
f.free;


 
Mozart   (2003-01-03 20:34) [8]

Maksss
спасибо, попробую...
кста: MAxiMum, у твоего метода есть небольшая проблемка:
если файл очень большой(несколько строк), то прога просто подвисает, выполняя while not Eof(FFile) do. Но тоже спасибо, а то я не знал как в Дельфи загрузить простые файлы, оказалось - почти также как в старом добром паскале..


 
Maksss   (2003-01-03 20:38) [9]

если сильно большой (больше 5 мегов) я делаю через filestream но там сложнее с позицией чтения


 
Mozart   (2003-01-03 20:52) [10]

А можешь выложить пример?
или так объяснить, я думаю, это может пригодится, т.к. сейчас для меня самое главное - быстродействие...


 
Programist21   (2003-01-03 21:03) [11]

Мой совет - не юзай Мемо. У меня тоже с ним траблы были при шифровании...


 
Mozart   (2003-01-03 21:53) [12]

Всем огромное спасибо, кто помогал!!
Особенно Maksss"у . Все работает по твоему методу, просто супер. Вы сделали очень хорошее дело!


 
Mozart   (2003-01-03 21:57) [13]

Да кстати: воспользовался array of Byte в качестве S, добавил try, finally, исправил некоторые помрки в твоём примере....



Страницы: 1 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
1-37122
Бук
2003-01-04 09:38
2003.01.13
mwEdit


14-37294
Дмитрий К.К.
2002-12-23 06:14
2003.01.13
Именинники 23 декабря


14-37324
ScableR
2002-12-24 02:57
2003.01.13
D6 или D7


3-36990
First_May
2002-12-19 09:50
2003.01.13
TIBDataSet...


14-37348
Дмитрий К.К.
2002-12-24 13:54
2003.01.13
Несовместимая версия заглушки RPC