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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2010, 23:47   #1
helltemper
 
Регистрация: 27.11.2009
Сообщений: 3
По умолчанию Прочитать файл в Memo или RichEdit

Увожаемые форумчане! Возникла необходимость вывести НЕ текстовый файл в Memo или RichEdit (9Ech-773_IP1111111.bin). Если писать RichEdit.Lines.LoadFromFile('9Ech-773_IP1111111.bin'), выдает билеберду.... А надо что бы как в TotalCommander при нажатии кнопки Просмотр (F3).

Файл который нужно открыть=>

Есть догадки, что нужно поиграться с типами данных Byte b PChar....
Зарание спасибо.
Вложения
Тип файла: rar 9Ech-773_IP.rar (431.7 Кб, 9 просмотров)
helltemper вне форума Ответить с цитированием
Старый 30.08.2010, 03:16   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,724
По умолчанию

Цитата:
Если писать RichEdit.Lines.LoadFromFile('9Ech-773_IP1111111.bin'), выдает билеберду....
Естественно. Для справки: в файле еть символы, которые в мемо вообще не отображаются.

Цитата:
А надо что бы как в TotalCommander при нажатии кнопки Просмотр (F3).
А как именно? У меня тотал может файл показать как минимум 7 способами...
p51x вне форума Ответить с цитированием
Старый 30.08.2010, 07:53   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выдает билеберду
Читай побайтно и функцией format('%x',[считанный байтик]) преобразовывай в 16-е представление. Его (это читабельная строка) и пиши в РичЭдит - получишь HEX вьювер )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.08.2010, 13:55   #4
helltemper
 
Регистрация: 27.11.2009
Сообщений: 3
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 f:TfileStream;
 s: array [0..$FFFF] of char;
 i,j:Dword;
 Text:String;
begin
 f:=TfileStream.Create('D:\9Ech-773_IP.bin',fmOpenread);
 i:=f.Size;
 memo1.DoubleBuffered:=true;
for j:=0 to i do
 begin
 form1.DoubleBuffered:=true;
 f.Read(s,sizeof(i));
 application.ProcessMessages;
 Text:=Text+s; // ôîðìèðóåì òåêñòîâóþ ñòðîêó
 //memo1.Text:=memo1.Text+s+'';
 Progressbar1.Position:=round((j/i)*100);
 end;
 memo1.Lines.text:=text;// âûâîäèì íå â öèêëå
end;
Сделал так, но лапатит долговато(файл нужно считать 8мб).
Может есть какието мысли?
helltemper вне форума Ответить с цитированием
Старый 30.08.2010, 14:12   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например считывать не весь файл, а только то что должно отображаться.
Тебе же известна ширина окна, вот и посчитай сколько символов в нее мона впихнуть и считывай при прокрутке скролла в Мемо с определенной позиции
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.08.2010, 20:46   #6
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

Пиши в личку. Объясню как делается.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Прочитать файл и вывести в другой файл каждую N-ую строку Straiker Помощь студентам 3 15.12.2009 05:49
Прочитать из memo Михаил Юрьевич БД в Delphi 2 17.07.2009 18:56
Что лудше RichEdit или Memo для текстового редактора EugeneIsmatulin Общие вопросы Delphi 6 30.05.2009 09:14
Помогите прочитать reg файл в RichEdit или ListBox inndim Общие вопросы Delphi 4 09.06.2008 12:56
Колонки в richedit или memo 2face Компоненты Delphi 1 15.06.2007 15:08