![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Всем привет. Подскажите пожалуйста как получить результат работы функции, понимаю вопрос глупый, но все же не знаю как это сделать =)
есть функция: Код:
function TStreetShow.GetStreetLength(index: integer): string; begin Result:=self.FLength[index]; end; procedure TForm1.FShowClick(Sender: TObject); Код:
begin FMyStreetsLength.Lines.Add(MyStreetShow.GetStreetLength(1)); end; Результат- в Memo появляется пустая строка. Заранее спасибо. Последний раз редактировалось davin4u, 13.06.2009 в 21:18. |
#2
|
||||
|
||||
![]() Ну поскольку вроде все правильно, предположу, что Result:=self.FLength[index] - действительно пустота. Проверьте отладчиком, что там реально находится, есть у меня подозрение, что вы с индексом элемента в массиве что-то путаете.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Спасибо, нашел где была ошибка
|
#4
|
|||
|
|||
![]() Возник еще один вопрос связанный с работой с функциями
![]() Можно ли заносить в функцию 2 значения? если можно то как? потому что я пробовал, выдавалась ошибка, связанная с вводимыми в функцию типами данных, хотя оба вводимых значения были одного типа. Если нельзя вводить несколько значений, то можно ли как результат, вывести из функции двумерный массив? вот пример того как я пытался делать: Код:
Function GetMass(var num1:integer; num2:integer):integer; begin Result:=num1+num2; end; |
#5
|
||||
|
||||
![]() Зачем вам здесь var в описании? Почитайте про передачу параметров.
Код:
Function GetMass(num1,num2:integer):integer; begin Result:=num1+num2; end; Можно и двумерный массив: Код:
Type TDualArray = array[1..2,1..2] of integer; function DualArray: TDualArray; begin end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() Попробовал сделать чтобы результатом работы функции был двумерный массив, возникла новая проблема =(
как теперь занести в другой массив результат работы функции? mass:=Board.DualArray, не выходит, ошибка в типах данных, mass-массив, а DualArray- класс TDualArray ? |
#7
|
||||
|
||||
![]() Цитата:
Подаем в нее две переменных, они каким то образом изменяются (уже внутри процедуры) и результат их изменения идет уже наружу в те же переменные, которые были поданы в качестве параметров в процедуру. Из-за двух переменных заводить массив както не так. Хотя я не знаю что это за переменные и какая стоит задача - может быть и правильное решение. |