Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/140: Рейтинг темы: голосов - 140, средняя оценка - 4.53
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

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

15.10.2012, 00:56. Показов 30459. Ответов 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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
38204 / 21136 / 4310
Регистрация: 12.02.2012
Сообщений: 34,748
Записей в блоге: 14
08.06.2024, 10:09
HackerVlad, 1) зачем ByVal ? 2) это же просто обертка встроенной функции InStr?
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
08.06.2024, 13:50
Цитата Сообщение от Catstail Посмотреть сообщение
1) зачем ByVal ? 2) это же просто обертка встроенной функции InStr?
1) потому что строка не меняется во время выполнения функции
2) эта функция которая подсчитывает количество подстрок в строке, да конечно, с помощью цикла в котором происходит поиск InStr ровно столько раз сколько будет найдено повторение строк. Например с помощью этой функции можно подсчитать количество строк если искать vbCrLf либо можно подсчитать сколько пробелов например в строке чтобы примерно узнать сколько слов в строке и так далее
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38204 / 21136 / 4310
Регистрация: 12.02.2012
Сообщений: 34,748
Записей в блоге: 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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
08.06.2024, 16:59
SergioJek, так это же одно и тоже получится или по твоему скорость как-то изменится?
0
428 / 333 / 61
Регистрация: 29.06.2019
Сообщений: 493
08.06.2024, 17:14
Дважды в цикле вычислять
FirstSearch > 0
или одиножды - сами то как думаете?
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
08.06.2024, 18:49
SergioJek, возможно вы правы, надо будет протестировать скорость, спасибо за полезное замечание
0
1400 / 858 / 92
Регистрация: 08.02.2017
Сообщений: 3,638
Записей в блоге: 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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
13.12.2024, 18:43
Цитата Сообщение от Dragokas Посмотреть сообщение
Мне больно смотреть, как то что мы создавали, превращается вот ... в "это".
Не волнуйся, я больше не буду выкладывать ничего в твой раздел готовых решений, чтобы у тебя больше душа не болела от этого.
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
14.12.2024, 14:09
testuser2, ты зачем начал портить раздел драгокаса с готовыми решениями? у него душа будет болеть)))))

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

Добавлено через 3 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
выкладывать их на всеобщее обозрение в той теме при наличии грубых ошибок (их еще много, если посмотреть другие твои примеры).
Короче старался, развивал раздел, а все мои примеры оказались - это говнокод с кучей грубых ошибок, так что мой код не качайте вообще))))))))))) я 100% больше развивать не буду VB раздел. А кроме меня тут никому это не нужно вообще.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
15.12.2024, 05:38
Цитата Сообщение от The trick Посмотреть сообщение
нужно адекватнее относится к критике
Ты умей различать критику и клевету, одно дело когда просто критикуют код, я это пойму, и исправлю свои ошибки, и совсем другое дело когда тебя обвиняют в преступлении, которого не совершал. Он меня обвинил в нарушении авторских прав, что я слизал полностью весь код и так далее. А меня даже никто не поддержал. Тут все заступаются только за Драгокаса, как я понял. В чём он прав? В том что обклеветал меня? В этом он прав? Это не критика, это клевета уже. Он заявил, что я присваиваю себе чужие труды. Но чужие труды я себе не присваиваю. Меня тут никто не защищает я только сам защищаюсь от таких нападок.
0
1400 / 858 / 92
Регистрация: 08.02.2017
Сообщений: 3,638
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru