воскресенье, 24 июня 2012 г.

Lazarus - работа с SQLite базами вообще и с базой сообщений ICQ 7 (Messages.qdb) в частности


Если у Вас есть аська №7 (а не какой-нибудь QIP) , то база сообщений расположена по адресу %appdata%\icq\ номер аськи \ messages.qdb - это база в формате sqlite. До версии 7, у 6.5 например, база была в формате базы access и называлась messages.mdb. Но структура баз практически одинакова - в таблице Messages , в столбце subject - незашифрованные сообщения .
Кстати говоря - данный материал публикуется для использования исключительно в мирных целях:
Например, Вы забыли свой пароль от аськи, а в той переписке был очень важный номер телефона.
Создайте новый проект, киньте на форму компоненты, указанные на рисунке.


Привяжем компоненты друг к другу: транзакцию и запрос к базе, а сетку к запросу.
Для кнопки напишем такую подпрограмму:
 procedure TForm1.Button1Click(Sender: TObject);
begin
if openDialog1.Execute then
begin
  SQLQuery1.Active:=false;
  SQLite3Connection1.Connected:=false;
  SQLite3Connection1.DatabaseName:=openDialog1.FileName;
  self.Caption:=openDialog1.FileName;
  SQLite3Connection1.Connected:=true;
  SQLQuery1.Active:=true;
end;
end;  
Вот собственно и все.
Запускаем













Просматриваем сообщения:




Исходники
Собственно программа

Комментариев нет:

Отправить комментарий