Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Тестирование полезных кодов и примеров

15.10.2012, 00:56. Показов 31240. Ответов 301
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если Ваш код из темы Готовые решения и полезные коды на Visual Basic 6.0

неправильно собран или неработоспособен, он будет перенесен сюда.

Для доведения кода в рабочее состояние в порядке обсуждения создайте новую тему
2
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2012, 00:56
Ответы с готовыми решениями:

Тестирование полезных скриптов
В этой теме нужно писать: - о багах в выложенных полезных скриптах (закрепленная тема); - ошибках в кодах, на которые ведут ссылки...

Программное тестирование кодов
Доброго! Часто возникает потребность протестить некоторую программку, обычно небольшую. Т.к. в большинстве случаев это надо сделать быстро,...

Cумма кодов четных символов равна сумме кодов нечетных
Даны два поля edit1 и edit2. и кнопка button1. Нужно чтобы при нажатии на кнопку, проверялось: сумма кодов четных символов была равна сумме...

301
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.05.2024, 20:34  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от HackerVlad Посмотреть сообщение
Dragokas, у тебя в твоих примерах так вообще нет никаких объявлений, не модуль а фуфло
Если ты умеешь пользоваться GitHub, то увидишь что это программа, а не пример. Все объявления находятся в модуле Globals.

Цитата Сообщение от HackerVlad Посмотреть сообщение
Однако хочу заметить, что переписывать структуру на As Long на самом деле совсем не обязательно, вопреки всеобщему мнению можно оставлять As String так как это гораздо проще будет тебе же самому потом работать - не нужно будет всякий раз писать указатели и объявлять ещё дополнительные переменные, не нужно всякий раз писать StrPtr. Это очень удобно, мой вариант удобнее гораздо по количеству кода будет меньше лучше и удобнее. Только объявление API надо As Long в моём варианте и скармливать VarPtr и всё. У меня моя реализация мне больше нравится по юникодности. А так на самом деле работает одинаково конечно. Не знаю зачем надсмехались над моим кодом вообще.
Что за бред сивой кобылы, ты вообще читал код, на который дал ссылку? Там вообще нет и не нужно никаких преобразований. И никакой доп. код по работе с указателями писать под это не нужно. И ты конечно молодец, что нашел ошибку в коде 8-летней давности. Но нахрена этот некропост, если в актуальном коде этой ошибки больше нет.
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
01.05.2024, 21:04
Цитата Сообщение от Dragokas Посмотреть сообщение
Что за бред сивой кобылы
Никакой не бред, мой код гораздо лучше, тем более я привёл доказательства своей правоты. Бред это считать что я видишь ли использую "ансишную" версию структуры, хотя на самом деле эти структуры абсолютно одинаковы, что для юникодной версии, что для ансишной

Добавлено через 2 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
используется ансишная
Ещё и надсмехался надо мной. Нет такого понятия как ансишная структура или не ансишная, они абсолютно одинаковые на самом деле, сам посмотри вот https://learn.microsoft.com/en... nfilenamea и вот https://learn.microsoft.com/en... nfilenamew ничем не отличаются, разр байтов будет тоже одинаковым, что As Long 4 байта, что As String тоже 4 байта, так какая разница? Никакая. Мой код лучше и проще всё равно.

Добавлено через 3 минуты
Dragokas, ты даже просто не знал, что в юникодных структурах можно As String оставлять и не переделывать на As Long вот и бесишься, что я умнее тебя оказался
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
02.05.2024, 17:31
Цитата Сообщение от HackerVlad Посмотреть сообщение
вот и бесишься, что я умнее тебя оказался
надо последить
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
02.05.2024, 17:41
Как вообще можно было критиковать мой код, если он полностью работает на 100%. Я доказал это реальными примерами. Мне мой код гораздо больше нравится он проще и легче. Зачем переписывать структуру на As Long, меняя все As String я вообще этого не понимаю. Плюс потом ещё объявлять много лишних переменных As String и присваивать их значения в структуре, вообще этого не понимаю, честно. Я доказал что мой код лучше тем что:

