Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / лёгкий вопрос / 25 сообщений из 28, страница 1 из 2
26.08.2011, 11:34
    #37413153
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
у меня в проге условие: если А равно 1 или 4 или 7 или 10... и тд несколько сотен чисел то ...
как можно удобнее это записать? сейчас использую Case 1, 4, 7, 10, 13, ... всё работает, проблем в быстродействии нет, просто подозреваю, что такие цепочки записываются как-то по-другому
...
Рейтинг: 0 / 0
26.08.2011, 12:02
    #37413251
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Так и записываются, select case в этом случае самый быстродействующий вариант.
...
Рейтинг: 0 / 0
26.08.2011, 12:03
    #37413255
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Antonariy,

просто лень писать в строчку несколько сотен чисел...
...
Рейтинг: 0 / 0
26.08.2011, 12:44
    #37413360
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZeroпросто лень писать в строчку несколько сотен чисел
не пиши раз лень
...
Рейтинг: 0 / 0
26.08.2011, 12:50
    #37413377
`dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
один раз написать :)
...
Рейтинг: 0 / 0
26.08.2011, 12:51
    #37413384
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Код: plaintext
1.
2.
3.
4.
Select Case N
Case Is > 15 
Case Is > 7 
Case Is > 3 
...
ещё вот так можно и тд и тп, см справку
...
Рейтинг: 0 / 0
26.08.2011, 13:33
    #37413492
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
как вариант создать 1 раз коллекцию или массив (правда его тоже нужно заполнять но если между вашими числами есть связь то это упростит задачу или можно заполнять из файла например txt) ну и затем проверять вхождение вашего значения в массив и если оно входит выставлять Entry=True
...
Рейтинг: 0 / 0
26.08.2011, 13:51
    #37413541
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
А можно еще проще через алгоритм:

Если (заданное число-1)/3=целое число то
Подходит = Истина
Иначе
Подходит = Ложь
Конец если
...
Рейтинг: 0 / 0
26.08.2011, 21:53
    #37414306
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZeroу меня в проге условие: если А равно 1 или 4 или 7 или 10... и тд несколько сотен чисел то ...
как можно удобнее это записать? сейчас использую Case 1, 4, 7, 10, 13, ... всё работает, проблем в быстродействии нет, просто подозреваю, что такие цепочки записываются как-то по-другому
Код: plaintext
IF (A> 0 ) AND (A< 1000 ) AND ((A MOD  3 )= 1 ) THEN
...
Рейтинг: 0 / 0
26.08.2011, 22:06
    #37414314
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
TpaBka, Akina,
пасяп, то что нуно
...
Рейтинг: 0 / 0
26.08.2011, 22:54
    #37414347
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
ещё один простой вопрос... как удалить сразу все элементы коллекции? пытался просто remove+цикл, но удаляю я не по ключу, а по порядковому номеру, поэтому бейсик ругается
...
Рейтинг: 0 / 0
26.08.2011, 23:25
    #37414368
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
просто пересоздать ее
...
Рейтинг: 0 / 0
26.08.2011, 23:32
    #37414371
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Shocker.Pro,

ок, спс
...
Рейтинг: 0 / 0
27.08.2011, 10:15
    #37414487
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
эм... а как удалить коллекцию?)
...
Рейтинг: 0 / 0
27.08.2011, 10:44
    #37414504
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero, она как швабра, стоит в углу мешается???
...
Рейтинг: 0 / 0
27.08.2011, 10:49
    #37414505
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Ципихович Эндрю,

ЦЭ, мне нужно очистить коллекцию от данных, чтобы заполнить её снова другими. с удалением по циклу возникают трудности. можно, конечно, но не без бубна. парой смс выше предложен вариант пересоздать коллекцию. вот, сижу, пытаюсь
...
Рейтинг: 0 / 0
27.08.2011, 11:00
    #37414507
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero,
> пересоздать коллекцию. вот, сижу, пытаюсь
если дословно просто пересоздать и Вы пытаетесь, чего там пытаться
была
Dim col As New Collection
плюнули и сделали
Dim ЦЭ As New Collection
...
Рейтинг: 0 / 0
27.08.2011, 11:04
    #37414509
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Ципихович Эндрю,

... коллекция заполняется и очищается по циклу данными несколько тысяч раз. лень создавать несколько тысяц коллекций)
...
Рейтинг: 0 / 0
27.08.2011, 11:16
    #37414521
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero, ну и размаз ...
следующая попытка
Код: plaintext
1.
2.
3.
4.
5.
6.
Размер_коллекции1 = col.Count
'метод Remove удаляет элемент из коллекции
'объект для удаления можно задать либо с помощью индекса, либо с помощью имени
col.Remove  2 
col.Remove "K2"
'при удалении элемента коллекции VBA, так сказать, "заполняет дыры" - номера всех эле-ментов, следующих за удалённым, уменьшатся на 1
Размер_коллекции1 = col.Count
...
Рейтинг: 0 / 0
27.08.2011, 11:24
    #37414525
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Ципихович Эндрю,

это я знаю) как вариант можно удалять 1 элемент коллекции в цикле от 1 до col.Count... наверно, сделаю так
...
Рейтинг: 0 / 0
27.08.2011, 11:35
    #37414530
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero, несколько тысяч раз циклом удалять не лень, а лень создавать несколько тысяц коллекций, так это же будет 1000 умножить на 1000, разве не так
...
Рейтинг: 0 / 0
27.08.2011, 11:38
    #37414534
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Ципихович Эндрю,

коллекция заполняется несколько тысяч раз по несколько значений(не больше 10), а затем очищается. создавать 1000 коллекций мне даже с непрофессиональной точки зрения кажется... странно
...
Рейтинг: 0 / 0
27.08.2011, 11:44
    #37414538
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero,
>несколько значений(не больше 10), а затем очищается. создавать 1000 коллекций
Что имеем создать 1000 коллекций - это 1000 движений
очистить 1000 коллекций в которой 10 значений - это 10000 умножить на 10, разве не так??
И что больше??
Создаваться то они будут в цикле
...
Рейтинг: 0 / 0
27.08.2011, 11:47
    #37414539
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
Ципихович Эндрю,

и всё же коллекция как тарелка, данные как еда. я привык несколько раз есть из 1 тарелки, а затем мыть её, а не покупать новую тарелку каждый раз, когда испачкается предыдущая
...
Рейтинг: 0 / 0
27.08.2011, 11:49
    #37414542
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
лёгкий вопрос
BelowZero, сделайте два варианта
создать 1000 коллекций - это 1000 движений
очистить 1000 коллекций в которой 10 значений - это 10000 умножить на 10
и на таймер, сравните цифры и думайте
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / лёгкий вопрос / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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