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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2014, 13:59   #1
ilyxaaa
Пользователь
 
Регистрация: 18.02.2014
Сообщений: 18
По умолчанию

Добрый день.
Имеется программа написанная на Delphi, в которой динамически создаются элементы едит.
Помогите реализовать сохранение все динамически созданных значений едит и дальнейшую из загрузку в программу.
Код прилагается

Помогите кто знает очень нужно

Помогите хотябы переделать этот код сохранения в код загрузки
Код:
var
ms: TMemoryStream;
fs: TFileStream;
begin
fs := TFileStream.Create(edt1.text, fmCreate or fmOpenRead);
ms := TMemoryStream.Create;
try
ms.ReadComponent(self);
ms.Seek(0, soFromBeginning);
ObjectBinaryToText(ms, fs);
finally
ms.Free;
fs.free;
end;
Вложения
Тип файла: txt Новый текстовый документ.txt (13.5 Кб, 126 просмотров)

Последний раз редактировалось Stilet; 12.03.2014 в 09:26.
ilyxaaa вне форума Ответить с цитированием
Старый 07.03.2014, 14:54   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Вы не могли бы более чётко сформулировать, что именно и куда Вы хотите сохранить и передать?
Black Fregat вне форума Ответить с цитированием
Старый 11.03.2014, 08:11   #3
ilyxaaa
Пользователь
 
Регистрация: 18.02.2014
Сообщений: 18
По умолчанию

В моей программе создаются динамические edit, каждый раз можно создать n колличество, так вот данные которые я в них вписываю во время работы мне нужно сохранить а так же потом загрузить данные и edit в которых они вписываются, с возможностью дальнейшей работы
ilyxaaa вне форума Ответить с цитированием
Старый 11.03.2014, 15:32   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Код:
так вот данные которые я в них вписываю во время работы мне нужно сохранить
т.е. данные которые надо хранить есть TEdit.Text c указанием какому-такому EditXXX TEdit.Name они принадлежат.
<name> = <text>
edit1 =абракадабра
edit77 =чушь

запись
Код:
lst:=TstringList.Create;
for ....// какой-то цикл по всем Edit для сохранения!!!
begin
  r:=myEditX;//один из тех edit для которых нужно сохранить значение!!
  lst.Values[r.name]:=r.text;
end;
lst.SavetoFile(<полный путь к вашему файлу хранения данных>);
lst.Free;
и чтение
Код:
lst:=TStringList.Create;
lst.LoadFromFile(<см. выше>);
for ....// какой-то цикл по всем Edit для сохранения!!!
begin
  r:=myEditX;//один из тех edit для которых нужно сохранить значение!!
  r.Text:=lst.Values[r.name];
end;
lst.Free;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 11.03.2014 в 15:34.
evg_m вне форума Ответить с цитированием
Старый 11.03.2014, 19:05   #5
ilyxaaa
Пользователь
 
Регистрация: 18.02.2014
Сообщений: 18
По умолчанию

edit будет n колличество)) и сохранять нужно будет все которые будут на форме. и причем в последующем нужно их все восстановить и что бы появилось то количество edit которые было при сохранение
ilyxaaa вне форума Ответить с цитированием
Старый 12.03.2014, 09:12   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Код:
count_type1 =3
count_type2 =7
type1_1 =чушь
type2_7 =абракадабра

list.vlaues['count_type1']:=inttostr(3);
for j:=1 to 3 do 
  list.values[format('type1_%d', [j]) ]:=edittype1[j].text;

count:=list.vlaues['count_type1'];
for j:=1 to count do begin
  edittype1[j]:=Tedit.Create(...);
  ......
  edittype1[j].text:=list.values[ format('type1_%d', [j]) ];
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.03.2014 в 09:20.
evg_m вне форума Ответить с цитированием
Старый 12.03.2014, 11:30   #7
ilyxaaa
Пользователь
 
Регистрация: 18.02.2014
Сообщений: 18
По умолчанию

Но edit создаются динамически.
ilyxaaa вне форума Ответить с цитированием
Старый 12.03.2014, 12:14   #8
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Вот так ты получишь все TEdit`ы на форме:
Код:
for i:=0 to ComponentCount - 1 do
 if Components[i].ClassName = "TEdit" then
Что с ними делать - решай сам.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 12.03.2014, 12:51   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
Но edit создаются динамически.
ты их где-то хранишь ? (после того как они были созданы)
Код:
type1: array of TEdit;
вот бери при записи данные отсюда.
Код:
lst.values['count_type1']:=inttostr(length(type1);
....
а когда надо создать читай и создавай столько сколько надо
Код:
count:=values['count_type1'];
SetLength(type1, count);
for j:=0 to length(type1)-1 do begin
  type1[j]:=TEdit.Create(....); //СОЗДАЕМ ДИНАМИЧЕСКИ!!!
  .....//настраиваем как надо
  type1[j].text:=values[....];
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.03.2014 в 12:55.
evg_m вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в массиве В из 30 элементов определить диапазон значений элементов массива Zhentos Паскаль, Turbo Pascal, PascalABC.NET 9 15.06.2011 00:10
Добавление динамических элементов на форму rule-z Общие вопросы Delphi 0 15.05.2011 13:12
Как найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов INFINITIFX Общие вопросы C/C++ 2 11.11.2010 09:55
Сохранение и загрузка в файл текстовых значений и значений типа Boolean krikaved Общие вопросы Delphi 1 16.03.2010 07:53
сцепить несколько динамических значений StasSv Microsoft Office Excel 0 22.10.2008 12:20