powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / использование таблицы для удобства
77 сообщений из 77, показаны все 4 страниц
использование таблицы для удобства
    #37451561
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работаю на vb6. имеются несколько тысяч значений(слов), каждому из которых соответствует несколько свойств. и каждое значение нужно обработать довольно длинным кодом исходя из свойств этого значения. приходится вручную писать код для каждого значения. требуется создать что-то вроде таблицы, в 1 колнке которой планируется записывать значения, в остальных - их свойства. таблица более удобна для глаза, чем кусок кода, в который приходится втыкивать значения и свойства. а код уже будет брать данные из этой таблицы. ток как это устроить на vb6, я хз. p/s можно создать таблицу из тексбоксов, в принципе, то, что надо, (1 колонка и text1(x), 2 колонка из text2(x) и тд) но, наверно, должен быть более профессиональный способ. заранее спс
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37451701
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSFlexGrid
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37451717
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

а если в паре слов?))
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37451821
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать элемент управления MSFlexGrid
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37454353
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или Janus GridEx.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456392
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ммм знаю, что нублю, но не могли бы вы откэтээрвечить какой-ybmelm простой пример? а лучше оригинал этой команды, не могу понять, как вообще работает MSFlexGrid
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456414
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroпростой пример?

Код: plaintext
1.
2.
MSFlexGrid1.Rows= 5 
MSFlexGrid1.Cols= 7 
MSFlexGrid1.TextMatrix( 3 , 4 )="Слово из трех букв"
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456428
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

т.е. таблицу нужно заполнять каждый раз при запуске проги? а нельзя как-то запихнуть данные заранее? пользователь не должен видеть таблицу, она нужна для упрощения работы с многочисленными данными на уровне создания
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456451
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
остановился на том, как работать с таблицей до запуска программы. количество строк и таблиц и пару других функций поменял через пропертиес, а как запихать нужный текст в ячейки пока не соображу...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456470
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в "пропертиес" "стайл" "формат" можно написать что-нибудь в первой ячейке первого столбика. как в остальных - я хз. поиски продолжаются...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456480
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroтаблицу нужно заполнять каждый раз при запуске проги?да
BelowZeroа нельзя как-то запихнуть данные заранее?нет
BelowZeroпользователь не должен видеть таблицусделай ее невидимой
BelowZeroдля упрощения работы с многочисленными данными на уровне созданияBelowZero а как запихать нужный текст в ячейки пока не соображу...сделай из нее юзерконтрол и запихни туда данные на этапе его инициализации. тогда данные будут в таблице уже на этапе разработки
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456491
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proсделай из нее юзерконтрол и запихни туда данные на этапе его инициализациичтобы избежать далее большого списка глупых вопросов - вот тебе пример - я сегодня добрый почему-то (поел только что вкусно :)
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456494
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Shocker.Proсделай из нее юзерконтрол... как делают контрол?) смысл: прога должны брать данные не из безпорядочных символов, а из таблицы или списка, который я могу видеть на уровне создания проги
Shocker.ProBelowZero
таблицу нужно заполнять каждый раз при запуске проги?

да тогда затея теряет смысл, т.к. она не вносит порядка в прогу на уровне создания
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456498
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero... как делают контрол?) я-таки тебя опередил :) см. выше
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456516
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

пасяп) т.е., если я прально понял, контрол выполняет некоторые дествия ещё на уровне создания? ну или что-то типа того... завтра выложу ещё несколько вопросов, скорее всего по этим же таблицам.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456521
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда контрол размещается разработчиком на форме, удаляется, меняются его размеры и т.п., в нем уже тогда происходят некоторые события, которые можно обрабатывать
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37456537
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора нельзя как-то запихнуть данные заранее?
Почему бы и нет?
Вариантов много.
Просто хранить в текстовом файле, в базе данных, в файле ресурсов...
При запуске программы или при необходимости считывать.
И не обязательно грузить в грид. Можно обойтись и массивом
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457839
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока что таблицей не получается упорядочить кучу тексбоксов и лейблов. 1) не получается заставить один из столбиков быть пригодным для заполнения после открытия проги(с клавиатуры, как стандартный текстбокс) 2)сделать некоторые ячейки и столбики невидимыми(получается только спрятать всю таблицу)
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457843
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero1) не получается заставить один из столбиков быть пригодным для заполнения после открытия проги(с клавиатуры, как стандартный текстбокс)для этого надо при двойном клике на ячейке раполагать поверх нее стандартный текстбокс, а при потере им фокуса - прятать его, а текст переносить в ячейку.
BelowZero2)сделать некоторые ячейки и столбики невидимыми(получается только спрятать всю таблицу)неимоверно сложно догадаться изменить ширину столбца
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457867
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

