Показать сообщение отдельно

  #10  
Старый 29.03.2008, 22:30
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

Цитата:
Сообщение от MSDEN  
я в дельфи вообще не силен...
подскажите пожалуйста как сделать билдер(как пинчбилдер) если есть исходник программы?
в программе нужно менять две переменных перед созданием билда
не надо только говорить о том как это делается без компилятора, мне нужна именно форма где будет 2 едита и кнопка для создания
Код:
var
  f, i, j, flen, fread: integer;
  Buffer: PChar;
  repl, res : string;
begin
  repl := 'Azik'#0; // Сюда пишешь то, что надо заменить
  res := 'Hulo'#0; // Сюда пишешь такой же длины, на что меняем.
  f := FileOpen('test.exe',fmOpenReadWrite);
  flen := FileSeek(f, 0, 2);
  FileSeek(f, 0, 0);
  Buffer := PChar(AllocMem(flen + 1));
  fread := FileRead(f, Buffer^, flen);
  for i := 0 to fread - 1 - length(repl) do
    begin
      for j := 0 to length(repl) - 1 do
        if Buffer[i + j] <> repl[1 + j] then
          break;
      if j = length(repl) then  // Никогда не делай так!!! :) Мне можно =)
        begin
          FileSeek(f, i, 0);
          FileWrite(f, PChar(res)^, length(res));
        end;
    end;

  FreeMem(Buffer);
  FileClose(f);
end;
Этот код заменяет в файле test.exe буквы Azik и 0-символ на буквы Hulo и 0-символ. Вместо Azik пиши содержимое твоей текстовой переменной.
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием