![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сохранение - загрузка? [D7, XP]
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);