спасибо за быстрый ответ) опять же wigth изменяет ширину всей таблицы( в пропертиес всё на ломанном английском, нужной опции не нашёл(
Shocker.Proдля этого надо при двойном клике на ячейке раполагать поверх нее стандартный текстбокс, а при потере им фокуса - прятать его, а текст переносить в ячейку. на словах понятно, а как это будет выглядеть в байтах?) события нажатия будет для всей таблицы... как определить, какая именно ячейка нажата(кстати желательно с 1 нажатия)? как запихать текст с текстбокса в нужную ячейку догадываюсь, но опять для этого нужно знать, какая ячейка выделена мышкой...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай, ты, конечно, хорошо устроился, я тебе справочник по флексу что ли? Дали тебе контрол, ну будь добр, просмотри все его свойства и события, их не так уж много. На все, что ты спрашиваешь, есть свойства. Когда (если) после этого останутся вопросы, тогда и задавай.

BelowZeroв пропертиес всё на ломанном английском
ЦЭ отдыхает
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457944
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросы те же... странно... куча текстбоксов неудобны своей неслаженностью и хаосом, а таблица своей неудобностью... почему бы не сделать нормальную таблицу с выбором свойств для каждой ячейки... хм... пока что несколько тысяч текстбоксов, поставленных рядом в виде таблицы, лидируют)
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457948
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroпока что несколько тысяч текстбоксов, поставленных рядом в виде таблицы, лидируютА ты попробуй реально это проделать и посмотри, сколько у тебя форма будет грузиться и ресурсов жрать... да и нельзя их сколько на форме разместить.
BelowZeroа таблица своей неудобностьюнеудобство заключается только в твоей лени

ЗЫ: есть другие сетки, которые имеют встроенную функцию редактирования ячейки
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457962
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proсколько у тебя форма будет грузиться и ресурсов жрать поФ)
Shocker.Proда и нельзя их сколько на форме разместить. печалька(...
Shocker.Proнеудобство заключается только в твоей лени скорее в незнании. по задумке на форме талица... первый столбик весь выполняет функцию лейблов. то есть просто надписи, беез какой-либо функциональности. 2 столбик тоже лейблы, но активно участвующие в работе проги. третий столбик заполняемые пользователем поля. с них нужно считывать инфу и записывать в них текст программно. 4-100500ый столбики - невидимые для пользователя столбики, в которых записаны свойства каждой строки, определеения, условия и тп. как это реализовать - хз. столбцов примерно 10 строк около 1000
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457963
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем нужны невидимые столбики? Почему нельзя хранить данные в массиве или коллекции?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457985
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпока что несколько тысяч текстбоксов, поставленных рядом в виде таблицы, лидируют)
АБАЛДЕТЬ!!

автордля этого надо при двойном клике на ячейке раполагать поверх нее стандартный текстбокс, а при потере им фокуса - прятать его, а текст переносить в ячейку.
Вовсе не обязательно! Вполне можно редактировать и грид:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDelete Then
    MSFlexGrid1.Text = Empty
