Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2014, 10:13
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
Печаль Сохранить форму как exe

Доброго времени суток. У меня есть вопрос, к примеру есть 2 формы, вторая форма существует для редакции первой формы, но не пойму как сохранить первую форму как exe.
Ответить с цитированием
  #2  
Старый 28.08.2014, 14:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

По-видимому, как следует из вопроса, способ редактирования содержимого первой формы в рантайме ужо организован полностью, похвально тогда вот вам такой вариант "сохранения" - на выходе из программы задаёте следующий деструктор формы
Код:
procedure TForm1.FormDestroy(Sender: TObject);
var
  FStr: TFileStream;
  MemStr: TMemoryStream;
  begin
  FStr:= TFileStream.Create('Form1.txt', fmCreate);
  MemStr:= TMemoryStream.Create;
  MemStr.WriteComponent(form1);
  MemStr.Position:= 0;
  ObjectBinaryToText(MemStr, FStr);
  MemStr.Free;
  FStr.Free;
 end;
затем создете новый проект с пустой формой и пишете в него такую креативную процедуру
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  FStr: TFileStream;
  MemStr: TMemoryStream;
begin
 if FileExists('Form1.txt') then
   begin
    Form1.DestroyComponents;
    FStr:= TFileStream.Create('Form1.txt', fmOpenRead);
    MemStr:= TMemoryStream.Create;
    ObjectTextToBinary(FStr, MemStr);
    MemStr.Position:= 0;
    MemStr.ReadComponent(Form1);
    MemStr.Free;
    FStr.Free;
   end;
end;
после компиляции основной сборки изменения в "редакторе" будут полностью отражаться на форме "исполнительного" проекта

Последний раз редактировалось Alegun, 28.08.2014 в 15:03.
Ответить с цитированием
  #3  
Старый 28.08.2014, 15:10
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Вы наверное не так поняли)). Вот смотрите, в проекте есть две формы. Первая форма пустая. Вторая форма дает возможность добавлять или редактировать что то на первой форме. И мне нужно готовую первую форму сохранить как *.exe. Без всяких *.txt и прочего.
Ответить с цитированием
  #4  
Старый 28.08.2014, 15:21
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Экзе без проекта не бывает, у вас по-любому будет их два или тогда при запуске основного должен обрабатываться сценарий запуска: толи показать редактор иль "готовый продукт", других вариантов окромя как таскать за собой борландовский компилятор не наблюдается
Ответить с цитированием
  #5  
Старый 28.08.2014, 15:34
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Тоесть, создать один проект чтобы от этого проекта создавалась основа и переходила на второй пустой проект?
Ответить с цитированием
  #6  
Старый 28.08.2014, 15:46
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Просто на начальном запуске нужно проверять в каком режиме запускать сборку, это делается в файле *.dpr примерно так
Код:
...
begin
if {нужное условие запуска} then
   Application.CreateForm(TForm1, Form1)
else
   Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Ответить с цитированием
  #7  
Старый 28.08.2014, 16:48
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А нельзя просто в TMemoryStream сделать WriteComponent и потом сделать из формы обычный exe?
Ответить с цитированием
  #8  
Старый 28.08.2014, 17:15
Аватар для Facepalm
Facepalm Facepalm вне форума
Прохожий
 
Регистрация: 03.02.2013
Сообщения: 40
Репутация: 2552
По умолчанию

Обычный????!!!! Это что-то типо тхт
4250
__________________
Ну ты понел ^_^.
Ответить с цитированием
  #9  
Старый 28.08.2014, 17:24
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

https://www.youtube.com/watch?v=zOhpuXIs3lg, вот на подобии такого.
Ответить с цитированием
  #10  
Старый 28.08.2014, 17:34
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

хаха, это же глюкфейс)) но ща вроде постабильней стал

ТС, может ты объяснишь, что тебе нужно в итоге? для какой цели "форму как exe"
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #11  
Старый 28.08.2014, 17:57
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

я хочу создать что то на подобии только не winblock а кое что другое)) но вот незнаю как сохранить форму в формате exe, как на видео.
Ответить с цитированием
  #12  
Старый 29.08.2014, 13:19
Аватар для min@y™
min@y™ min@y™ вне форума
Заблокирован
 
Регистрация: 29.08.2014
Адрес: Рязань
Сообщения: 26
Версия Delphi: D7, CB6, etc
Репутация: 10
По умолчанию

Прога-конструктор или что?
Ты бы переформулировал вопрос согласно вот этим тезисам.
Ответить с цитированием
  #13  
Старый 30.08.2014, 02:47
stanilar stanilar вне форума
Прохожий
 
Регистрация: 31.08.2009
Сообщения: 30
Репутация: 140
По умолчанию

Думаю что человек хочет заменить ресурсы выполняемого exe. Искать надо что-то наподобии этого, но с исходниками delphi.
Ответить с цитированием
  #14  
Старый 30.08.2014, 15:43
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Нет нет. Не заменить. Вы не так поняли, вот в проекте есть 2 формы, первая форма она пустая, а вторая форма там имеются настройки первой формы, ну короче говоря через 2 форму можно менять и добавлять объекты на первую форму, как только я добавлю все нужное я хочу первую форму сделать из нее exe'шник. И когда открываю exe-шник то запускалась бы программа но там бы имелась только первая форма которую я сделал в проекте.
Ответить с цитированием
  #15  
Старый 30.08.2014, 16:01
Аватар для min@y™
min@y™ min@y™ вне форума
Заблокирован
 
Регистрация: 29.08.2014
Адрес: Рязань
Сообщения: 26
Версия Delphi: D7, CB6, etc
Репутация: 10
Вопрос

Будь любезен, переведи на русский язык вот эту фразу:
Цитата:
Сообщение от BlackMonsta
как только я добавлю все нужное я хочу первую форму сделать из нее exe'шник
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025