Как добавить "Enter" в Textbox?

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

Как добавить "Enter" в Textbox?

Сообщение Snake68 » 12.08.2004 (Чт) 0:34

Доброе время суток!
Честное слово, пытался, как всегда разобраться сам, но, потерпел грустное поражение.
Загвоздка, да и сам вопрос, состоит в следующем: как в элемент управления TextBox вставить "Enter"?!
Поясню: имеется форма, которая, при нажатии на некую кнопку, выбрасывает еще одну форму поверх себя. Последняя (дочерняя) форма модальна (или немодальна - всегда путался в этом! Короче, пока не закроешь верхнюю форму, доступа к нижней нет) по отношению к нижней. На нижней (материнской) форме расположен большой TextBox, наполнение которого происходит из дочерней формы путем нажатия неких кнопок. В зависимости от положений радио, чекбоксов и листбоксов, по нажатию на некие кнопки в TextBox на материнской форме пишутся некие записи.
Причем, записи эти не обновляются каждый раз, а дописываются в конец предыдущих записей. В идеале, результат, полученный в TextBox должен выглядеть так:

Запись 1
Запись 2
Запись 3
...
Запись N

Я перепробовал все известные мне способы, но, к сожалению... Короче, ничего не получилось! Записи пишутся в строчку! Я пробовал в основном такие построения:

form1.TextBox1.text = form1.TextBox1.text + " " + "5" + chr (13)

Вместо "+" я пользовался и "&", но результат тот же. Я добился только вставки крокозямбры, вместо перевода строки. Возможно я использую не тот chr, может надо не (13), хотя логика подсказывает, что дело не в этом. Пробовал я такое построение в VB, который идет вместе с МС Оффисом - там все работает как надо. Я просто на лист вставлял текстбокс и кнопку. Пробовал и на форме в Ворде - опять работает! Может библиотеку какую подключить надо?! Так, вроде, одинаковые стоят...
Почему мне нужно использовать именно TextBox? Потому что результат полученный в нем мне нужно будет в именно таком виде скопировать в другую программу, документ и проч. Я взял TextBox, как наиболее доступный, понятный и простой элемент. А потом выяснилось, что я ошибся:-(
Я был бы очень Вам благодарен, если бы Вы смогли прояснить для меня
создавшуюся ситуацию или, даже, сказать как вставить перевод строки в
проклятый TextBox.

Заранее Вам большое спасибо за будущую возможную помощь.

P.S. Чуть не забыл: я програмлю на VB 6.0 и не скоро получу возможность достать 7-й. А прога нужна уже сейчас...

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.08.2004 (Чт) 0:46

разделитель строк - vbCrLf
Text1.MultiLine выставь в True

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 12.08.2004 (Чт) 11:55

А для полос прокрутки измени свойство ScrollBars :idea:

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 12.08.2004 (Чт) 13:19

немного добавлю...
символ с кодом 13 (VB-константа vbCr) - это символ возврата каретки (именно так он называется еще со времен первых принтеров)
символ с кодом 10 (VB-константа vbLf) - это символ перевода формата (или перевода строки (англ. Line Feed))

так вот, в *nix-системах для обозначения конца строки и перехода на новую используется символ LF (ASCII-код = 10)
в Win32 (да и в DOS тоже) используется комбинация символов CR (ASCII-код = 13) и LF.

следовательно, что бы добавить в текст перевод строки (или "Enter", как ты его обозвал) нужно к тексту добавить два символа:
Код: Выделить всё
string = string & chr(13) & chr(10)
в VB к счастью имеется встроенная константа vbCrLf = chr(13) & chr(10)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.08.2004 (Чт) 14:37

Cyrax писал(а):немного добавлю...
символ с кодом 13 (VB-константа vbCr) - это символ возврата каретки (именно так он называется еще со времен первых принтеров)

Ещё раньше - со времен телетайпов.

Cyrax писал(а):символ с кодом 10 (VB-константа vbLf) - это символ перевода формата (или перевода строки (англ. Line Feed))
Перевод формата, Form Feed - это другой символ, Chr(12).

Cyrax писал(а):так вот, в *nix-системах для обозначения конца строки и перехода на новую используется символ LF (ASCII-код = 10)
в Win32 (да и в DOS тоже) используется комбинация символов CR (ASCII-код = 13) и LF.

А на маках - Chr(13) :-D

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 12.08.2004 (Чт) 14:55

2tyomitch: спасибо что поправил :)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.08.2004 (Пт) 8:44

tyomitch, сразу видно фидошника :)
Ты бы еще все специальные коды расписал :)
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList