Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Корректный Mini_Archiver [D7, WinXP]


kyn66 ©   (2008-03-26 10:42:00) 

Может кто знает такую утилиту - САБЖ. Нашел на http://www.delphisources.ru/pages/sources/system/2008-year/mini-archiver.htmlЗаинтересовала тем, что хотелось разобраться самому, как пишутся архиваторы. Но в самом начале были получены огорчения... Если задать архиву коммент, русскими буквами, то при попытке открытия выдается ошибка Access violation. Я так полагаю, что ошибка кроется в описании коммента в записи

type
 TArchiveHead=packed record
   Signature:array[0..2] of char;
   Version:String[4];
   Author:array[0..11] of char;
    Comment:String;
   CountFiles:longint;
   PasswordProtect:Boolean;
 end;


А хоть и ангельскими буквами ввести - показывает некий кракозябрик, правда зато не вылетает при открытии архива. Что скажут мастера по этому поводу?


kyn66   (2008-03-26 15:11:00) [1]

Заработало, уже проверил, Сенькс за легбез(хотя и не я автор этой проги ;-))


tesseract   (2008-03-26 11:15:00) [2]


> Вот насчет String  я и имею ввиду/ Так вроде нельзя.


String тебе длину даст в 4 байта в записи. Это ссылка. Поэтому работать не будет.

>> Author:array[0..11] of char;

не зря тут не string применяеться, ой не зря :-) Задай Comment:array [0..255]of  char  и всё начнёт работать.


kyn66   (2008-03-26 11:00:00) [3]

Коммент ессно сам ввожу. Вот насчет String  я и имею ввиду/ Так вроде нельзя.


tesseract   (2008-03-26 10:47:00) [4]

А ты этот Comment не сама ввела ?
string не может быть в packed record, обявляй как String[255].


Наверх

Титульная страница Поиск, карта сайта Написать письмо