powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопросы по структуре, организации и принципам кода в VB6->
25 сообщений из 180, страница 4 из 8
Вопросы по структуре, организации и принципам кода в VB6->
    #36644355
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiПодскажите какое событие возникает в тот момент ,когда форма становится активной?
Мне нужно после закрытия диалогового окна, в сл. необходимости, выполнить некоторые действия на вызывающей этот диалог форме.

Вы не поверите. Activate.

Тока эта... у вас диалоговое окно случайно не модальное?

Я хотел его сделать модальным, но сходу что-то не нашел проперти такой. Ну короче, должно быть модальным. Обратите внимание, как я элегантно вплел в один вопрос другой.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644361
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiЯ хотел его сделать модальным, но сходу что-то не нашел проперти такой. Ну короче, должно быть модальным. Обратите внимание, как я элегантно вплел в один вопрос другой.

У метода Show формы есть параметр, позволяющий показать ее модально.
И тогда такой интересный момент - выполнение кода вызвавшей формы приостанавливается до закрытия модельной формы. То бишь не нужно вам никакое событие Activate.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644362
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiОбратите внимание, как я элегантно вплел в один вопрос другой.
Обратите внимание, как я эленгантно намекнул о бессмысленности первого вопроса
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644373
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiОбратите внимание, как я элегантно вплел в один вопрос другой.
Обратите внимание, как я эленгантно намекнул о бессмысленности первого вопроса

Да, спасибо большущее! Мне есть чему учиться, а благодаря нашему с Вами общению - есть у кого.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644376
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. пойду поставлю себе нерукотворный памятник...
очередной....
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644921
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вот такая переменная:
Код: plaintext
Dim TempStrClip As String

В программе она инициализируется. В результате она (переменная) беременна вот этим:
Код: plaintext
1.
2.
3.
4.
5.
6.
"ID	ParentID	Name	Library Ref	Footprint Ref
2671	1235	1k	Res	RES0850
2672	1235	2k	Res	RES0850
2673	1235	3k	Res	RES0850
2674	1235	4k	Res	RES0850
"
Нужно разобрать на части эту "табличку" и каждый элемент обработать.

Планирую использовать функции, которые будут искать "энтеры" и таким образом разбивать инфу на строки, а потом искат в каждой строке "табы" и разбивать ее на отдельные слова.
Скажите правильно ли я потрачу время вгрызаясь в спецсимволы и индексы итераций?
Спасибо.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644932
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри функцию Split

ЗЫ: после того, что между нами было, предлагаю на "ты"
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644935
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал диалоговое окно модальным:
Код: plaintext
1.
2.
3.
...
.Show vbModal
...
На форме диалога грид (GridEX 2000), в случае если в гриде несколько строк- не вызывается контекстное меню для этой формы, вот код для его (меню) открытия:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub GridEX1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    
    If (Button =  2 ) Then
        frmPropComponents.PopupMenu PopUpMenuProperty
    End If
    
End Sub

Если модальность зерэмить ,то работает четко.
Шо за дела? Спасибо.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644941
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, на то оно и модальное, чтобы карась не дремалне открывалось на нем что попало
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644942
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПосмотри функцию Split

ЗЫ: после того, что между нами было, предлагаю на "ты"

Да, конечно, с удовольствием.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644950
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПохоже, на то оно и модальное, чтобы карась не дремалне открывалось на нем что попало

Интересно, то что если строка в гриде одна, то срабатывает и при модальном режиме открытия этой формы. Траблы только если строк на гриде много.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36644960
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiИнтересно, то что если строка в гриде одна, то срабатывает и при модальном режиме открытия этой формы. Траблы только если строк на гриде много.

Вот и не пользуюсь я сторонними компонентами...
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36646165
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Protutti-fruttiИнтересно, то что если строка в гриде одна, то срабатывает и при модальном режиме открытия этой формы. Траблы только если строк на гриде много.

Вот и не пользуюсь я сторонними компонентами...

Я нашел хелп к компоненту, буду читать.

Вот у меня еще один вопрос родился в промежутке между чисткой картофеля и уборкой рабочего стола:
А как быть если необходимо удалить одну "строку" в двухмерном массиве? Допустим я знаю индекс строки, получается, что мне нужно всем остальным (большим) индексам строк присвоить значения равные текущим минус один? А потом еще ReDim ом его пожать?
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36646167
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiВот у меня еще один вопрос родился в промежутке между чисткой картофеля и уборкой рабочего стола:
А как быть если необходимо удалить одну "строку" в двухмерном массиве? Допустим я знаю индекс строки, получается, что мне нужно всем остальным (большим) индексам строк присвоить значения равные текущим минус один? А потом еще ReDim ом его пожать?

