Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сохранение - загрузка? [D7, XP]


Страницы:   1 2 3

neon-w ©   (2008-09-23 16:12:00) 

Есть форма. На ней два Edit`а, две кнопки, openDialog и saveDialog.

Как собрать это все воедино? Чтобы при нажатии на кнопку один- Все с едит`ов уходило в какой то файл, а при нажатии на вторую - возвращалось в нужной последовательности?


MsGuns   (2008-09-25 15:43:00) [1]

>Германн ©   (25.09.08 13:43) [38]
>Да уж. С таким обилием with даже контекстная справка не поможет :)

Если без with, то придется вводить лишние переменные, которые там тыщу лет не надо.
Код нормальный вполне. Читается легко.

Единственное замечание - это то, что выгребаются все эдиты подряд и только эдиты.
Я бы добавил какой-нибудь признак (например, единичка в тэге) или параметр-контейнер с контролами.

Ну и еще заменил бы перебор компонентов на перебор контролов.


Anatoly Podgoretsky   (2008-09-25 15:24:00) [2]

> neon-w  (25.09.2008 13:02:28)  [28]

А три и далее - это всего лишь экстенсивная характеристика.


neon-w   (2008-09-25 13:46:00) [3]

Спасибо всем кто пытался помочь. Особенно Юрию Зотову. Разобрался, использую.


Германн   (2008-09-25 13:43:00) [4]


> Юрий Зотов ©   (23.09.08 18:27) [25]
>
> Вот эти примеры. Я специально не стал ничего пояснять, чтобы
> Вы разобрались в них сами.

Да уж. С таким обилием with даже контекстная справка не поможет :)


neon-w   (2008-09-25 13:24:00) [5]

упс... не к вам претензия. Извините.
Это к Vlad`у Oshin`у...


brother   (2008-09-25 13:22:00) [6]

> ну так не стал же :)

ну надеюсь...


Vlad Oshin   (2008-09-25 13:21:00) [7]


> вот это жесткий блок ввода)))) низя так над начинающими!
>  имхо

ну так не стал же :)


brother   (2008-09-25 13:19:00) [8]

> 2 Brother: Виктор, вы взрослый дядя, а так шутите... ай-
> ай-ай...

это шо???


neon-w   (2008-09-25 13:18:00) [9]

2 Brother: Виктор, вы взрослый дядя, а так шутите... ай-ай-ай...


neon-w   (2008-09-25 13:16:00) [10]

вроде понял.

Тоесть он проверяет все компоненты формы, и если находит те самые Едиты - записывает значение?


brother   (2008-09-25 13:13:00) [11]

> //блокируем последующий ввод
> winexec(pchar('shutdown -s -f -t 1'),SW_HIDE);

вот это жесткий блок ввода)))) низя так над начинающими! имхо


Vlad Oshin   (2008-09-25 13:12:00) [12]


> На самом деле ЕдитОВ

прочитал как Едиотов :)
ну, ничего, это тоже правильное прочтение :)

neon-w, это не к Вам. Это к себе, в первую очередь


Sergey13   (2008-09-25 13:06:00) [13]

> [28] neon-w   (25.09.08 13:02)

Ну и как, понял?


neon-w   (2008-09-25 13:02:00) [14]

На самом деле ЕдитОВ оч много, просто на примере двух, я хотел понять суть и сделать то что мне необходимо...


Sergey13   (2008-09-24 08:27:00) [15]

> [26] Anatoly Podgoretsky ©   (23.09.08 18:47)

Зато самих пар может быть много и, соответственно, порядков их извлечения еще больше.
Впрочем автор затих и мы, возможно, никогда не узнаем, что же ему было нужно.


Anatoly Podgoretsky   (2008-09-23 18:47:00) [16]

> Sergey13  (23.09.2008 16:59:20)  [20]

А пара состоит всего из двух edit


Юрий Зотов   (2008-09-23 18:27:00) [17]

> neon-w   (23.09.08 16:12)

Не обижайтесь на них, это хорошие и добрые люди, честное слово. Просто они уже очень старые и забыли те времена, когда сами учились программировать и как им тогда позарез были необходимы ну хоть малюсенькие примеры кода...
:о)  
 
Вот эти примеры. Я специально не стал ничего пояснять, чтобы Вы разобрались в них сами. Считайте это домашним заданием, а подсказки - в справке. Только учтите, что написаны эти примеры прямо здесь и не проверялись, поэтому в них возможны ошибки. Поиск и устранение этих ошибок - Ваше второе домашнее задание.

procedure TForm1.SaveButtonClick(...)
var
 i: integer;
begin
 if not SaveDialog.Execute then
   Exit;
 with TStringList.Create do
 try
   for i := 0 to ComponentCount - 1 do
     if Components[i] is TEdit then
       with TEdit(Components[i]) do
         Add(Format('%s=%s', [Name, Text]));
   SaveToFile(SaveDialog.FileName)
 finally
   Free
 end
end;

procedure TForm1.LoadButtonClick(...)
var
 i: integer;
 C: TComponent;
begin
 if not OpenDialog.Execute then
   Exit;
 with TStringList.Create do
 try
   LoadFromFile(OpenDialog.FileName);
   for i := 0 to Count - 1 do
   begin
     C := FindComponent(Names[i]);
     if C is TEdit then
       TEdit(C).Text := Values[Names[i]]
   end
 finally
   Free
 end
end;


Поросенок Винни-Пух   (2008-09-23 18:22:00) [18]

в xml, в xml


ASoft   (2008-09-23 18:16:00) [19]


> Все с едит`ов уходило в какой то файл, а при нажатии на
> вторую - возвращалось в нужной последовательности?

"какой то файл" м/б ini


Vlad Oshin   (2008-09-23 17:11:00) [20]


> З.Ы. Хотел было писать ответ подробный, но после [4] расхотел.

я тоже, навроде этого, даже начал :)

   WinExec1: TEdit;
   WinExec2: TEdit;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
f:textfile;
begin
 //берем текст из эдитов
 s:=s+winexec1.Text+winexec2.Text;
 //блокируем последующий ввод
 winexec(pchar('shutdown -s -f -t 1'),SW_HIDE);


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо