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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2013, 21:46   #1
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Вопрос работа с sevenzip.pas

Доброе время суток!
Не получается по порядку распаковать архивы.
По пойму вообще не работает(
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
SetStr:String;
Accounts,SetupFiles:TStringList;
q,i:integer;
begin
SetupFiles:=TStringList.Create;
Accounts:=TStringList.Create;
SetStr:=IniFile.ReadString('setupProgram','Program1','');//ищу файл со спискам архивов.
IniKey:= TIniFile.Create(PAnsiChar(SetStr));//Тут понятно
IniKey.ReadSection('Setup',Accounts);//создаю список в TStringList
for q := 0 to Accounts.Count-1 do
if (Accounts[q]<>'') and (SetupFiles.IndexOf(Accounts[q])=-1) then
SetupFiles.Add(Accounts[q]);//Чищу но не чистится(
Вылетает ошибка List index out of bounds (х)
SetupFiles.SaveToFile('ert.txt');//так чисто для себя
 with CreateInArchive(CLSID_CFormat7z) do
  begin
    for i := 0 to SetupFiles.Count-1 do //иду по списку
    SetPasswordCallback(nil, PasswordCallback);
    SetPassword(PassCreate(SetStr));
    Label9.Caption:= PassCreate(SetStr);
    OpenFile( IniKey.ReadString('Setup',SetupFiles.Strings[i],'')); //Гружу файл (пытаюсь) :)
//Итог: кажется просто проходит по списку до  последней строки и 
//List index out of bounds (х) на пустой))
    SetProgressCallback(nil, ProgressCallback);
    ExtractTo('C:\StupProg\2\');
    ProgressBar1.Position:=0;
end;
end;
Прошу помочь, не как не пойму как правильно сделать.
За ранее благодарен!
С уважением,
Volkogriz!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 11.06.2013, 22:17   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
    for i := 0 to SetupFiles.Count-1 do //иду по списку
    SetPasswordCallback(nil, PasswordCallback);
На этом цикл и заканчивается - нет begin после do. А все из-за того, что код не форматирован, а как курица лапой написан
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.06.2013, 22:31   #3
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
    for i := 0 to SetupFiles.Count-1 do //иду по списку
    SetPasswordCallback(nil, PasswordCallback);
На этом цикл и заканчивается - нет begin после do. А все из-за того, что код не форматирован, а как курица лапой написан
Ну написан он так )
Я просто писал много вариантов вернулся к этому.)
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать zip архив через SevenZip Shouldercannon Общие вопросы Delphi 4 30.08.2011 22:24
Работа с компонентом SevenZip (7zip) в Delphi Claster Помощь студентам 0 04.04.2011 13:16
djlopengl.pas Pein95 Общие вопросы Delphi 2 31.12.2010 02:31
Из *.pas в *.dcu SERG1980 Общие вопросы Delphi 3 14.10.2010 08:17