powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / использование таблицы для удобства
25 сообщений из 77, страница 2 из 4
использование таблицы для удобства
    #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
25 сообщений из 77, страница 2 из 4
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / использование таблицы для удобства
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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