Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возвращение нескольких параметров из функции 
V
    Опции темы
MrDmitry
Дата 13.9.2011, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 556
Регистрация: 10.11.2006

Репутация: нет
Всего: нет



Здравствуйте. Не подскажите ли вы мне, существуют ли какие нибудь методы возвращения нескольких параметров из функции? Пытался вернуть массив, delphi 2010  ругается ((


Код

type
 TArInt=array of string;

....

function Tform1.query1(url, action, key, id:string):TArInt;
var
arr : Array of string;
xml1,res, name, surname, pat, bonus, reg, last, birth:string;
n:integer;
begin
      res := IdHTTP1.get(url+'action='+action+'&session_key=' + key +
          '&id='+id);
arr[0]:=balance;
          n := Pos('<name>', res);
          xml1 := Copy(res, n + 6, length(res));
          n := Pos('</name>', xml1);
          name:=Copy(xml1, 1, n - 1);
          ShowMessage(name);
          arr[1]:=name;
          n := Pos('<surname>', res);
          xml1 := Copy(res, n + 9, length(res));
          n := Pos('</surname>', xml1);
          surname:=Copy(xml1, 1, n - 1);
          arr[2]:=surname;
        n := Pos('<patronymic>', res);
        xml1 := Copy(res, n + 12, length(res));
        n := Pos('</patronymic>', xml1);
        pat:=Copy(xml1, 1, n - 1);
        arr[3]:=pat;
        n := Pos('<bonus>', res);
        xml1 := Copy(res, n + 7, length(res));
        n := Pos('</bonus>', xml1);
        bonus:=Copy(xml1, 1, n - 1);
        arr[4]:=bonus;
        n := Pos('<lastdate>', res);
        xml1 := Copy(res, n + 10, length(res));
        n := Pos('</lastdate>', xml1);
        last:=Copy(xml1, 1, n - 1);
        arr[5]:=last;
        n := Pos('<regdate>', res);
        xml1 := Copy(res, n + 9, length(res));
        n := Pos('</regdate>', xml1);
        reg:=Copy(xml1, 1, n - 1);
        arr[6]:=reg;
        n := Pos('<birth>', res);
        xml1 := Copy(res, n + 7, length(res));
        n := Pos('</birth>', xml1);
        birth:=Copy(xml1, 1, n - 1);
        arr[7]:=birth;
end;

PM MAIL   Вверх
Данкинг
Дата 13.9.2011, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Код

 type mytype=record
   x,y:string;
  end;

function test (sss:string):mytype;
begin
 result.x:='1111';
 result.y:='2222';
end;



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Snowy
Дата 14.9.2011, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Есть простое правило: Убивать данные нужно там, где создавал.
Если тебе нужно получить текст - создай TStringList, передай его функции, пусть она его заполнит, а дальше используй как хочешь.
Вариант, когда данные создаются где-то, а потом возвращаются - нехорошо.
Создание объекта и его убийство должны быть в одном месте.
PM MAIL   Вверх
rodnover
Дата 14.9.2011, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 7.4.2009

Репутация: 1
Всего: 10



Код

type
 TArInt=array of string;


function GetArrayString(var ArrStr: TArInt): Boolean;
begin
//....
  Result := True;
end;


Заполняем ArrStr и возвращаем True, если всё успешно.  

Это сообщение отредактировал(а) rodnover - 14.9.2011, 06:53
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0696 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.