Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 18:38   #11
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Спасибо, работает.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Answer: TMyDataArr;
begin
  Answer := Test('000@001#002$003%0&');

  Label1.Caption := Answer[0];
  Label2.Caption := Answer[1];
  Label3.Caption := Answer[2];
  Label4.Caption := Answer[3];
  Label5.Caption := Answer[4];
end;
При выносе данной функции в отдельный Unit в форме, где будет применятся функция нужно будет обязательно указать?
Код:
type
  TMyDataArr = array of string;
Добавлено в 19:25
Тест показал, что
Код:
type
  TMyDataArr = array of string;
вполне достаточно в Unit в функцией. В форме, где используется функция
Код:
type
  TMyDataArr = array of string;
прописывать не требуется.

Последний раз редактировалось Shouldercannon; 17.05.2012 в 19:26.
Shouldercannon вне форума
Старый 04.10.2014, 19:18   #12
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Подскажите, пожалуйста, как тоже самое проделать с динамическим массивом такого вида: TMyDataArr = record
Код:
unit Unit1;

...

var
  Form1: TForm1;

implementation

uses Utils;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Answer: TMyDataArr; // Явно не так будет
  i: Integer;
  Item: TListItem;
begin
  Answer := Test('000#001#002#003#004#'); // Тут по другому будет заполнться

  for i := 0 to Length(Answer) - 1 do
  begin
    Item := ListView1.Items.Add;
    Item.Caption := Answer[i];
  end;
end;

end.

unit Utils;

interface

type
  TMyDataArr = record
    Para1: string;
    Para2: string;
  end;

var
  MyDataArr: array of TMyDataArr;

function Test(s: string): TMyDataArr;

implementation

function Test(s: string): TMyDataArr;
var
  i: Integer;
begin
  SetLength(Result, 0); // Incompatible types

  while Pos('#', s) <> 0 do
  begin
    i := High(Result) + 2; // Incompatible types
    SetLength(Result, i); // Incompatible types
    Result[i - 1] := Copy(s, 1, Pos('#', s) - 1); // Array type required
    Delete(s, 1, Pos('#', s));
  end;
end;

end.
Shouldercannon вне форума
Старый 04.10.2014, 19:35   #13
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Создай новый топик.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить полный ответ от Socket Shouldercannon Работа с сетью в Delphi 3 09.03.2012 23:05
Отправить и получить ответ Andrey85 Работа с сетью в Delphi 1 03.01.2011 02:58
Получить ответ сервера TWebBrowser. .while Работа с сетью в Delphi 2 13.07.2010 20:51
Как получить из функции массив LOST94 Общие вопросы C/C++ 6 28.03.2010 13:47
Отправить AT команду модему и получить ответ Никки Общие вопросы Delphi 3 24.06.2008 17:15