|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
||||||
Помогите разобраться с кодом25.07.2006, 00:21. Показов 1939. Ответов 10
Метки нет (Все метки)
Поймите меня правильно! Мне реально больше не у кого спросить и негде прочитать! Купил уже около 10 книг по Visual Basic но на этот вопрос не нашёл ответа ни в одной! MSDSN тоже не очень помог...
Чё-то я ваще реально не въезжаю! А чё значит в этом коде Not? В MSDSN написанно что это оператор логического отрицания и чё-то типа этого: "результат = Not выражение" и вот такая табличка: Выражение Результат True False False True Null Null А что значит в нижеприведённом коде Not found? Получается так(?): Not found= found ( сначала found равнялась true(например), а потом стала false???), и тогда какой смысл в If Not found Then? Ведь в любом случае значение переменной found перевернётся??? Вообще нижеприведённый код работает, но пожалуйста если нетрудно помогите начинающему программеру и особенно прошу Alexey Spirin, не судите строго(!) если мой вопрос в очередной раз покажется Вам верхом тупости просто если Вас не затруднит подскажите, плиз! Зарание спасибо за внимание!
0
|
||||||
| 25.07.2006, 00:21 | |
|
Ответы с готовыми решениями:
10
Помогите разобраться с кодом Не могу разобраться с кодом в VB Помогите с кодом |
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 25.07.2006, 01:14 | |
|
Operator Not est' operator logicheskogo otricaniya. T.e.
dim blnVariable as Boolean blnVariable = True blnVariable = Not blnVariable 'posle etogo blnVariable budet ravno False. Tablichka est' rezul'tat primeneniya operatora Not dlya peremennix, imeyuschix iznachal'nie znacheniya TRUE, FALSE i NULL. While .... Not Found oznachaet, chto poka Found = False (t.e. esche chto-to ne najdeno sudya po nazvaniui bulevoj peremennoj Found), cikl budet krutit'sya. Ved' Not Found est' True. VladConn
0
|
|
|
0 / 1 / 3
Регистрация: 27.03.2012
|
|
| 25.07.2006, 01:59 | |
|
Мазур, ты че за хрень с java-скриптами добавил?
0
|
|
|
2 / 2 / 0
Регистрация: 09.09.2009
Сообщений: 118
|
|
| 25.07.2006, 03:03 | |
|
2 Мазур
Я знаю в чем дело, ты переворачиваешь переменную found, а она не переврачивается. Дело в том, что при первом вызове твое подпрограммы твой found переворачивается на Not, но ... подпрограмма заканчивается и при следующем вызове она опять становится found=false и все по новой :-) В общем надо использовать не Dim, а Static Static found as Boolean Тогда переменная found будет сохранять свое значение до следующего вызова подпрограммы. А строчку присвоения found=false убрать. При первом запуске он и так будет false
0
|
|
|
Irokez
|
|
| 25.07.2006, 13:29 | |
|
Люди внимательнее читайте вопросы. (зто 1001-му)
|
|
|
Irokez
|
||||||
| 25.07.2006, 13:45 | ||||||
|
Где тут ява? Раззувайте глаза, господа.
|
||||||
|
2 / 2 / 0
Регистрация: 09.09.2009
Сообщений: 118
|
||||||||||||
| 25.07.2006, 14:59 | ||||||||||||
2 Мазур Ну прежде всего логика показанного листинга состоит в следующем: есть элемент ComboBox, в котором есть элементы. Пользователь вводит какое-то значение и нажимает Enter. Перехватывается клавиша KeyAscii=13 (это и есть Ентер) и дальше программа пролистывает список ComboBox и если введенного значения нет в списке, тогда и только тогда добавляет его как новый элемент в список ComboBox. Переменная found как раз и есть индикатор события: найдено ли значение, введенное пользователем в уже существующем списке. Изначально found=False (т.е. изначально предполагаем, что введенное пользователем значение отсутствует в нашем уже существующем списке) Далее идет в цикле сравнение каждого элемента из существующего списка с этим введенным пользователем значением, и если совпадает то присваевается found=True (т.е. совпадение нйдено, введенное пользователем значение уже присутствует в списке). Здесь надо заметить, если совпадений не найдено, found так и останется False, т.е. наше изначальное предположение, что введенное значение отсутствует в списке. Строка If Not found Then означает лишь одно: есть введенный элемент в списке или нет? Оператор If выполняет стоящие за ним операторы, если выражение будет TRUE. А так как мы условились, что если found=False, то надо добавить новый элемент, то и получится если сделать Not found, то выражение будет истинным и оператор If выполнит операторы, которые за ним стоят,
Если выражение Not found как-то непонятно выглядит для тебя, этот модуль можно переписать так:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
|
| 25.07.2006, 15:50 [ТС] | |
|
Теперь всё стало намного понятнее, но всё же, если не трудно, разъясните последнюю непонятку: получается, что программа должна работать следующим образом - строчка If Not found означает "Если переменная found равна false", но ведь если условие записанное в теле цикла выполнится то found будет равняться True (то есть искомая строка в Combo1.List найдена!) а условие If Not found будет значить (Если переменная found равна false и всё равно получится как будто искомая строка не найдена и вылезет окно "В список добавлен элемент: Combo1.Text". Почему же в реале всё работает совершенно наоборот? А можно ли Not found трактовать как "изменилось ли значение переменной found", а If Not found Then как "если значение переменной не изменилось то..."
0
|
|
|
6 / 6 / 3
Регистрация: 17.10.2007
Сообщений: 1,119
|
|
| 25.07.2006, 19:53 | |
|
Мазур
...то found будет равняться True (то есть искомая строка в Combo1.List найдена!) ... Prosto dlya poslednego primera pereiminuj peremennuyu "found" v , naprimer, "blnNotFound". Ne bud' plennikom imen, smotri shire! VladConn
0
|
|
|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
|
| 25.07.2006, 20:05 [ТС] | |
|
Большое спасибо теперь совсем всё понятно! До встречи!
0
|
|
|
2 / 2 / 0
Регистрация: 09.09.2009
Сообщений: 118
|
||
| 27.07.2006, 03:36 | ||
0
|
||
| 27.07.2006, 03:36 | |
|
Помогаю со студенческими работами здесь
11
Помогите с кодом cn.Open [connection string goes here], [username], [password] Помогите разобраться с mscomm? Помогите разобраться с Coolbar'ом Помогите разобраться с LPT Помогите разобраться с GetOpenFileName. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Определение даты списания и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: установить период списания автоматически и запретить. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|