Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизОчень глупый вопрос: как сделать в программе еще одно окно? Найти похожие ветки
← →
SeriousSam (2004-01-29 20:24) [0]Очень глупый вопрос: как сделать в программе еще одно окно? имеется в виду Form2 например.... вопрос глупый, но я новичек). Когда создаю через меню создать->форму (точно не помню как называется) открывается другое окно с кодом... как сделать что б это форума открывалась при нажатии на определенную кнопку. =)
← →
AlexeyITN (2004-01-29 20:35) [1]File\New Apllication
File\New Form
Нажимаем на Button (кнопочка вверху на панельке), а потом жмём на форму...
Дальше 2 раза жмём на кнопочку Button1, к-рую уже перетянули на форму.
Пишем Form2.ShowModal;
А в строчечке uses прописываем unit2 не забывая поставить запятую...
← →
SeriousSam (2004-01-29 21:04) [2]где писать именно //uses прописываем unit2//?
а без этого на строке Form2.ShowModal; ошибка Undeclared identifier: "Form2"
← →
panov (2004-01-29 21:15) [3]Находясь на форме, выбираем в меню File-->Use Unit
Потом смотрим в коде unit1, где находится фраза uses Unit2
← →
SeriousSam © (2004-01-29 21:37) [4]спасибо, работает. а как сделать чтоб переменная из Unit1могла использоватся и в Unit2?))
← →
Rouse_ (2004-01-29 21:39) [5]для этого нужно прописать
гses Unit1;
во второй форме, только во избежании перекрестных ссылок, прописать нужно после строчки implementation а не interface
Желаю успехов
← →
Андрей Сенченко (2004-01-29 21:47) [6]прочитать наконец любой букварь по Delphi
← →
Rouse_ (2004-01-29 21:55) [7]Кстати, действительно... если кто знает хорошую ссылочку по азам, приведите ее сюда...
← →
SeriousSam (2004-01-29 21:55) [8]ясно. //прочитать наконец любой букварь по Delphi// а ты мне его дай)
← →
SeriousSam (2004-01-29 21:59) [9]не получается. я очевидно че то неправильно делаю
Unit1:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit2;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
a: String;
begin
A :=Form1.Edit1.Text;
end;
end.
Unit2:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
a: String;
implementation
Uses Unit1;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Edit1.Text :=a;
end;
end.
во второй ворме при нажатии кнопки в поле edit1 вместо нужных симоволов появляется пустое место
← →
Rouse_ (2004-01-29 22:04) [10]> var
> a: String;
> begin
> A :=Form1.Edit1.Text;
> end;
Выделенную строку удали.
Переменная А должна в данном случае быть глобальна
Обьявлена она у тебя во второй форме, А в первой форме ты ее делаешь локальной, это не нужно...
← →
SeriousSam (2004-01-29 22:16) [11]а так ошибка Undeclared identifier: "a"
← →
Андрей Сенченко (2004-01-29 22:19) [12]Rouse_ © (29.01.04 22:04) [10]
Глобальные и локальные переменные для человека, установившего Delphi 2 часа назад - это что-то сродни понятию "прецедентное право" для потомственного слесаря.
SeriousSam (29.01.04 21:55) [8]
Дать к сожалению не могу, половая принадлежность и сексуальнвая ориетация не позволяет.
Порекомендовать - могу.
На мой ( и не только ) взгляд для начинающи свой путь программирования в Дельфи очень актульны и полезны книги Архангельского или Фаронова. Не важно какая ворованная версия установлена у Вас, возьмите книгу для версии пусть даже "-2" - избавитесь от очень многих вопросов.
← →
SeriousSam (2004-01-29 22:22) [13]так что с переменными люди?
← →
Андрей Сенченко (2004-01-29 22:24) [14]SeriousSam (29.01.04 21:55) [8]
В качетве первоначального ликбеза ( на этом конечно всё не кончится но все-же ) ....
Переменные, объяленные внутри процедуры или функции доступны там и только там.
Переменные, обяъявленные в секции implementation доступны во всём UNIT-е.
Переменные, обяъявленные в секции interface доступны во всех UNIT-ах проекта, которые упомянуты в секции USES нужного вам UNIT-а.
По-моему так ....
← →
Андрей Сенченко (2004-01-29 22:27) [15]Удалено модератором
Примечание: Тебя, конечно, с днюхой, но Оффтоп...
← →
SeriousSam (2004-01-29 22:30) [16]спасибо... наконец работает)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c