Вот поэтому я люблю коллекции
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36646208
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВот поэтому я люблю коллекции

Тем более, если речь идет о таком массиве.
Он ведь по смыслу не массив двумерный. Это по сути - набор записей. И поэтому работать-то с ним удобнее именно в такой концепции. Объявить пользовательский тип с перечисленными полями, а экземпляры этого типа засовывать в коллекцию.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36647964
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спсибо, решил вовсе отказаться от массива а использовать существующую коллекцию ListItems объекта ListView. Вот все бы ничего, но не получается из формы В добавить ListItem на ListView в форме А

Код: plaintext
1.
2.
3.
4.
'По нажатию кнопки
Private Sub Command1_Click()
Dim itmX As Object
Set itmX = frmMain.lvListView.ListItems.Add(, "@" & "1000", "Hello!")
End Sub

что я не так делаю?
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36647996
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiчто я не так делаю?

Не приводите текст ошибки
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36647998
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю
Как вызываете форму?
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648002
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЗнаю
Как вызываете форму?

Ошибки не генерит компилятор.
форму диалога открываю так:
Код: plaintext
1.
2.
    With Forms.Add("frmPropComponents")
        .Show 
    End With
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648029
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы точно в VB 6 работаете?

Код: plaintext
frmPropComponents.Show
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648084
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tutti-fruttiShocker.ProЗнаю
Как вызываете форму?

Ошибки не генерит компилятор.
форму диалога открываю так:
Код: plaintext
1.
2.
    With Forms.Add("frmPropComponents")
        .Show 
    End With


Тогда на при попытке обратиться к форме так, как ты привел, приводит к запуску ЕЩЕ ОДНОЙ формы.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648090
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТогда на при попытке обратиться к форме так, как ты привел, приводит к запуску ЕЩЕ ОДНОЙ формы.

Невидимой, потому ты и не врубаешься, что происходит.

Я тебе уже где-то приводил, как можно передать в другую форму ссылку на объект.
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648643
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фух, немножко освободился, поподробнее объясню.

Дело в том, что если пишешь Form1.Show или Form1.ListView1.ListItems, то VB неявно создает экземпляр формы Form1, если таковой не был создан ранее. Причем Form1.Show сразу этот экземпляр показывает, все остальные вызовы - нет.
Это удобно для студентов с двумя формами, но неудобно для серьезной программы, в частности потому, что нельзя таким способом сделать несколько экземпляров одной формы.

Поэтому, не обращай внимание на замечание Konst_One, подход через Forms.Add более серьезен. Однако тогда не надо пользоваться обращением к форме напрямую по имени (потому что в этом случае создастся еще один экземпляр, невидимый). Тут два варианта: либо вести реестр запущенных форм (это может быть нужно с разными целями), либо передавать ссылку на конкретный экземпляр формы другой форме.

Ну либо, если нужно по простому и несколько экземпляров не требуется, можно обращаться через Form1.Что-то, но тогда и грузить форму надо через Form1.Show
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648744
tutti-frutti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форма "frmMain" - Главная форма моей программы
Форма "frmPropComponents" - Диалоговая форма

В форме frmMain, по определенному событию делаю:
Код: plaintext
1.
2.
3.
       With Forms.Add("frmPropComponents")
        .Show
        .StartForm lvListView
        End With
таким образом передаю ссылку на lvListView форме frmPropComponents


в диалоговой форме "frmPropComponents" делаю так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim LocalMyListView As ListView
...
Public Sub StartForm(MyListView As ListView)
...
Set LocalMyListView = MyListView
...
End Sub

таким образом создаю еще одну переменную которая будет ссылаться на lvListView формы frmMain


где-то там, в недрах процедур и функций формы "frmPropComponents" делаю :
Код: plaintext
1.
2.
3.
4.
5.
 
...   
Dim itmX As Object
Set itmX = LocalMyListView.ListItems.Add(, "@" & "1001", "Hello!")
...

Вот так и нужно?
...
Рейтинг: 0 / 0
Вопросы по структуре, организации и принципам кода в VB6->
    #36648749
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, один из вполне приемлемых вариантов.
...
Рейтинг: 0 / 0
25 сообщений из 180, страница 4 из 8
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопросы по структуре, организации и принципам кода в VB6->
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]