Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.11.2010, 00:41
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В условии ошибка "несответствие типов" Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 00:48
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
немножко поспешил. там есть ошибка (два раза 'as'). Цель такова: хочу сохранять в файл (открытым как Random) настройки которые пользователь может по своему желанию менять в процесе. Если изменения были значит записать иначе пропустить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 00:56
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
сверять почленно по другому вряд ли возможно в VB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 00:59
|
|||
|---|---|---|---|
|
|||
не могу сравнить две переменные |
|||
|
#18+
Андрей159, первый раз такое вижу в коде: Stop Это в ВБА??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 15:36
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Если идея была перекинуть данные из одной переменной в другую, при их изменении, то не проще сразу перекинуть не спрашивая ничего, одной строкой? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 15:47
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Типы простые, можно преобразовать значения в строку и сравнивать строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 16:51
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
А хотя есть способ попроще и гораздо быстрее. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.11.2010, 17:30
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
For Antonariy В данном, конкретном случае автора топика так будет работать. А вообще надо учитывать что все переменные в типе должны быть жестко определены, а не храниться ссылками. То есть если, к примеру, будет объявление: Код: plaintext 1. 2. 3. 4. 5. то все будет нормально. А вот если Код: plaintext 1. 2. 3. 4. 5. То вместо строки в переменной хранится ссылка на нее и сравнение по ее содержимому будет выдавать неверный результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 02:13
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Вот мой реальный код. Я сразу его не подал, поскольку я по украински там подписываю (паралельно веду документацию), мне кажется что не всегда удобно так подавать код на форум, да и + в коде мусора было много. Так наверное боле-менее понятно. Функиця LoadNastroyki срабатывает при загрузке формы а SaveNastroyki при выгрузке. Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Что случилось с функцией LSet я так и не понял. Сначало все работало потом выдавало ошибку о не совместимости переменных (хоть я ничего не делал, просто хотел проверить разницу между SET, LSET и RSET, вернул на LSET и заглючило), думал глюк, искал, придирался так и не получил результата даже после перезагрузки компа. У меня почти назрел вариант копирования переменных с помощью ф-ции CopyMemory, но вариант который предложил Antonariy оказывается самый лучший. Гугл меня не спас, когда я загорелся желанием узнать побольше об этой функции, а F1 в бейсике даже не понмает функцию VarPtr, так что это второе открытие. И поскольку сам вариант был не робочим, я понял (по скольку ф-ция EqualMemory похожа к CopyMemory) что VarPtr можно убрать. И тогда все заработало. Всем большое спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 02:26
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Ципихович ЭндрюАндрей159, первый раз такое вижу в коде: Stop Это в ВБА??? Обычно я пользуюсь "финиш точками", но stop мне также нравится. Именно с той причины я потянулся за Бейсиком чем за Паскалем (Делфи), не знаю как в Си. Не представляю на сколько б больше времья пошло если б не было остановки и не было возможности опросить переменные. Это большой "+". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 07:24
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Андрей159Гугл меня не спас, когда я загорелся желанием узнать побольше об этой функции, а F1 в бейсике даже не понмает функцию VarPtr, так что это второе открытие. CompareMemory это псевдоним RtlCompareMemory, а уж о ней-то гугл знает. А VarPtr не документирована. Она возвращает адрес ячейки памяти, с которой начинается занимаемая переменной область. Андрей159И поскольку сам вариант был не робочим, я понял (по скольку ф-ция EqualMemory похожа к CopyMemory) что VarPtr можно убрать. И тогда все заработало.Перемудрил слегка, да. С другой стороны, благодаря этому приятно видеть, что автор не просто копипастит, но еще думает, что делает, и сравнивает с тем, что уже знает. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 08:43
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Здесь вот есть ошибка: Код: plaintext Все дело в том что Len() или LenB() не выдадут правильно размер user-переменной если в них есть строки. В вашем случае надо написать: Код: plaintext То есть добавить количество завершающих нулей в 4-х строковых переменных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 08:54
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Тут немножко кода, чтобы понять то что я написал чуть выше: Код: 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. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 09:11
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
Вообще - я выше немного наврал. В общем, сейчас сам совсем запутался - такое впечатление что размер переменной user-типа надо определять пользуясь тем примером что я прикладывал и уже потом вписывать в код ручками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.11.2010, 10:38
|
|||
|---|---|---|---|
не могу сравнить две переменные |
|||
|
#18+
В приложенном файлике - распределение памяти для данной переменной: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2159303]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 366ms |

| 0 / 0 |