1. Не приходится объявлять лишние переменные String и присваивать значения потом через StrPtr
2. Когда в самой структуре находится String а не Long для программиста так удобнее и понятнее
3. Кода становится намного меньше
4. По моей технологии когда я передаю в API структуру через VarPtr не происходит скрытого преобразования структуры всех строк из Юникода в АНСИ, и даже не происходит такой попытки, передача структуры через VarPtr экономит время

Добавлено через 3 минуты
Драгокас этого не знал, такой технологии (я сам её придумал), вот и начал критиковать меня как буд-то я написал что-то плохое и неправильное. Драгокас потому что думал что структуры обязательно надо переписывать на As Long но это бред полный.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,757
Записей в блоге: 14
08.06.2024, 10:09
HackerVlad, 1) зачем ByVal ? 2) это же просто обертка встроенной функции InStr?
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
08.06.2024, 13:50
Цитата Сообщение от Catstail Посмотреть сообщение
1) зачем ByVal ? 2) это же просто обертка встроенной функции InStr?
1) потому что строка не меняется во время выполнения функции
2) эта функция которая подсчитывает количество подстрок в строке, да конечно, с помощью цикла в котором происходит поиск InStr ровно столько раз сколько будет найдено повторение строк. Например с помощью этой функции можно подсчитать количество строк если искать vbCrLf либо можно подсчитать сколько пробелов например в строке чтобы примерно узнать сколько слов в строке и так далее
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38210 / 21143 / 4313
Регистрация: 12.02.2012
Сообщений: 34,757
Записей в блоге: 14
08.06.2024, 13:57
HackerVlad, строка не меняется. А как это достигается для строковых параметров? Посмотрите на этот код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub t1(ByVal s As String)
 
    Debug.Print StrPtr(s)
 
End Sub
 
Sub main()
 
    s$ = "aaaa"
    
    Debug.Print StrPtr(s)
    
    t1 s$
 
End Sub
Вывод в случае ByVal:

127799820
127800060 - строка пересоздана!

Вывод без ByVal:

127799820
127799820 - передается ссылка

Пересоздание строки - это лишнее время и память.
2
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
08.06.2024, 16:14
Catstail, вы правы, тогда удалите ByVal из моей функции, спасибо за полезное замечание. Так как вы модератор исправьте мой код.
0
428 / 333 / 61
Регистрация: 29.06.2019
Сообщений: 493
08.06.2024, 16:40
Цитата Сообщение от HackerVlad Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
8
      ' Очень быстрый поиск подстрок в строке
        Do
            FirstSearch = InStr(SearchFromTheSymbol, str, SearchSymbol) ' Искать нужную нам подстроку
            If FirstSearch > 0 Then
                cnt = cnt + 1
                SearchFromTheSymbol = FirstSearch + LenSearchSymbol
            End If
        Loop While FirstSearch > 0 ' Выполнять цикл до тех пор, пока будет найдена искомая подстрока
Хочется очень-очень?
А зачем тогда дважды одно и тоже спрашивать в цикле?
Visual Basic
1
2
3
4
5
6
7
8
9
        ' Очень быстрый поиск подстрок в строке
        Do
            FirstSearch = InStr(SearchFromTheSymbol, str, SearchSymbol) ' Искать нужную нам подстроку
            If FirstSearch > 0 Then
                cnt = cnt + 1
                SearchFromTheSymbol = FirstSearch + LenSearchSymbol
            ELSE:EXIT DO
            End If
        Loop 'While FirstSearch > 0 ' Выполнять цикл до тех пор, пока будет найдена искомая подстрока
