![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
vk.com/replog
Пользователь
Регистрация: 04.05.2012
Сообщений: 87
|
![]()
Всем привет, дело такое, написал в DLL функцию "поиска" как я её назвал,
но не могу сделать её более компактной, или хотябы с перегрузкой Выглядит она примерно так: function Search(OpenNumber,Number1....,Numbe r10:Integer): String; var ... begin ... тут перевожу OpenNumber тут плюсую переведенный OpenNumber + Number1 result:=того что плюсовал end; примерно так, но вы заметили Number10 а проблема в том что в использовании функции мне нужно использовать Number1,2,3,4,5,6,7,8,9,10 не всегда, т.е. иногда мне нужно использовать только Number1 и Number2 а остальные 8 мне не нужны, а иногда наоборот нужны все 10, и вот что я пытался 1) я пытался поставить необязательные параметры т.е. ставил =0 к каждому кроме первого, первый всегда должен быть 2)я пытался сделать массив, к сожалению похоже я плохо пишу и он не посчитал мои строки массивом но после я понял что при приравнивании к 0 т.е. как делал в первом пункте, результат отличается от того который должен быть т.е. мне не поможет массив 3) я пытался сделать перегрузкой, написал каждую функцию отдельно от Number1 до Number10 и возникли проблемы с экспортом возможно, но программа всеравно давала не тот результат и сейчас у меня вариант в виде отдельных функций т.е. SearchNumb1,SearchNumb2,SearchNumb3 и т.д. это не очень удобно, есть у кого какие идеи как можно сделать все в одной функции? так же пытался сделать проверку сколько введено параметров, но тоже не вышло результат был близок к тому что нужно, но всетаки отличался от него не обязательно писать за меня код, дайте совет как можно сделать, возможно я не так написал цикл или не додумался попробовать другие циклы, использовал for пример второй функции: function Search(OpenNumber,Number1....,Numbe r10:Integer): String; var ... begin ... тут перевожу OpenNumber тут плюсую переведенный OpenNumber + Number1 тут перевожу плюсованное тут плюсую переведенное с Number2 result:=того что плюсовал end; Последний раз редактировалось zdus2757; 01.12.2015 в 12:41. Причина: вторая функция :) |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#3 |
vk.com/replog
Пользователь
Регистрация: 04.05.2012
Сообщений: 87
|
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инструкция для сборки приложений на Qt в один exe без зависимостей от libstdc++-6.dll, libgcc_s_dw2-1.dll, Qt5Core.dll и т.д. | 8Observer8 | Qt и кроссплатформенное программирование С/С++ | 12 | 25.06.2015 03:18 |
Варианты в делфи | Deoxes | Помощь студентам | 21 | 21.11.2013 05:10 |
C# & DLL: как указать, что загружать DLL нужно из ЗАДАННОЙ папки "D:\My\Path\a.dll" ? | AntyDES | C# (си шарп) | 11 | 10.10.2012 20:00 |
ВАРИАНТЫ ПАРСИНГА | Vova777 | Общие вопросы Delphi | 2 | 04.09.2010 23:51 |