Pavlus, ты немного не понял сути своего предложения. Предложенный тобой метод предполагает состояние постоянной "открытости" файла, даже когда байты из него не читаются. Не будешь же ты каждый раз, когда надо считать байты, открывать файл, а после его закрывать?
Crep, а почему русские буквы в классах отображаются квадратами если смотреть через твою прогу? Открываю этот же класс мини командером там русские буквы нормально отображаются
Crep, хорошо тогда надо совместить твой метод и мой, п.с. Если что-то произоидёт когда файл открыт для чтения, или даже для записи то изменения не произоидут, изменения происходят только при закрытии открытого для записи файла.
Pavlus, seclub.org/forum/goto/7281374/ - вряд ли получится. Единственный вариант-натыкать повсюду Трапов. И не факт что потянет. А еще без копии файла или стандартного массива, тормозящего загрузку, невозможным станет удаление байта. Если у тебя есть способы решения данных проблем или просто теории-милости прошу, выкладывай, авось правда можно так, как ты сказал.
Crep, какие трапы? Очнись, ты о чём, я говорю что надо присвоить файлу дампа(file.dmp) в рмс значение оригинала, потом найти количество символов которые можно отобразить на данном экране, создать массив с таким количеством ячеек, вносить в масив блок который будем отображать на экране, отобразить его на экране, в файл begin.dmp записать те байты которые до массива, в файл end.dmp то что после него, если чёнить изменяем то делаем так: копируем побайтно begin.dmp->file.dmp; file.dmp+massiv; file.dmp+end.dmp; если выбрать сохранить то file.dmp->original file; надеюсь ты понял чё я написал.
Pavlus, а давай так: создаем в рмс один единственный файл(file.proc), копируем в него оригинал, читаем из него байты ограниченным циклом, например, 11 строк. Скорость это не изменит, что 5, что 10 строк-доли секунды. В нем и изменять байты, и удалять, да и добавление байта сделать будет гораздо легче. И все это-без массивов:) По моему, твой вариант тоже предусматривает копию оригинала. А трап-это команда "Trap n".
Crep, я знаю что такое трапы, просто при редактировании файла намного луче слепить его из 3ёх кусков чем каждый раз удалять и вставлять байт, п.с твой способ будет работать медленней, а мой использует кеш, что значительно быстрее,хотя всёравно медленно работает.
Pavlus, нет, ты не прав. Так как ты предложил-при каждой перемотке придется переписывать аж 3 файла! Это же издевательство! А мой метод-использование команды point #0,A% просто переставит "курсор" в байтах и перепишет нужный. Все. Перепись одного байта-это гораздо быстрее, чем полная перепись файла, да еще и в 3 частях. Первую версию сделаю сегодня-завтра.
Pavlus, все работает. Скорость высокая, только вот загрузка файла долгая... А потом все решает значение слипа. Перемотка байтов высока, изменение байта-графическое, сохранение сделаю завтра, все функции верну.
ts 1 апр 2009 в 01:40