1
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
08.06.2024, 16:59
SergioJek, так это же одно и тоже получится или по твоему скорость как-то изменится?
0
428 / 333 / 61
Регистрация: 29.06.2019
Сообщений: 493
08.06.2024, 17:14
Дважды в цикле вычислять
FirstSearch > 0
или одиножды - сами то как думаете?
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
08.06.2024, 18:49
SergioJek, возможно вы правы, надо будет протестировать скорость, спасибо за полезное замечание
0
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,700
Записей в блоге: 2
08.06.2024, 19:57
Еще вариантик накину )
Visual Basic
1
2
3
4
5
6
7
8
    For SearchFromTheSymbol = 1 To Len(Str) - LenSearchSymbol Step 0
        FirstSearch = InStr(SearchFromTheSymbol, Str, SearchSymbol)
        If FirstSearch > 0 Then
            CountSymbolFromString = CountSymbolFromString + 1
            SearchFromTheSymbol = FirstSearch + LenSearchSymbol
        Else: Exit For
        End If
    Next
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.12.2024, 13:48  [ТС]
На счет этого

Еще один момент, HackerVlad, ты путаешь справедливую критику и указание на ошибки с переходом на личности.
Я ничего не имею лично против тебя.
Наоборот, спасибо что занимаешься такими сложными вещами и прочим просвещением и поднятием специфических тем.
Однако, если модераторы этого не делают и не говорят, то скажу я один раз:

Когда мы с anny05 задумывали раздел полезных примеров, это была показательная тема. По мере возможностей и сил, каждый пример внимательно проверялся. Если в нем были грубые ошибки или он был частично нерабочий, он целиком переносился в тему тестирования и подробным описанием, где и почему косяк. И возвращался обратно, только после исправления автором всех оплошностей.
В твоем же случае, ну нельзя, категорически нельзя писать на сколь угодно сложные темы, не понимая базиса хотя бы на среднем уровне и выкладывать их на всеобщее обозрение в той теме при наличии грубых ошибок (их еще много, если посмотреть другие твои примеры). Это абсолютно противоположно изначально заложенным принципам для темы закрепа.
Мне больно смотреть, как то что мы создавали, превращается вот ... в "это".

Понимаю, что модераторы сейчас в основном занимаются наведением порядка, и нет того, кто продолжает работать над развитием раздела по VB. Сам я например, вообще не занимаюсь VB последние несколько лет. Но нельзя оставлять это вот так на самотек. Уверен, что если бы я не написал критику, все были бы уверены в корректной работе. И это подается как образцово-показательный пример.

HackerVlad, если занимаешься этими вещами, то напутствие: развивайся не только в одном направлении, работай над критическими ошибками, и не игнорируй критику. Умеешь работать со сложными вещами, сумей преодолеть барьер чтобы сделать и более простые адекватно, без костылей. А если берешь у кого-то примеры сложного, сумей разобраться в них полностью, а не просто скопировать. В полезных примерах, вещи которые работают некорректно, не нужны.

На этом мой лимит времени на этот раздел исчерпан. Не буду говорить, до скорого.
2
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
13.12.2024, 18:43
Цитата Сообщение от Dragokas Посмотреть сообщение
Мне больно смотреть, как то что мы создавали, превращается вот ... в "это".
Не волнуйся, я больше не буду выкладывать ничего в твой раздел готовых решений, чтобы у тебя больше душа не болела от этого.
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
14.12.2024, 14:09
testuser2, ты зачем начал портить раздел драгокаса с готовыми решениями? у него душа будет болеть)))))

Добавлено через 4 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
и нет того, кто продолжает работать над развитием раздела по VB. Сам я например, вообще не занимаюсь VB последние несколько лет.
Да тут только один я и развивал раздел VB, последние годы, но больше не хочу, вместо благодарности оплевуху дерьма по рожи получил только.

Добавлено через 3 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
выкладывать их на всеобщее обозрение в той теме при наличии грубых ошибок (их еще много, если посмотреть другие твои примеры).
Короче старался, развивал раздел, а все мои примеры оказались - это говнокод с кучей грубых ошибок, так что мой код не качайте вообще))))))))))) я 100% больше развивать не буду VB раздел. А кроме меня тут никому это не нужно вообще.
0
Модератор
10065 / 3910 / 885
Регистрация: 22.02.2013
Сообщений: 5,860
Записей в блоге: 79
14.12.2024, 14:57
HackerVlad, нужно адекватнее относится к критике и не нужно эту тему превращать во флуд.