End If
End Sub

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
  
    If KeyAscii =  8  Then
        If Len(Trim(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel))) >  0  Then
            MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel) = Mid(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel),  1 , Len(MSFlexGrid1.TextMatrix(MSFlexGrid1.RowSel, MSFlexGrid1.ColSel)) -  1 )
            Exit Sub
        Else
        Exit Sub
        End If
    ElseIf KeyAscii =  13  Then
        If MSFlexGrid1.Col <=  2  Then
            SendKeys "{right}"
            Exit Sub
        ElseIf MSFlexGrid1.Col =  3  Then
            MSFlexGrid1.Rows = MSFlexGrid1.Rows +  1 
            SendKeys "{home}" + "{down}"
            Exit Sub
        End If
    Else
       
        If MSFlexGrid1.Col =  0  Then
               ElseIf MSFlexGrid1.Col =  1  Then
               ElseIf MSFlexGrid1.Col =  2  Then
               End If
    End If
    MSFlexGrid1.Text = MSFlexGrid1.Text + Chr(KeyAscii)
End Sub
Только непонятна задача пока. Такое впечатление, что автор пытается забивать гвозди микроскопом!.
Сформулировал бы конкретней задачу!?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457995
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортретий столбик заполняемые пользователем поля. с них нужно считывать инфу и записывать в них текст программно.
Всё таки заполняется пользователем или программно? Хотя это и не так важно.
Массив тебе поможет
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37457999
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37458213
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex77755Вовсе не обязательно! Вполне можно редактировать и грид:
офигенный редактор, ни тебе выделения, ни тебе копипаста, ни курсора
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37462964
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извините за долгое отсутствие...
Shocker.ProЗачем нужны невидимые столбики? Почему нельзя хранить данные в массиве или коллекции? можно, но цель - упростить программу на уровне создания. использовать несколько коллекций, при этом в любую секунду видеть что как происходит и с чем связано - проблематично. наилучшие предложенные варианты: 1) грид, но много мудрённого в реализации(создание невидимых столбиков, ввод с клавиатуры) 2)выборка данных из вне. но таблиц в txt файлах, кажется, нет, doc считывать будет проблемно. можно постараться и txt что-нить придумать, например, спец знак границы таблицы, но обращаться к блокноту 600000 тысяч раз будет мудрённее, чем брать данные из грида или тексбоксов
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37462970
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex77755,

не знаю, что за exe, но комп не может его открыть, ссылаясь на отсутствие каких-то компонентов
alex77755Вовсе не обязательно! Вполне можно редактировать и грид: спс, сейчас попробую разобраться
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463121
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос по функциональности бейсика: куда нужно запихнуть вот такую строку? текст1 находится на главной форме
Код: plaintext
MSFlexGrid1.Text = Text1.Text
если в код главной формы - ничего не происходит. если в контроль - используется текстбокс контрола а не главной формы. если в модуль - ничего не происходит а главная форма и контрол смешиваются. подскажите плз
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463138
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря что требуется. Присвоить текст ячейке? Используй TexMatrix. Я ведь давал пример в начале топика.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463140
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, или ты не знаешь, как получить доступ внутрь контрола извне?

Поизучай Property Let и Property Get
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463303
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

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

Property - это шлюз между кодом формы и внутренними ресурсами контрола
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463401
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, можешь просто сделать Public Function в контроле для записи нужных свойств в сетку и использовать ее из формы
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463423
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

спс, паблик из контрола помог... но нужно как-то подавать команды из кода главной формы, а не из паблика контрола
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463466
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для команд делаешь Public Sub В КОНТРОЛЕ (то есть фактически делаешь метод) и вызываешь этот метод контрола ИЗ ФОРМЫ
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463485
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

сделал паблик саб в контроле, но хз как вызвать метод контрола из формы... если столько мудрённостей ради таблицы - Vb явно не хватает объектов для постройки программ
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463503
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не в VB не хватает объектов, это у тебя избыток лени.
Я тебя уже посылал изучать основы ООП

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

