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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Save Edit 
:(
    Опции темы
KiklaV
Дата 19.7.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток! У меня возникла проблемка. Нужно сохранить цифровые значения из нескольких Edit окошков в файл (допустим *.txt), а потом ещё и загружать эти значения из него. Может кто-нибудь посоветует- я даже незнаю откуда начинать smile . Заранее благодарен!
PM MAIL   Вверх
Quadr0
Дата 19.7.2005, 14:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 00:44
  Вверх
Bes
Дата 19.7.2005, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ваирант2
Создаем ини файл TIniFile модуль IniFiles
и записываем туда все что нужно командами WriteInteger или WriteFloat
а потом читаем все!!!
PM MAIL   Вверх
Quadr0
Дата 19.7.2005, 14:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 00:44
  Вверх
Marriage
Дата 19.7.2005, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Делать все через структуру smile


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
KiklaV
Дата 19.7.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Quadr0, как засовывать в Стринглист содержимое едитов и сохранять я разобрался, а вот как из Стринглиста все обратно в едиты запихнуть - не понимаю smile. Можно поподробней пожста smile
PM MAIL   Вверх
Yanis
Дата 19.7.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

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



Вот на вскидку:
Код

procedure SaveEditsTextToIni(FileName: String);
var
  Ini: TIniFile;
  i: Integer;
begin
  with Form1 do
    begin
      try
        Ini := TIniFile.Create(FileName);
        for i := 0 to ComponentCount-1 do
          if (Components[i] is TEdit) then
            Ini.WriteString('Edits Text', (Components[i] as TEdit).Name, (Components[i] as TEdit).Text);
      finally
        Ini.Free;
      end;
    end;
end;

procedure LoadEditsTextFromIni(FileName: String);
var
  Ini: TIniFile;
  Section: TStringList;
  i: Integer;
begin
  with Form1, Section do
    begin
      try
        Ini := TIniFile.Create(FileName);
        Section := TStringList.Create;
        Ini.ReadSection('Edits Text', Section);
        for i := 0 to Section.Count-1 do
          if (FindComponent(Strings[i]) <> nil) then
            (FindComponent(Strings[i]) as TEdit).Text := Ini.ReadString('Edits Text', Strings[i], '');
      finally
        Section.Free;
        Ini.Free;
      end;
    end;
end;


Думаю, что по названиям не сложно понять, что именно делают эти процедуры. К примеру SaveEditsTextToIni можно запихнуть в OnClose, а LoadEditsTextFromIni в OnCreate.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
KiklaV
Дата 20.7.2005, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо огромное! smile

А можно как-нибудь сохранять не все едиты а напимер 6...10, ну или загружать не все ?

Это сообщение отредактировал(а) KiklaV - 20.7.2005, 16:11
PM MAIL   Вверх
FRAGNATIC
Дата 20.7.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


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

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



Код

Procedure TfrmSettings.SaveSettings;
var settings: TMemoryStream;
R: TRegistry;
j: byte;
S: PChar;
l: word;
begin
settings := TMemoryStream.Create;

for j := 0 to ControlCount - 1 do
if Controls[j] is TEdit then begin
S := PChar(TEdit(Controls[j]).Text);
l := length(S);
settings.WriteBuffer(l, 1);
if l > 0 then settings.WriteBuffer(S^, l);
end;

R := TRegistry.Create;
R.RootKey := HKEY_CURRENT_USER;
R.OpenKey(‘Software\XXX’, true);
settings.Seek(0, soFromBeginning);
R.WriteBinaryData(‘settings’, settings.Memory^, settings.Size);
R.Free;

settings.free;
end;


Код

procedure TfrmSettings.LoadSettings;
var settings: TMemoryStream;
R: TRegistry;
buf: PChar;
size: integer;
j: byte;
l: word;
begin
R := TRegistry.Create;
R.RootKey := HKEY_CURRENT_USER;
R.OpenKey(‘Software\XXX’, true);

if R.ValueExists(‘settings’) then begin
size := R.GetDataSize(‘settings’);
buf := GetMemory(size);
R.ReadBinaryData(‘settings’, buf^, size);

settings := TMemoryStream.Create;
settings.Write(buf^, size);
FreeMemory(buf);
settings.Seek(0, soFromBeginning);
for j := 0 to ControlCount - 1 do
if Controls[j] is TEdit then begin
settings.ReadBuffer(l, 1);
if l > 0 then begin
buf := GetMemory(l);
settings.ReadBuffer(buf^, l);
TEdit(Controls[j]).Text := copy(buf, 1, l);
FreeMemory(buf)
end;
end;

settings.Free;
end;
R.Free;

end;

Добавлено @ 18:53
Цитата
А можно как-нибудь сохранять не все едиты а напимер 6...10, ну или загружать не все ?

тогда черз ини или тхт! оч просто!
Код

ini.WriteString('Edits Text', Edit1.name, Edit1.text);
---------------------------
Edit1.Text:=Ini.ReadString('Edits Text',Edit1.name);


Это сообщение отредактировал(а) FRAGNATIC - 20.7.2005, 18:54
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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