|
0 / 0 / 0
Регистрация: 12.06.2006
Сообщений: 48
|
||||||
Помогите разобраться с кодом25.07.2006, 00:21. Показов 1917. Ответов 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. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|