Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Вниз

Создание патча   Найти похожие ветки 

 
artis   (2004-06-22 18:12) [0]

Подскажите как можно реализовать такое:
Нужно чтобы программа-патч меняла значение в определённом адресе файла. Как можно сделать чтобы пользователь выбирал галочками что менять программе?


 
Amoeba ©   (2004-06-22 18:17) [1]

Удалено модератором


 
GrayFace ©   (2004-06-22 19:17) [2]

Создать несколько CheckBox"ов или CheckListBox. А что нужно то?


 
artis   (2004-06-22 19:29) [3]

а как сделать сам поиск адреса, а потом замену значения?


 
Jeer ©   (2004-06-22 19:30) [4]

artis   (22.06.04 19:29) [3]
Тебе не сюда, а туда.


 
Palladin ©   (2004-06-22 19:34) [5]

Не туда, а туда.


 
Мазут Береговой ©   (2004-06-22 19:40) [6]

Не проще ли весь файл поменять, как все нормальные люди делают...


 
Jeer ©   (2004-06-22 19:42) [7]

Мазут Береговой ©   (22.06.04 19:40) [6]
Действительно проще - когда файл свой:)


 
Anatoly Podgoretsky ©   (2004-06-22 19:50) [8]

ListView нужен или StringGrid


 
Knight ©   (2004-06-22 19:50) [9]

Открываешь FileStream, позиционируешь и меняешь...


 
Knight ©   (2004-06-22 19:51) [10]

И желательно на WinAPI, а то твой патч может оказаться больше того файла который изменяешь... :)


 
Dimaxx   (2004-06-22 21:44) [11]

2 Knight: Попробуй! Потеряешь все после вставленного байта. Лучче blockread/blockwrite - он не теряет.


 
Profi ©   (2004-06-22 21:48) [12]

Единственный, кто толкнул умную мысль - Knight. Как он сказал, так и делай.


 
VEG ©   (2004-06-22 22:39) [13]

Пиши что-то типа приведенного ниже. Не забывай делать проверки перед изменениями.

const
  ADDRESS = $С727A; // Адрес нужного байта
  SRC_VAL = $00;    // Что должно быть до изменения
  DST_VAL = $FF;    // На что изменять
var
  f: file of byte;
  b: byte;
 begin
 AssignFile(f, "путь и имя файла");
 Reset(f);
   try
   Seek(f, ADDRESS);
   BlockRead(f, b, 1);
   if b=SRC_VAL then
     begin
     Seek(f, ADDRESS);
     b:=DST_VAL;
     BlockWrite(f, b, 1);
     end;
   finally
   CloseFile(f);
   end;
 end;

 Вроде должно компилироваться...
---
 Вспомнил свои былые времена и свой первый вопрос трехлетней давности - он был практически идентичен этому:)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.033 c
1-1088082628
Unax
2004-06-24 17:10
2004.07.11
Код не работает в DLL и работает в EXE


14-1088109971
Ygeorchic
2004-06-25 00:46
2004.07.11
Картинки на тему: Химия, Физика, Математика...


1-1088267768
мыш
2004-06-26 20:36
2004.07.11
проблема инсталляции библиотеки компонентов


4-1085644048
d_oleg
2004-05-27 11:47
2004.07.11
Определение серийного номера материнской платы


1-1088581790
chistyakov
2004-06-30 11:49
2004.07.11
Процедурные типы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский