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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ListView, Запись структуры в Items.Data 
:(
    Опции темы
Coderr
Дата 22.10.2009, 14:34 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть структура
Код

  TUser = record
    login:    string[30]; 
    password: string[30]; 
    blocked:  boolean;    
    restrict: boolean;   
  end;


Хочу записывать её в переменную ListView.Items.Data без PUser = ^TUser?
Давно с делфи не работал, про указатели напрочь всё забыл.
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Frees
Дата 22.10.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(Coderr @  22.10.2009,  17:34 Найти цитируемый пост)
без PUser = ^TUser?

религия запрещает?


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Coderr
Дата 22.10.2009, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Frees @ 22.10.2009,  14:50)
Цитата(Coderr @  22.10.2009,  17:34 Найти цитируемый пост)
без PUser = ^TUser?

религия запрещает?

Почти. Надо будет всё остальное править. Лениво.

Добавлено через 14 минут и 47 секунд
Данные хранятся в файле. Я попробовал с указателем на TUser — не вышло.

Так я достаю данные:
Код

function getAllUsers: string;
var
  f: file of TUser;
  user: TUser;
  tmp: PUser;
begin
  AssignFile(f, 'passwords.psw');

  Reset(f);

  result := '';

  while not Eof(f) do begin
    Read(f, user);

    with mainWindowForm.userList.Items.Add do begin
      Caption := user.login;
      ImageIndex := 0;
      Data := GetMemory(sizeof(TUser));
      Data := @user;
    end;
  end;

  CloseFile(f);
end;


Так сохраняю:
Код

procedure deleteUser(login: string);
var
  f: file of TUser;
  user: PUser;
  i: integer;
begin
  AssignFile(f, 'passwords.psw');

  Reset(f);

  mainWindowForm.userList.ItemFocused.Delete;

  for i := 0 to mainWindowForm.userList.Items.Count-1 do begin
    user := mainWindowForm.userList.Items[i].Data;
    Write(f, user^);
  end;

  CloseFile(f);
end;


Понимаю, что намудрил с указателями.
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
CasperSC
Дата 27.11.2009, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Незнаю в тему пишу или нет, но я делаю так:

Код

procedure TForm1.BtnNewClockClick(Sender: TObject);
var Alarm : TClock;
    IndexAlarms : integer;
begin
  FormNewClock := TFormNewClock.Create(self);
  FormNewClock.RadBut_1Raz.Checked := True;
  FormNewClock.ReserveVolume := FormNewClock.GetVolume; //зарезервировать текущую громкость звука
 try
  if FormNewClock.ShowModal = mrOK then //если в FormNewClock нажали "ОК" то выполняется код
  begin
    Alarm := TClock.CreateClock;
    FormNewClock.SetData(Alarm); //получить настройки будильника из формы FormNewClock
    IndexAlarms :=  Alarms.Add(Alarm);
    Label2.Caption := 'Индекс в массиве:'+ IntToStr(Alarms.IndexOf(Alarm));
if (Alarm.FMode = ONE_ALARM) then
begin
    with ListViewAlarm.Items.Add do
    begin
      Caption := Alarm.FTextMessage;
      SubItems.Add(DateToStr(FormNewClock.DatePicker.Date));
      SubItems.Add(TimeToStr(FormNewClock.TimePicker.Time));
      SubItems.Add(Alarm.FPeriodAlarm);//добавляется периодичность срабатывания
      Data := Pointer(Alarms[IndexAlarms]);
      Checked := True;
      Alarm.ClockEnable;
    end;
end;

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.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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