например, у меня в контроле
Код: plaintext
Public Sub qwe()
в код главной формы пишу qwe() - ошибка, goto qwe() - ошибка, call qwe(), qwe, ошибка, ошибка(
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463533
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

А написать <Control>.qwe() не пробовал?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463548
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

пробовал, требует постановку =
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463561
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Вы рискуете оказаться в положении ЦЭ
Ибо вашего кода целиком никто не видел, выдаваемых оболочкой ошибок - тоже, Шокер по поводу ООП уже напоминает... а Вы высказываетесь все более кратко.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463589
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

ща попробую объяснить... у меня был код...работает идеально, проблем с быстродействием и функциональностью нет, но... код - сплошная путаница. а в нём ещё только около 15 значений. а их должно быть несколько сотен. чтобы не свихнуться, нужно создать что-то вроде таблицы, чтоб управлять всем этим и не запутаться. повторюсь, в идеале: поставленные рядом текстбоксы и лейблы. надеялся(походу зря), что в Vb есть нормальная стандартная таблица с многофункциональной обработкой каждого столбца и ячейки. сейчас остановился на эмэсфлекс. но от неё нет толку, если я не вижу, какие данные введены в таблицу. теперь в эмэсфлекс с контроле. чтобы управлять таблицей из главной формы, оказывается, надо посылать как-то запуск пабликовской формы контрола из главной формы. одно описание предполагаемого действия наводит ужас, так что основная цель - обблегчение восприятия кода на уровне создания уже не выполняется. пытаюсь Shocker.Proпри обычном клике на ячейке раполагать поверх нее стандартный текстбокс, а при потере им фокуса - прятать его, а текст переносить в ячейку. вроде бы, все составляющие задачи понятны и выполнимы, но (WTF?!?) основная форма и таблица контрола не связаны! то есть таблица в контроле, тексбокс в главной форме. пишу
Код: plaintext
MSFlexGrid1.Text = Text1.Text
в коде главной формы - не пашет. пишу в контроле - пишет, нет текстбокса(т.к. он в главной форме). вотъ...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463755
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero,

Давайте так:
- ну не вижу я (как и некоторые тоже) смысла в наращивании количества контролов формы...
- ну не вижу я смысла (как и другие некоторые тоже) во взамодействии с листами/ячейками, да еще и с привязкой к ним контролов...
- ну не вижу я в ваших знаниях (да и в своих тоже, чего скрывать ) полного понимания взамодействий объектной модели VBA (97-2003). Хотя-я-я... знание того, что есть инкапсуляция, но нет ни наследования, ни полиморфности - могут дать не один толчок в нужном направлении.
Ну и поменять схему взаимодействия (вернее, сделать нормализацию) - никогда не помешает...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463761
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMни полиморфностидабы не кричали ревнители ООП: "полиморфизма"
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

Видишь ли, Белову было бы в данном случае достаточно понимать, что такое класс, экземпляр класса, свойство и метод. Тогда у него не возникало бы желание вызывать метод с помощью команды Goto. Но, как было ясно еще год назад, что он - второй ЦЭ, учебник по основам он прочитать не хочет и в результате тратит сутками время на то, на что требуется пять секунд.


Еще добавлю насчет юзерконтролов. В своем большом проекте на VB6 который я поддерживаю и даже немножко продолжаю развивать я пришел к тому, что у меня на формах из штатных контролов остались только кнопка и метка. ВСЕ ОСТАЛЬНОЕ - это мои юзерконтролы, построенные на базе штатных. Это необычайно удобно - унифицированные интерфейсы взаимодействия с формой разномастных контролов позволяют унифицировать и саму обработку формы до такого состояния, что весь код формы часто помещается на один экран.
Более того, каждя форма тоже представляет собой контрол. В проекте есть лишь три объекта Form с разными параметрами границы (фиксированная, не фиксированная) и контролы-"формы" загружаются динамически на одну их этих форм. Это позволяет унифицировать и механизм управления формами.

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

И при таком обилии юзерконтролов нет утечек памяти?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463829
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463899
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор унифицированные интерфейсы взаимодействия с формой разномастных контролов позволяют унифицировать и саму обработку это наверно очень захватывающе, но как выполнить эту простую строчку
Код: plaintext
MSFlexGrid1.Text = Text1.Text
AndreTMНу и поменять схему взаимодействия (вернее, сделать нормализацию) - никогда не помешает... ............. т.е.? никаких проблем с реализацией и выполнением программы нет. если вы имели ввиду удобство во время создания - для этого и создан этот топик
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463921
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroэто наверно очень захватывающе, но как выполнить эту простую строчку
Код: plaintext
MSFlexGrid1.Text = Text1.Text

для тупоголовых и у которых нет гугла и F1
Доступ к содержимому текущей ячейки (которая выделена пользователем) осуществляется через свойство Text.

Код: plaintext
1.
Debug.Print MSFlexGrid.Text
MSFlexGrid.Text = "Привет!"

Для доступа к содержимому произвольной ячейки используется свойство TextArray. Оно имеет один параметр - Index. Это индекс ячейки, содержимое которой нужно изменить или получить. Он вычисляется следующим образом. К номеру столбца ячейки прибавляется произведение ее номера строки на количество колонок, определяемое свойством Cols. Для расчёта индекса ячейки удобно использовать эту функцию:

Код: plaintext
1.
2.
Function GetCellIndex (MSFlexGrid As MSFlexGrid, row As Integer, col As Integer)
GetCellIndex = row * MSFlexGrid.Cols + col
End Function
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463926
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

для тех, кому лень прочитать предыдущие смс, прежде чем ответить, повторюсь: код должен быть в главной форме, текстбокс в главной форме, талицу пришлось запихнуть в контрол. как управлять ею из главной формы - хз. с таблицей проблем нет, инструкцию, которую вы предоставили, я прочитал на сайте по программированию после первого упоминания мсгрид в этом топике
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463934
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroдля тех, кому лень прочитать предыдущие смс
надо формулировать свой вопрос чётко и ясно, а не рассирать на несколько страниц
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463942
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtim,

вопрос я поставил чётко в первом же смс. треть остальных смс занимают ответы по вытекающим из основной темы вопросам, треть флуд по погоде и посторонним темам, треть обвинение во влуде с засиранием топика на несколько страниц.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463944
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
timtimДля доступа к содержимому произвольной ячейки используется свойство TextArrayЗачем так сложно, если есть TextMatrix?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463945
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroдля тех, кому лень прочитать предыдущие смс, прежде чем ответить, повторюсь: код должен быть в главной форме, текстбокс в главной форме, талицу пришлось запихнуть в контрол. как управлять ею из главной формыдля тех, кому лень читать мои ответы, повторю - это делается через публичное свойство, метод или функцию контрола.
Как создать свой метод - я сказал
Как воспользоваться методом - сказал AndreTM
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463946
timtim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЗачем так сложно, если есть TextMatrix?
Я так понял, что ТС не нужно легкого решения.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463947
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикладываю пример
считаю, что этого достаточно для понимания автором способа реализации его желания
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37463987
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор талицу пришлось запихнуть в контрол.
Чем вызвана такая необходимость?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464078
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex77755автор талицу пришлось запихнуть в контрол.
Чем вызвана такая необходимость?

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

пасяп, теперь моя копилка знаний пополнена примером вызова контрола из формы. но строчка
Код: plaintext
MSFlexGrid1.Text = Text1.Text
по-прежнему невыполнима. первое, что приходит на ум, разместить в контроле
Код: plaintext
1.
2.
Public Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
MSFlexGrid1.Text = Me.Form1.Text1.Text 'конечно же ошибка
End Sub
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464118
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы до сих пор так ничего и не почитали?
Me внутри MSFlexGrid - это сам флекс. Где там в нем вы нашли Form1... etc?

Даю наводку - любой объект имеет свойство Parent - указатель на объект-родитель.
Если у вас MSFlexGrid расположен на Form1 - то обратиться к контролам формы "изнутри" флекса можно через MSFlexGrid1.Parent.<control>... При этом для уверенности - надо проверять, тот ли объект возвращен в качестве родителя.
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464227
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторчто и как происходит на уровне создания программы
Никогда не интересовало. Зачем?
Запустил в режиме отладки. Прошел пошагово. Всё видно.
Зачем необоснованно создавать себе проблему и потом искать пути её решения?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464231
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM Me внутри MSFlexGrid - это сам флекс.Интересно, как вы попали внутрь MSFlexGrid?
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464233
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпо-прежнему невыполнима
Отнюдь! Элементарно на базе твоего примера:
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464239
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На контроле тексбокс "Текст1" без рамки
В контроле:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Option Explicit
Dim RR, CC
Public Sub Записат(R As Integer, C As Integer, VALUE As String)
 MSFlexGrid1.TextMatrix(R, C) = VALUE
End Sub
Private Sub MSFlexGrid1_Click()
RR = MSFlexGrid1.Row
CC = MSFlexGrid1.Col
Текст1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left
Текст1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top
Текст1.Width = MSFlexGrid1.CellWidth
Текст1.Text = MSFlexGrid1.Text
Текст1.Visible = True
Текст1.SetFocus
End Sub

Private Sub MSFlexGrid1_SelChange()
MSFlexGrid1.TextMatrix(RR, CC) = Текст1.Text
Текст1.Text = ""
Текст1.Visible = False
End Sub
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37464243
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroпасяп, теперь моя копилка знаний пополнена примером вызова контрола из формы. но строчка
Код: plaintext
MSFlexGrid1.Text = Text1.Text
по-прежнему невыполнима. первое, что приходит на ум, разместить в контролепопробуй сам себе объяснить, чем отличается обращение к MSFlexGrid1.Text от обращения к MSFlexGrid1.Rows в моем примере? Я тебе объяснил, как посчитать яблоки в корзинке. Ты же все равно говоришь, что не можешь посчитать груши в корзинке, потому что знаешь только как считать яблоки.

Не делай сам из себе идиота. Я даю тебе сутки на размышление над моим примером без возможности задать вопрос. Тогда тебе ПРИДЕТСЯ подумать, чего тебе так не хочется.

ЗЫ: Обращение через Parent конечно можно сделать, но это не совсем правильно с точки зрения построения программы....
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37476197
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё раз извините за долгое отсутствие в своём же топике...

alex77755, в вашем примере текстбокс находится в контроле, а не на форме, что требуется в задаче(т.е. уметь обмениваться данными между контролом и формой) а насчёт exe файлов... очень уж я их не люблю, так как в 99,98% это вирусы. если даже нет, то толку в решении проблемы нет. если только вы не хотите похвастаться тем, что вы решили задачу, а я ещё нет)
буду экспериментировать...
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37476212
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот она, заветная строчка:
Код: plaintext
Parent.Text1.Text
никакой логики или прыжков выше головы. всё что нужно было, это антоним к me. им оказался parent. такими несложными, но полезными ответами длина топиков сократится в десятки раз)
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37476221
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
остались актуальными 2 темы: 1)сделать несколько столбиков невидимыми. 2)изменять ширину некороых стобиков(это решит и первую задачу, т.к. длину некоторых столбиков можно будет поставить на 0, т.е. спрятать их. сам работаю над третьей, неполучится - отпишусь
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37476268
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы не затруднять чтение топика, создам новую тему
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37476895
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В контроле:
Код: plaintext
1.
2.
Public Sub Shirina(C As Integer, SH As Integer)
 MSFlexGrid1.ColWidth(C) = SH
End Sub
на форме:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Комманда2_Click()
Dim C As Integer, SH As Integer
C = InputBox("Номер столбца", "",  2 )
SH = InputBox("И его ширина", "",  500 )
Me.UserControl11.Shirina C, SH
End Sub
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37487644
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как управлять объектами в контроле из главной формы? можно конешь создать в контроле событие и вызывать его, но это как-то неправильно.
Me.UserControl11.MSFlexGrid1.Rows = 1
не работает
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37487774
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО
авторкак-то неправильно
Совать грид в контрол в данном случае
...
Рейтинг: 0 / 0
использование таблицы для удобства
    #37487793
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZeroкак управлять объектами в контроле из главной формы?Так как создан новый топик 11462287 на ту же тему, эту закрываю
...
Рейтинг: 0 / 0
77 сообщений из 77, показаны все 4 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / использование таблицы для удобства
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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