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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 14:44   #1
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию Чтение с INI файла.

Необходимо реализовать что-то типо хранилища данных из файлов. Хранилищем является ini файл. Если записываешь в ini тестовый файл и считывешь все нормально. Если картинку то считывется как-то не так.В ini данные записываются в виде шестнадцатиричных символов. Слышал что надо считать их и преобразовать в двоичные данные а потом записывать. Как это можно реализовать?
Вот три процедуры одна вспомогательная, другие чтение и запись и ini файл.

Код:
procedure TForm2.lOAD;
var
  ini: TIniFile;
begin
  ini := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));
  ini.ReadSections( listbox1.Items );
  FreeAndNil(ini);
end;

 procedure TForm2.import(ss:string;var t:boolean);
 var
  ini: TIniFile;
  fs: TFileStream;
  s2:string;
begin
TRY
 
 t:=true;
    fs := TFileStream.Create(ss,fmOpenRead);
    ini := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));

s2:=inttostr(ReadInforFILE(ss).Size)+' байт';
if  ((ReadInforFILE(ss).Size)>1024)
                                         then
                                              begin
                                              s2:=floattostr(roundto(ReadInforFILE(ss).Size/1024,-3))+' кбайт';
                                              end;
if  ((ReadInforFILE(ss).Size)>sqr(1024))
                                         then
                                              begin
                                              s2:=floattostr(roundto(ReadInforFILE(ss).Size/sqr(1024),-3))+' мбайт';
                                              end;
    ini.WriteBinaryStream( ExtractFileName(ss), 'data', fs );
    ini.WriteString(ExtractFileName(ss),'datainbaze',datetimetoStr(now));
    ini.WriteString(ExtractFileName(ss),'createdate',DateTimeToStr(ReadInforFILE(ss).CreateDate));
    ini.WriteString(ExtractFileName(ss),'Size',s2);
    FreeAndNil(ini);
    FreeAndNil(fs);
    Load;


except t:=false; MessageDlg('ошибка',mtError,[mbok], 0);EXIT;
end;
end;

procedure TForm2.saveto;
var
  ini: TIniFile;
  fs: TFileStream;
  s1:string;
begin
  if ListBox1.ItemIndex >= 0 then begin
  savedialog1.filter:='*'+copy(listbox1.Items[listbox1.ItemIndex],pos('.',listbox1.Items[listbox1.ItemIndex]),(length(listbox1.Items[listbox1.ItemIndex])-pos('.',listbox1.Items[listbox1.ItemIndex])+1))+'|*'+copy(listbox1.Items[listbox1.ItemIndex],pos('.',listbox1.Items[listbox1.ItemIndex]),(length(listbox1.Items[listbox1.ItemIndex])-pos('.',listbox1.Items[listbox1.ItemIndex])+1))+'|òåêñòîâûå (*.txt)|*.txt';
  savedialog1.FileName:=listbox1.Items[listbox1.ItemIndex];
   if  savedialog1.FilterIndex=1 then  begin
   savedialog1.DefaultExt:='txt';
    s1:=listbox1.Items[listbox1.ItemIndex];
    s1:=copy(s1,1,pos('.',s1)-1);
     savedialog1.FileName:=s1;
     end
     else
       savedialog1.DefaultExt:='';
    if SaveDialog1.Execute then begin
      fs := TFileStream.Create(SaveDialog1.FileName,fmCreate);
      ini := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini'));
      ini.ReadBinaryStream( ListBox1.Items[ListBox1.ItemIndex], 'data', fs );
      FreeAndNil(ini);
      FreeAndNil(fs);
    end;
  end
  else begin showmessage('Выберете файл);listbox1.SetFocus;end;
end;
Вложения
Тип файла: rar Password.rar (5.1 Кб, 26 просмотров)

Последний раз редактировалось Baaandit; 26.11.2009 в 16:44.
Baaandit вне форума
Старый 26.11.2009, 15:11   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

а вы про базы данных что нибудь слышали?

Или это принципиально в ini засунуть? рядом не как?
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума
Старый 26.11.2009, 15:19   #3
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию

Слышал чуть чуть-надо в ini обязательно.
Baaandit вне форума
Старый 26.11.2009, 17:15   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Сколько можно?
Когда начнете поиском пользоваться?
Внизу - уйма подобных тем.
Закрыто.
mihali4 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение пароля с ini файла mish@ Общие вопросы Delphi 7 05.11.2009 10:43
чтение из ini динамических компонентов varelik Общие вопросы Delphi 2 03.09.2009 17:35
Чтение параметров из ini файла Яр|/||< (^_^) Общие вопросы Delphi 2 29.06.2009 20:54
Парсинг INI-файла lyonmik Общие вопросы .NET 2 23.04.2008 19:21