Текстовая переменная это string, переменная текстового файла это TextFile.
А вот пример с System.Windows.Forms:
{$reference System.Windows.Forms.dll}
{$reference System.Drawing.dll}
begin
var main_form := new System.Windows.Forms.Form;
main_form.StartPosition := System.Windows.Forms.FormStartPosition.Manual;
main_form.Bounds := new System.Drawing.Rectangle(100,100,500,300);
main_form.Closing += procedure(o,e)->System.Diagnostics.Process.GetCurrentProcess.Kill;
var b1 := new System.Windows.Forms.Button;
main_form.Controls.Add(b1);
b1.Bounds := new System.Drawing.Rectangle(50,100,400,100);
b1.Text := 'b1 text';
b1.MouseClick += procedure(o,e)->writeln('b1 clicked');
var ch_form := new System.Windows.Forms.Form;
ch_form.StartPosition := System.Windows.Forms.FormStartPosition.Manual;
ch_form.Bounds := new System.Drawing.Rectangle(200,400,300,200);
ch_form.ControlBox := false;
ch_form.Owner := main_form;
var b2 := new System.Windows.Forms.Button;
ch_form.Controls.Add(b2);
b2.Bounds := new System.Drawing.Rectangle(50,50,200,100);
b2.Text := 'b2 text';
b2.MouseClick += procedure(o,e)->writeln('b2 clicked');
(new System.Threading.Thread(procedure->
System.Windows.Forms.Application.Run(main_form)
)).Start;
{
//для последней формы не обязательно запускать новый поток, потому что дальше ничего не делается
(new System.Threading.Thread(procedure->
System.Windows.Forms.Application.Run(ch_form)
)).Start;
{}
System.Windows.Forms.Application.Run(ch_form);
end.
Спасибо за Ваше терпение, не судите строго, последний раз программировал под комп лет 10 назад
Суть в том, что запускаются окна, графическое и то что прописал с кнопкой.
Так вот пока не закрою то что с кнопкой, в графическом программа остановлена.
Ну я же так и написал в своей программе. Там закомментирован запуск потока для второй формы потому что это последнее в коде программы. Когда вызывается Application.Run - он отдаёт целый вызвавший поток запускаемой апликации. Запускайте в отдельном потоке, чтоб не основной отдавало форме.
Её вообще не убрать надо было а занести в отдельный поток… Но моя программа создаёт 2 не_графических окна, если вам второе не нужно - уберите всё связанное с ch_from и b2.
Смотрите как я поставил у первого окна в моей программе:
main_form.StartPosition := System.Windows.Forms.FormStartPosition.Manual;
main_form.Bounds := new System.Drawing.Rectangle(100,100,500,300);
То есть надо указать позицию и размер через Bounds (вообще есть ещё полно других свойств, позволяющих указывать отдельно, но Bounds это всё вместе). Но ещё надо не забыть поставить StartPosition на FormStartPosition.Manual, иначе позиция будет перезаписана, на значение по умолчанию для вашей винды, когда форма стартует. Кстати не важно в каком порядке их ставить, главное оба до старта формы.