Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
4-37425
Cosmic
2002-11-23 21:01
2003.01.13
Как добавить пункт в ListBox?


3-36939
std79
2002-12-18 09:57
2003.01.13
Database not assigned, Обновление данных


1-37108
delpher_gray
2002-12-30 19:38
2003.01.13
Почему


1-37105
Алексей П
2003-01-03 08:05
2003.01.13
TQuickRep вызвать


1-37072
tboxer
2003-01-03 12:10
2003.01.13
ShellExecute





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский