Меню сайта
Категории раздела
Тобольск [0]
ТГСПА [0]
Delphi [40]
Basic [0]
Разное [4]
Радио
ЧАТ
200
Облако тегов
Облако фото
Форум
  • композитная арматура (0)
  • Справедливо ли это???? (1)
  • Недвижимость в Тюмени (1)
  • Качество услуг и обслуживания (2)
  • строительный эксперт (0)
  • гид по Греции (0)
  • винные туры по Италии (0)
  • деревянные лестницы (0)
  • гид по Италии (0)
  • Разные поздравления (1)
  • Главная » 2011 » Март » 20 » Билдер(Builder)
    23:47
    Билдер(Builder)

    Много видел статей про создания Билдера к трою или вирю и захотел написать свой.

    Как всегда не чего лучше изучения книг и практики нету(ну возможно просмотр видео 


    Ты написал свой трой и каждый раз его редактировать в исходниках не удобно,

    согласись.

    (такие параметры на пример как почта или ftp)

    Для этого мы и напишем билдер.


    Пример будет на замене обычного текста в простой программе.

    Открываем delphi 7,создаём простой проект и на форму кинем Edit.

    В инспекторе объекта Edit ищем Text и вписываем xxxxxxxxxx можете другое написать

    ,не в этом суть,а в количестве х

    Так как большее количество мы не изменим и программа просто не запустится(то есть,

    чем больше х тем лучше).


    Сохраните проект и компилируйте
    Назовём полученный файл test.exe


    Теперь приступим к созданию билдера,который будет изменять надпись

    в Edit(xxxxxxxxxx) на нужную нам.


    Открываем опять delphi 7 и создаём новый проект.

    На форму кинем Edit и Button.

    Сохраним проект.В папку с сохранённым проектом кинем ранее созданный text.exe

    Там же создадим текстовый документ и напишем:Скрытый текст, требуется 0 сообщение(ий) (сейчас у вас 204):

    code:
    TEST EXEFILE C:\Users\admin\Desktop\test\test.exe



    Сохраним его и переименуем в test.rc

    Открываем cmd и пишем>brc32.exe C:\\путь до файла\test.rc

    У вас получится файл test.res

    Открываем наш проект с билдером и находим {$R *.dfm} чуть ниже допишем {$R test.res}

    Это мы наш text.exe поместили в ресурсы билдера.
    Теперь нам нужно прописать его извлечение из ресурсов и замену нашего xxxxxxxxxx

    В проекте ниже {$R *.dfm} пишем две процедуры:Скрытый текст, требуется 0 сообщение(ий) (сейчас у вас 204):

    code:
    function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
    var
    Res: TResourceStream;
    begin
    Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
    try
    Res.SavetoFile(ResNewName);
    Result := True;
    finally
    Res.Free;
    end;
    end;

    procedure ReplaceStr(FileName, OldStr, NewStr: String);
    var
    f: file;
    l: Longint;
    S: string;
    begin
    S := OldStr;
    AssignFile(f, FileName);
    Reset(f, 1);
    for l := 0 to FileSize(f) - Length(OldStr) - 1 do
    begin
    Application.ProcessMessages;
    Seek(f, l);
    BlockRead(f, OldStr[1], Length(OldStr));
    if OldStr = S then
    begin
    Seek(f, l);
    BlockWrite(f, NewStr[1], Length(NewStr));
    end;
    end;
    CloseFile(f);
    end;



    Теперь нажимаем два раза на Button и пишем:Скрытый текст, требуется 0 сообщение(ий) (сейчас у вас 204):

    code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    StrTest, hTest: String;
    begin
    StrTest := Edit1.Text;
    if StrTest = '' then
    begin
    ShowMessage('Введите значение');
    Exit;
    end;
    hTest := StrTest + #0;
    begin
    ExtractRes('EXEFILE', 'TEST', 'test.exe');
    ReplaceStr('test.exe', 'xxxxxxxxxx', hTest);
    ShowMessage('Готово');
    end;
    end;



    Компилируем и проверяем.

    Ура :yahoo: работает!!!

    Вот и ты создал свой первый билдер.


    P.S. К сожалению этот код не работает на delphi 2010!!!
    Категория: Delphi | Просмотров: 652 | Добавил: SeM | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    Календарь
    «  Март 2011  »
    ПнВтСрЧтПтСбВс
     123456
    78910111213
    14151617181920
    21222324252627
    28293031
    Новый Год
    Опрос
    Добавить на сайт?


    Всего ответов: 6
    Всего голосовало: 6
    Обсудить на форуме
    Друзья сайта
    измерьте скорость интернета Яндекс.Метрика
    Проверить тИЦ и PR
    Статистика
    Погода
    Яндекс.Погода
    Коменнтарии

    Извиняюсь, заработал. Спасибо за урок biggrin

    Компонент не работает

    Давайте помогу разобраться ? вы хотите что бы когда выбиралась станция сразу начинала проигрывать? скиньте исходник или как лучше связаться с вами?

    у меня все работает!

    Нифига не робит...
    Кто знает как сделать чтобы на жесткий жертвы сохранял..
    ISQ 606017777

    FSDGHDFJHRG


    Отзывы Фото
    6 микр. Красивое место....

    Ершов ))))

    Старый музей но щас его перенесли...

    Фотография под горы smile

    Красивое фото!!! smile

    Copyright MyCorp © 2024