Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

Очень глупый вопрос: как сделать в программе еще одно окно?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.019 c
1-29445
Shark
2004-01-30 20:50
2004.02.10
Ищется конвертор HTML в Doc


3-29223
DimaF
2004-01-20 05:27
2004.02.10
Помогите с IBTable данных IBX


1-29392
Андрей Л.
2004-02-01 16:06
2004.02.10
ShellListView


14-29576
Mike B.
2004-01-22 14:35
2004.02.10
Пингвины


1-29313
alexnmsk
2004-01-30 09:46
2004.02.10
Иммитация нажатия клавиш