|
|
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Возможно ли сделать свою функцию с синтаксисом, подобным синтаксису функции Concat ? из справки Delphi 7 Delphi syntax: Код: pascal 1. [array of const] не то, тут без скобок []. просто интересно. скрин из лазаруса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2019, 22:05 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Нет, это магия компилятора. PS: Нет, слабодокументированное слово varargs тут не поможет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 00:11 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
ну, можно. function Concat(s1: string): string; overload; function Concat(s1, s2: string): string; overload; function Concat(s1, s2, s3: string): string; overload; (и тут Остапа понесло...) все это запихать в отдельный юнит, и дальше, из основной программы, вы сможете вызывать функцию Concat с любім кол-вом параметров, не превішающих те, что вы не поленилилсь прописать в том самом грешном юните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 03:57 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Элитные грабли с доставкой Код: pascal 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. Только сегодня специальный бонус каждому покупателю: необъятное поле возможностей выстрелить себе в ногу уже в комплекте! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 11:59 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Ghost Writer, function Concat(s1: array of string): string; Concat(['раз','двас', 'стопицот']); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:05 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
wolverinGhost Writer, function Concat(s1: array of string): string; Concat(['раз','двас', 'стопицот']); Вы бы хоть ТС почитали Ghost Writer [array of const] не то, тут без скобок []. просто интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:21 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
DimaBr, ну я так и подумал - в объявлении без скобок ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:24 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
wolverinDimaBr, ну я так и подумал - в объявлении без скобок ) И после этого мне кто-то говорит, что другие невнимательно читают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:26 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
DimaBrИ после этого мне кто-то говорит, что другие невнимательно читают. разве я сказал что я не другие? )) да и подобие самое подобное, не обязательно же const, можно же наверное и указатели передать, все лучше чем предложенное alekcvp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:47 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
wolverinвсе лучше чем предложенное В ТЗ было "без скобок" - я сделал "без скобок", а что ТЗ кривое с точки зрения возможностей языка, так это не ко мне. За что уплочено - то и получено (С) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 12:50 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНет, слабодокументированное слово varargs тут не поможет.Легко! Функцию реализовать на сях (естественно с cdecl), компильнуть в объектный файл и прилинковать к проекту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 13:11 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 13:13 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
alekcvp Код: pascal 1. заменить на Код: pascal 1. и добавить Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 15:12 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
А в Oxygene есть модификатор " params " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 15:14 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
отстрелить все насовсем: Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 22:10 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
отстрелить не так больно: Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2019, 23:13 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
немного упростил, но по-прежнему pchar требуется вручную конвертировать в string перед вызовом, a конкатенация с символом #0 не изменяет результат, т.к. этот случай не отличим от пустой строки: Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 10:56 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, А как количество параметров узнаётся?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 14:25 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
alekcvpА как количество параметров узнаётся?.. По размеру памяти, выделенной для них на стеке. Сразу после вызова функции следует инструкция add esp, size ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 14:52 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
теперь с любым числом параметров Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 18:40 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, $c481 - это опкод add esp, ... что-ли? p^ - это указатель на адрес возврата в стеке?.. А pdword(p^)^ - первая команда после возврата?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2019, 19:13 |
|
||
|
Как объявлена функция Concat
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, для fpc ещё можно c export name в реализации и external в декларации поиграться, тогда явное приведение функции не потребуется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2019, 08:15 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39844664&tid=2039184]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 437ms |

| 0 / 0 |
