Вопросы

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Dread Icefist
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 12.05.2006 (Пт) 13:03

Вопросы

Сообщение Dread Icefist » 30.05.2006 (Вт) 17:35

Я полный ламер, поэтому такие вопросы:

1. Как сделать, чтоб при нажатии на кнопку текст копировался в буфер обмена?
2. Как сделать несколько форм в одной программе и как сделать переход между ними путем нажатия кнопки?

Спасибо :roll:

Lumen
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 841
Зарегистрирован: 03.12.2005 (Сб) 16:09
Откуда: Брянск

Сообщение Lumen » 30.05.2006 (Вт) 17:56

1)
Код: Выделить всё
Private Sub Command1_Click()
Clipboard.SetText Text1.Text
End Sub

2)Project->Add Form
В обработчике события нажатия на кнопку пишешь Form1.Show
Подпись проходит рефакторинг

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.05.2006 (Вт) 18:02

0) За название темы незачот
1) Есть такой объект Clipboard, в нем есть метод SetText, юзай его
2) Сделать несколько форм элементарно при помощи их добавления и дизайна в дизайнере форм. Для перехода в другую форму пишешь в коде кнопки код типа

Код: Выделить всё
Sub Button1_CLick()
    Dim F As New Form2
    f.Show
End Sub


З.Ы. Уровень вопросов наводит на полное незнание языка. Советую почитать какую-нить енигу для начинающих. Это будет проще, чем дожидаться ответа на элементарные вопросы в форуме
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 18:16

!Viper!, а зачем ему создавать новый инстанс формы2. Ему ведь просто переход надо?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.05.2006 (Вт) 18:22

ну если инстанс есть, то создавать понятно дело не надо... Но что у него есть мы не могем знать. Соответствено, если есть инстанс, то:

Код: Выделить всё
Sub ButtonShowForm_CLick()
    F2.Show
End Sub


Ежели нету инстанса, то:

Код: Выделить всё
Sub ButtonCreateAndShowForm_CLick()
    Dim F2 As Ne Form2
    F2.Show
End Sub


Бум надеяться, что афтор поймет что к чему и, главное, знает разницу между инстансом (экземпляром) и классом.
Весь мир матрица, а мы в нем потоки байтов!

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 30.05.2006 (Вт) 20:29

В vb6 разницу заметить трудно :?
[Место cдаётся]

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 20:51

Денис Победря, да ну. А что ж тут тоже никакой разницы

Код: Выделить всё

Private Sub Command1_Click
  Form2.Show
End Sub


Код: Выделить всё

Private Sub Command2_Click()
   Dim F as New Form2
   F.Show
End Sub


Ха?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 30.05.2006 (Вт) 21:14

Никакой: умный VB для каждой формы создаёт одноимённую скрытую переменнуй, которой при первом обращении будет присвоен свежесозданный инстанс...
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 21:18

Да ну, если 5 раз щёлкнуть по Command1 - сколько мы увидем форм - одну.

А 5 раз по Command2 - целых 5.

И что 5 = 1 ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 30.05.2006 (Вт) 21:26

Дык то при многократном использовании.

А теперь внимание:
Код: Выделить всё
Private Sub Command2_Click()
   Dim F As New Form2
   Set F = Nothing
   F.Show
End Sub

Работает точно также как и
Private Sub Command2_Click()
Dim F as New Form2
F.Show
End Sub

:roll:
Изображение

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 30.05.2006 (Вт) 21:30

Треть я строчка, т.е. F.Show вызывает конструктор класса и форма опять создаётся, а поскольку предварительно она была создана как New т.е. клон и одна форма уже есть, то умный VB создаёт новую форму. Вот так
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 30.05.2006 (Вт) 21:33

Ага, а код
Private Sub Command2_Click()
Dim F as Form2
Set F=New Form2
Set F = Nothing
F.Show
End Sub
Вызовет ошибку :wink:
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 112

    TopList