Цитата Сообщение от HackerVlad Посмотреть сообщение
Да тут только один я и развивал раздел VB, последние годы, но больше не хочу, вместо благодарности оплевуху дерьма по рожи получил только.
Спасибо тебе, но зачем так категорично? Тут и другие пользователи развивают.

Цитата Сообщение от HackerVlad Посмотреть сообщение
Короче старался, развивал раздел, а все мои примеры оказались - это говнокод с кучей грубых ошибок, так что мой код не качайте вообще))))))))))) я 100% больше развивать не буду VB раздел. А кроме меня тут никому это не нужно вообще.
Насчет качества кода не могу ничего сказать, я его не тестирую как раньше - никакого времени и сил не хватит на это. А так можешь почитать даже эту ветку, как я раньше также дотошно (в хорошем смысле) как Dragokas проверял все коды которые попадали в тот раздел. Был тут раньше такой Жора (Антихакер) вот ты мне чем-то его напоминаешь, тоже развивал VB6, но с критикой тоже не очень у него было.
2
14.12.2024, 17:23

Не по теме:

Цитата Сообщение от testuser2 Посмотреть сообщение
Еще вариантик накину )
For SearchFromTheSymbol = 1 To Len(Str) - LenSearchSymbol Step 0
Очень долго всматривался ин мог вспомнить и понять че я там за вариантик такой накинул и почему понадобился именно цикл For c шагом 0 lol

0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,803
15.12.2024, 05:38
Цитата Сообщение от The trick Посмотреть сообщение
нужно адекватнее относится к критике
Ты умей различать критику и клевету, одно дело когда просто критикуют код, я это пойму, и исправлю свои ошибки, и совсем другое дело когда тебя обвиняют в преступлении, которого не совершал. Он меня обвинил в нарушении авторских прав, что я слизал полностью весь код и так далее. А меня даже никто не поддержал. Тут все заступаются только за Драгокаса, как я понял. В чём он прав? В том что обклеветал меня? В этом он прав? Это не критика, это клевета уже. Он заявил, что я присваиваю себе чужие труды. Но чужие труды я себе не присваиваю. Меня тут никто не защищает я только сам защищаюсь от таких нападок.
0
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,700
Записей в блоге: 2
15.12.2024, 08:10
Я особо не вдавался в детали истории, кто прав, кто не прав, но такая ситуация впринципе не уникальна, когда возникает срач по поводу критики и плагиата. Но я уже сказал Владу в личке, что он может воспринять эту ситуацию как карму, поскольку неделю назад, на VB-форуме, он как бы выразил свое "разочарование" функциональностью Твин-бейсика, по поводу одной кнопки.. Но я бы просто сказал, что не стоило бы использовать таких терминов как "разочарование", когда речь идет о бетта-релизе сложнейшего проекта, в котором реализовано уже столько, что просто впечатляет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2024, 08:10

Парочка полезных видеоуроков по C++
323e1ffiYjw AEA7GmPli5Y OH7g2lfsYEU Может какой-нибудь следующий "учитель" посмотрит и передумает делать свои уроки :)

Удаленное тестирование приложение/Пересылка на тестирование
Если кто-то написал приложение под андроид и захочет показать другому человеку, то достаточно отослать apk. А как обстоит с этим дело в...

Unit -тестирование или автоматизированное тестирование
Доброго времени суток. Я программирую «для себя» второй год, на выходе получаются разного рода приложения от постоянно подающих с...

Не Большой Набор Полезных Функций
Функция проверки на наличие не запрещенных символов в поле, где ? - запрещенные символы Function Check_BadSymbols(sStr As String) As...

USBasp - пара возможно полезных плюшек.
Уважаемые коллеги! Возможно то, что я опишу - баян с бородищей. Готов принять справедливую критику. Но вдруг кому-то поможет. Держу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
300
Ответ Создать тему
Опции темы

Новые блоги и статьи
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru