Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-29272
gsvserg
2004-01-20 13:40
2004.02.10
Временные таблицы в MSSql Server 2000


4-29676
FBI
2003-12-08 13:48
2004.02.10
Подбор


14-29582
Calm
2004-01-19 19:50
2004.02.10
Standart Delphi Library.


6-29506
abyss
2003-11-26 22:05
2004.02.10
Програмно изменить локальный IP адрес


1-29395
SnapIn
2004-02-02 06:14
2004.02.10
Удалить объект





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский