1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Многострочный билдер ЕХЕ файлов.

Тема в разделе "Курилка", создана пользователем Ltybcrf, 7 сен 2013.

  1. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    Всем привет!
    Ребята мне нужна Ваша помощь.

    Делать однострочный билдер я умею а вот много строчный на 2-3 строки нет.

    Билдер для изменения 1й строки.
    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ResStream: TResourceStream;
    FileName, oldstring, newstring, s: string;
    f: file;
    l: Longint;
    go:boolean;
    begin
    label1.caption:='wait';
    Application.ProcessMessages;
    FileName := 'pr.exe';
     
    ResStream:=TResourceStream.Create(HInstance,'FILE1','EXEFILE');
    ResStream.SaveToFile(ExtractFilePath(Application.ExeName)+FileName);
    ResStream.Free;
     
    oldstring := '????????????????????????';
    newstring := Edit1.Text;
    s := oldstring;
    AssignFile(f, FileName);
    Reset(f, 2);
    l:=0;
    go:=true;
    while (l<=(FileSize(f) - Length(oldstring) - 1)) and go do
      begin 
      Seek(f, l);
      BlockRead(f, oldstring[1], Length(oldstring));
      if oldstring = s then
        begin
        seek(f, l);
        BlockWrite(f, newstring[1], Length(newstring));
        go:=false;
        end;
      inc(l);
      end;
    CloseFile(f);
    label1.caption:='ok';
    end;
    Помогите мне.
    Разместите тут код многострочного билдера! Буду Вам очень признателен.
    Заранее большое спасибо!

    С уважением, Ltybcrf.
     
    Метки:
  2. TopicStarter Overlay
    }{OTT@BY4

    }{OTT@BY4 Гость

    Я конечно не Паскаль кодер но чувствую:
    Код:
    ResStream:=TResourceStream.Create(HInstance,'FILE1','EXEFILE');
    ResStream.SaveToFile(ExtractFilePath(Application.ExeName)+FileName);
    ResStream.Free;
     
    oldstring := '????????????????????????';
    newstring := Edit1.Text;
    s := oldstring;
    AssignFile(f, FileName);
    Reset(f, 2);
    l:=0;
    go:=true;
    while (l<=(FileSize(f) - Length(oldstring) - 1)) and go do
      begin
      Seek(f, l);
      BlockRead(f, oldstring[1], Length(oldstring));
      if oldstring = s then
        begin
        seek(f, l);
        BlockWrite(f, newstring[1], Length(newstring));
        go:=false;
        end;
      inc(l);
      end;
    Вот такую же ф-цию добавь только с другими переменными и всё:)
     
  3. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    ну вот исходя из первого кода как будут выглядеть переменные второго?
     
  4. TopicStarter Overlay
    }{OTT@BY4

    }{OTT@BY4 Гость

    Как либо лиж бы отлечались от первых:) я просто не силён в вашем синтаксисе на с# легко
     
  5. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    что именно менять подскажи ... готовлю приват тему )
     
  6. TopicStarter Overlay
    }{OTT@BY4

    }{OTT@BY4 Гость

    БЛя добавь ф-цию, но только чтобы переменные не совпадали с первой и всё:)
     
  7. Walentinka

    Walentinka

    Регистрация:
    29 янв 2013
    Сообщения:
    96
    Симпатии:
    47
    ОООО преваааат, я люблю преват, где преват, мне преват!!! ;)

    Так...Ближе к телу...
    Функция ищет в коде такую строку "??????????????"
    Сделай такую же функцию, только напиши чтоб он искал "!!!!!!!!!!!!!!!" или там "$$$$$$$$$$$$", все что нравится.
    А там где будешь менять собственно и поставь "!!!!!!!!!!!!!!!" и "$$$$$$$$$$$$".

    ---------------------------------------------

    Разобрался?
     
  8. TopicStarter Overlay
    }{OTT@BY4

    }{OTT@BY4 Гость

    Я это три поста ему пишу
     
  9. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    Братцы бросте весь код как он должен выглядеть!!
     
  10. TopicStarter Overlay
    }{OTT@BY4

    }{OTT@BY4 Гость

    Бля не гони ты не можешь 1 функцию дописать?
     
  11. Walentinka

    Walentinka

    Регистрация:
    29 янв 2013
    Сообщения:
    96
    Симпатии:
    47
    Ой... Значит смотри.

    1.Процедура (Оригинал)

    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ResStream: TResourceStream;
    FileName, oldstring, newstring, s: string;
    f: file;
    l: Longint;
    go:boolean;
    begin
    label1.caption:='wait';
    Application.ProcessMessages;
    FileName := 'pr.exe';
     
    ResStream:=TResourceStream.Create(HInstance,'FILE1','EXEFILE');
    ResStream.SaveToFile(ExtractFilePath(Application.ExeName)+FileName);
    ResStream.Free;
     
    oldstring := '????????????????????????';
    newstring := Edit1.Text;
    s := oldstring;
    AssignFile(f, FileName);
    Reset(f, 2);
    l:=0;
    go:=true;
    while (l<=(FileSize(f) - Length(oldstring) - 1)) and go do
      begin
      Seek(f, l);
      BlockRead(f, oldstring[1], Length(oldstring));
      if oldstring = s then
        begin
        seek(f, l);
        BlockWrite(f, newstring[1], Length(newstring));
        go:=false;
        end;
      inc(l);
      end;
    CloseFile(f);
    label1.caption:='ok';
    end;
    2.Процедура (копия)

    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ResStream: TResourceStream;
    FileName, oldstring, newstring, s: string;
    f: file;
    l: Longint;
    go:boolean;
    begin
    label1.caption:='wait';
    Application.ProcessMessages;
    FileName := 'pr.exe';
     
    ResStream:=TResourceStream.Create(HInstance,'FILE1','EXEFILE');
    ResStream.SaveToFile(ExtractFilePath(Application.ExeName)+FileName);
    ResStream.Free;
     
    oldstring := '!!!!!!!!!!!!!!!!!!!!!!!!';
    newstring := Edit2.Text;
    s := oldstring;
    AssignFile(f, FileName);
    Reset(f, 2);
    l:=0;
    go:=true;
    while (l<=(FileSize(f) - Length(oldstring) - 1)) and go do
      begin
      Seek(f, l);
      BlockRead(f, oldstring[1], Length(oldstring));
      if oldstring = s then
        begin
        seek(f, l);
        BlockWrite(f, newstring[1], Length(newstring));
        go:=false;
        end;
      inc(l);
      end;
    CloseFile(f);
    label1.caption:='ok';
    end;
    3.Процедура

    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    ResStream: TResourceStream;
    FileName, oldstring, newstring, s: string;
    f: file;
    l: Longint;
    go:boolean;
    begin
    label1.caption:='wait';
    Application.ProcessMessages;
    FileName := 'pr.exe';
     
    ResStream:=TResourceStream.Create(HInstance,'FILE1','EXEFILE');
    ResStream.SaveToFile(ExtractFilePath(Application.ExeName)+FileName);
    ResStream.Free;
     
    oldstring := '$$$$$$$$$$$$$$$$$';
    newstring := Edit3.Text;
    s := oldstring;
    AssignFile(f, FileName);
    Reset(f, 2);
    l:=0;
    go:=true;
    while (l<=(FileSize(f) - Length(oldstring) - 1)) and go do
      begin
      Seek(f, l);
      BlockRead(f, oldstring[1], Length(oldstring));
      if oldstring = s then
        begin
        seek(f, l);
        BlockWrite(f, newstring[1], Length(newstring));
        go:=false;
        end;
      inc(l);
      end;
    CloseFile(f);
    label1.caption:='ok';
    end;
    допустим есть такая программа

    Код:
    program tratata;
     
    var
    a, b, c : string;
     
    begin
    a:='!!!!!!!!!!!!!';
    b:='?????????????';
    c:='$$$$$$$$$$$$$';
    Showmessage(a + ' ' + ' '+ b + ' ' + c)
    end;
    (Это условно так как тут переплетена консоль и оконный вариант, надеюсь все понимают что тут происходит).
    Если ее так оставить то, при запуске получим окошко в котором будет "!!!!!!!!!!!!!!!!! ???????????? $$$$$$$$$$$"
    Если ты преминешь туда свой "билдер" то значение !!!!!!!!!!!! измениться на то что тебя будет в Edt1
    ????????? в то что будет из Edt2
    $$$$$$$$ в то что будет из Edt3

    Понял?
     
    • Like Like x 1
  12. SAIND

    SAIND

    Регистрация:
    27 сен 2012
    Сообщения:
    743
    Симпатии:
    606
    Просто меняй переменные стринг например. ????? На! !!!!!!! И чтобы заисывала в другой эдит. И создай не одну перемееную стринг а три и все а код зделай три раза повторяюшейся через промежуток ставь {- i}
     
  13. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    как не пробую неполучается
     
  14. SAIND

    SAIND

    Регистрация:
    27 сен 2012
    Сообщения:
    743
    Симпатии:
    606
    Дома буду попробую видео замутить, ток я сам так не делал но думаю получится.
     
  15. TopicStarter Overlay
    Ltybcrf

    Ltybcrf Гость

    неработает в чём ошибка ребята ????????
    Принципиально давайте доделаем билдер на 2 строки ато я так понял никто неумеет!
     
  16. Walentinka

    Walentinka

    Регистрация:
    29 янв 2013
    Сообщения:
    96
    Симпатии:
    47

    Ну что за детский развод на слабо?
    Мы даем тебе код, ты говоришь что он не рабочий, может ты, что то не так делаешь?
    Причем новичков мы ругаем, типа ничего не делаете, и выполняем негласное правило "не давать сразу готовый код", а тут тебе и код держи и советов хоть отбавляй. А оказывается, что тут никто "ничего" не умеет, так что ли получается ? ;)
     
  17. SAIND

    SAIND

    Регистрация:
    27 сен 2012
    Сообщения:
    743
    Симпатии:
    606
    У тебя одна переменая. Стринг oldstring создай еще одну и замени oldstring на например на созданую стринг oldstringt идолжно зароботать т.к ты все запихиваеш в одну переменную oldstring
     
  18. Born

    Born

    Регистрация:
    19 янв 2013
    Сообщения:
    257
    Симпатии:
    147
    Я сёдня ила зара буду дома и скину тебе свой самописный билдер 2хВариантовый)))2х эт значит 1й чтобы прога лежала с билдером(stub.exe)2ой это самa прога(stub.exe)будет лежать в ресурсах.Да и не понимаю!почему тебе в приватном разделе не помогают?
     
  19. Walentinka

    Walentinka

    Регистрация:
    29 янв 2013
    Сообщения:
    96
    Симпатии:
    47
    Время идет, форум ждет, где обещанный прЕват? ;)
     
  20. Alex-ey

    Alex-ey

    Регистрация:
    26 май 2012
    Сообщения:
    513
    Симпатии:
    323
    Был же ш вроде, тока там 150 хайд как мне помниться... Тебе неподсилу
     

Поделиться этой страницей

Загрузка...