Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите прочитать reg файл в RichEdit или ListBox, прочитать reg файл в RichEdit 
V
    Опции темы
inndim
Дата 8.6.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.6.2008
Где: Королёв

Репутация: нет
Всего: 1



Помогите Пожалуйста кто знает.
Я экспортировал из реестра в файл zum.reg ключ, но не могу занести строки из него в RichEdit, выдаёт пару символов и кучу пустых строк. Я так понимаю всё дело в кодировке, так как похоже что reg файл в Unicode, но как это добро перекодировать в понятный для RichEdit формат. Если можно, то напишите пример. Заранее спасибо. Я собственно пытался прочитать полученыый reg файл способом написанным ниже, но увы ничего не выходит.
Код

procedure TForm1.Button1Click(Sender: TObject);
Var
f: TextFile;
s: WideString;
Begin
AssignFile(F, 'zum.reg');
Reset(F);
While not Eof(F) Do
Begin
ReadLn(F, s); 
RichEdit1.Lines.Add(AnsiString(s));
End;
closefile(f); 
end;


Это сообщение отредактировал(а) Alexeis - 8.6.2008, 20:22
PM MAIL WWW   Вверх
Rrader
  Дата 8.6.2008, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Код

procedure TForm1.Button1Click(Sender: TObject);
type
  SETTEXTEX = packed record
    flags: DWORD;
    codepage: UInt;
  end;
  TSetTextEx = SETTEXTEX;
const
  EM_SETTEXTEX = (WM_USER + 97);
  ST_DEFAULT = 0;
var
  S: WideString;
  F: TFileStream;
  St: TSetTextEx;
  Dest: String;
  StrLength: Longint;
begin
  F := TFileStream.Create('zum.reg', fmOpenRead or fmShareDenyNone);
  try
    SetLength(S, F.Size);
    F.Read(S[1], F.Size);
    St.codepage := CP_ACP;
    St.flags := ST_DEFAULT;
    StrLength := Length(S) div 2;
    SetLength(Dest, StrLength);
    WideCharToMultiByte(0, 0, PWideChar(S), StrLength, PChar(Dest),
      StrLength, NIL, NIL);
    Dest := Copy(Dest, 2, Length(Dest) - 1);
    SendMessage(RichEdit1.Handle, EM_SETTEXTEX, WPARAM(@St), LPARAM(Dest));
  finally
    F.Free;
  end;
end;


Это сообщение отредактировал(а) Rrader - 1.1.2009, 09:17


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
inndim
Дата 8.6.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 8.6.2008
Где: Королёв

Репутация: нет
Всего: 1



Rrader, 
Огромное вам спасибо за помощь!!!! Всё работает, ура!!!
PM MAIL WWW   Вверх
Akella
Дата 8.6.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Если экспортировать данные из реестра в формате Win9x, то экспортированные данные будут в виде обычного текста

Добавлено через 21 секунду
которые можно загрузить в TMemo
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.