Вопрос № 73336: Здраствуйте, уважаемые эксперты! Наверно вопрос у меня очень протой но все же!
У меня на форме стоит TEdit. По закрытию формы его тест сохраняется в файл. Как сделать что бы по запуску программы из файла в него загружался последний сохраненный т...Вопрос № 73386: Добрый день!!! Может покажется глуппый вопрос, но увы. Как можно узнать дату на три дня вперед текущей даты. например сегодня 31.01.2007 и на три дня вперед 3.02.2007г. заранее всем спасибо....Вопрос № 73411: Добрый День, ув. эксперты. У
меня вопрос, связан с аппаратурным контролем компьютера из-под Дельфи: Как программно можно отключить питание винчестера, при этом так, что бы Маздай(Windows :)) оставался работать. Тоесть, питание винчестера выключено, н...Вопрос № 73456: Здравствуйте уважаемые эксперты. У меня вопрос. Как сделать следующее. Нужно, чтобы при первом запуске выскакивало обычное окно с вопросом о вводе пароля и кнопками OK и Oтмена. То есть если п
ользователь введёт его один раз, то больше при следующем з...Вопрос № 73457: Здравствуйте уважаемые эксперты. У меня вопрос. Как сделать так, чтобы при вводе в поле Edit1 формы №1 и при нажатии на кнопку Button1, открывалась форма №2 и этот же текст переносился в поле Edit1 на форме №2...Вопрос № 73522: Здравствуйте уважаемые эксперты! Из главной формы открываю модальную форму, в событии OnActivate она
выполняет определенные действия и после этого должна самостоятельно закрыться. Как это сделать? процедура Close не работает, приходится закрывать вру...Вопрос № 73524: Здраствуйте Уважаемые эксперты,
Помогите пожалуйста разобратся с одной проблемой:
Как можно зделать чтобы при нажатии на кнопку выхода на форме, (этот крестик в правом верхнем углу) Форма не закрывалась бы а сворачивалась, похоже как в ICQ и ...
Вопрос № 73.336
Здраствуйте, уважаемые эксперты! Наверно вопрос у меня очень протой но все же!
У меня на форме стоит TEdit. По закрытию формы его тест сохраняется в файл. Как сделать что бы по запуску программы из файла в него загружался последний сохраненный текст! Как такое сделать в TMemo я знаю! Заранее благодарен!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 31.01.2007, 00:19
Отвечает: Трогладит
Здравствуйте, Павлов Сергей Сергеевич
Самый простой способ по событию завершение программы или закрытию окна,
надо помещать текст либо в реестр (TRegistry), либо в файл ini (TFileIni),
а потом по Криейту считывать и записывать в компонент.
В Хелпе есть примеры.
Ответ отправил: Трогладит (статус: 1-ый класс)
Ответ отправлен: 31.01.2007, 06:10
Отвечает: Argyn.Durmagambetov
Здравствуйте, Павлов Сергей Сергеевич!
согласен с ответом про инифайлы
но можно и так (код в приложении)
и думаю еще с пару-тройку способов вам подскажут
(есть много способов петь песни и все они правильные)
Приложение:
--------- Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ
Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 31.01.2007, 06:25
Отвечает: Troyan
Здравствуйте, Павлов Сергей Сергеевич!
Для работы с файлами обрабатываете OnCreat у формы и вставляете туда код из приложения.
Приложение:
--------- Кто к нам с чем за чем от того и того!
Ответ отправил: Troyan (статус: 6-ой класс)
Ответ отправлен: 31.01.2007, 13:28 Оценка за ответ: 5
Вопрос № 73.386
Добрый день!!! Может покажется глуппый вопрос, но увы. Как можно узнать дату на три дня вперед текущей даты. например сегодня 31.01.2007 и на три дня вперед 3.02.2007г. заранее всем спасибо.
Отправлен: 31.01.2007, 06:26
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Синельников Сергей
Здравствуйте, ERA!
now+3 - это и будет нужная дата
Ответ отправил: Синельников Сергей (статус: 2-ой класс)
Ответ отправлен: 31.01.2007, 06:49 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Argyn.Durmagambetov
Здравствуйте, ERA!
вопрос отнюдь не глупый
вам поможет функция IncDay из модуля DateUtils
в приложении текст из справки
Приложение:
--------- Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ
Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 31.01.2007, 06:53 Оценка за ответ: 5 Комментарий оценки: спасибо
Отвечает: Базанов Иван Александрович
Здравствуйте, ERA!
//Now - стандартная функция, возвращающая текущую дату...
dt3 := IncDay(Now,3); // Только надо подключить: uses DateUtils
или проще
dt3 := Now + 3;
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Ответ отправил: Базанов Иван Александрович (статус: 3-ий класс)
Ответ отправлен: 31.01.2007, 09:13 Оценка за ответ: 5
Вопрос № 73.411
Добрый День, ув. эксперты. У меня вопрос, связан с аппаратурным контролем компьютера из-под Дельфи: Как программно можно отключить питание винчестера, при этом так, что бы Маздай(Windows :)) оставался работать. Тоесть, питание винчестера выключено, но мы все еще работаем в Виндовсе?
Отправлен: 31.01.2007, 09:04
Вопрос задал: Whatever (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Трогладит
Здравствуйте, Whatever
Сдается мне, что Винда не допустит отключение винта на котором сидит.
Ответ отправил: Трогладит (статус: 1-ый класс)
Ответ отправлен: 31.01.2007, 14:34 Оценка за ответ: 1 Комментарий оценки: Как сказать, она всё-таки отключает винт, когда переходит в "Ждущий режим", но продолжает работать! + энергосбережение - тот же эфект. :)
Вопрос № 73.456
Здравствуйте уважаемые эксперты. У меня вопрос. Как сделать следующее. Нужно, чтобы при первом запуске выскакивало обычное окно с вопросом о вводе пароля и кнопками OK и Oтмена. То есть если пользователь введёт его один раз, то больше при следующем запуске пароль спрашиваться не будет.
Отправлен: 31.01.2007, 14:14
Вопрос задал: SashaFAN (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Трогладит
Здравствуйте, SashaFAN!
В Событие ОнКриейт описываете выброс окна Диалога с условием запрашиваемым в реестре, после введения правильного пароля в первый раз, делать запись в реестре, которая запретит запрос пароля
Ответ отправил: Трогладит (статус: 1-ый класс)
Ответ отправлен: 31.01.2007, 14:36
Отвечает: Troyan
Здравствуйте, SashaFAN!
Если вы собираетесь хранить данные (пароль и пользователь) в файле, то проверяете наличие файла (If FileExists(FileName : String) then) и обрабатываете его, если он есть, а если его нет, то модально выскакивает вторая форма с нужными вам элемементами (Form2.ShowModal). Если вы работаете с реестром, то проверяете наличие данных в реестре
Всю эту обработку нужно обеспечить в FormCreate.
--------- Кто к нам с чем за чем от того и того!
Ответ отправил: Troyan (статус: 6-ой класс)
Ответ отправлен: 31.01.2007, 14:38
Отвечает: Coupler
Здравствуйте, SashaFAN!
Нужно хранить где-то пометку о том, что пароль введен. Но это глубоко неправильно, т.к. это легко найти в большинстве случаев, поэтому нужно хранить сам пароль, а еще лучше, его хэш, и именно хэш проверять при запуске. Пример с функциями шифрования MD5 в приложении (пароль 123). Модуль с функциями шифрования MD5 (здесь не поместился) можно взять в delphiworld: http://delphiworld.narod.ru/base/hash_md5.html, только там надо синтаксические ошибки исправить, если не сможете, пишите.
Приложение:
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 31.01.2007, 15:10
Вопрос № 73.457
Здравствуйте уважаемые эксперты. У меня вопрос. Как сделать так, чтобы при вводе в поле Edit1 формы №1 и при нажатии на кнопку Button1, открывалась форма №2 и этот же текст переносился в поле Edit1 на форме №2
Отправлен: 31.01.2007, 14:14
Вопрос задал: SashaFAN (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Базанов Иван Александрович
Здравствуйте, SashaFAN!
Предположим что формы называются Form1 и Form2
Пишем такой обработчик нажатия Button1, которая лежит на форме Form1:
procedure Form1.Button1Click(Sender:TObject);
begin
Form2.Edit1.Text := Edit1.Text;
Form2.Show; // Как вариант - Form2.ShowModal
end;
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Здравствуйте уважаемые эксперты! Из главной формы открываю модальную форму, в событии OnActivate она выполняет определенные действия и после этого должна самостоятельно закрыться. Как это сделать? процедура Close не работает, приходится закрывать вручную.
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Зиганшин Рустем!
Просто Close пишите не в событии OnActivate, а в событии OnPaint.
Также (как вариант) на форме можно установить таймер, который будет закрывать форму, а сам таймер активировать в OnActivate, но первый способ, несомненно, лучше.
Ответ отправил: Устинов Сергей Евгеньевич (статус: Практикант)
Ответ отправлен: 31.01.2007, 20:13 Оценка за ответ: 5 Комментарий оценки: Спасибо, воспользовался советом с таймером! OnPaint не работает видимо ввиду длительности работы процедуры(за это время форма должна нарисоваться).
Отвечает: Базанов Иван Александрович
Здравствуйте, Зиганшин Рустем!
Закрывать диалоговое окно лучше не
Close;
а так:
ModalResult:=mrCancel;
Скорее всего, если бы оно у вас закрывалось, то вы вообще ничего бы не увидели, :) для окна бы сначала вызвалось бы OnActivate, в нем бы оно закрылось и не показалось бы вообще.
Я пробовал следующий метод:
На форму ставится таймер, он активируется в OnShow, в обработчике таймера выполнялись действия и окно закрывалось.
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Возможно Вам проще прописать данную функцию в отдельном модуле, прописать все Uses и по вместо вызова модальной формы вызывать функцию из модуля.
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: Студент)
Ответ отправлен: 01.02.2007, 13:25 Оценка за ответ: 4 Комментарий оценки: Спасибо, но дело в том, что мне форма нужна для отображения прогресса выполнения (процесс занимает длительное время).
procedure TProgressForm.FormActivate(Sender: TObject);
begin
<Здесь выполнение того, что вы хотите>
Abort:=True;
end;
procedure TProgressForm.Timer1Timer(Sender: TObject);
begin
if Abort then Close;
end;
procedure TProgressForm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
ModalResult:=mrOK;
end;
Ответ отправил: Gladiator (статус: 7-ой класс)
Ответ отправлен: 02.02.2007, 08:28 Оценка за ответ: 5 Комментарий оценки: Спасибо, я приблизительно так и сделал :)
Вопрос № 73.524
Здраствуйте Уважаемые эксперты,
Помогите пожалуйста разобратся с одной проблемой:
Как можно зделать чтобы при нажатии на кнопку выхода на форме, (этот крестик в правом верхнем углу) Форма не закрывалась бы а сворачивалась, похоже как в ICQ и Skype программах, и еще когда форма свёрнута ( в таскбаре) у меня в программе есть TrayIcon, как зделать чтобы при нажатии на TrayIcon форма развернулась бы с трея и былабы в нормальном положении, Form1.WindowState:=wsNormal неработает, а Form1.WindowState:=wsMaximized разворачивает на весь экран, но мне нужно чтобы развернулась в такие размеры в каких
она сразу была.
Заранее спасибо.
С уважением, Станислав.
Отправлен: 31.01.2007, 20:16
Вопрос задал: Станислав (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: monah
Здравствуйте, Станислав!
Для обработки выхода создайте у формы событие FormClose и в его обработчике присвойте переменной Action значение caMinimize.
По второй части вопроса, к сожалению, не могу подсказать, так как Вы вероятно пользуетесь 2005 или 2006 версией делфи, или же компонентом стороннего разработчика.
--------- festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 31.01.2007, 20:24 Оценка за ответ: 4 Комментарий оценки: Спасибо
Отвечает: Базанов Иван Александрович
Здравствуйте, Станислав!
1. В обработчике OnClose установи параметр Action := caNone и вызови Form1.WindowState:=wsMinimized или Application.Minimize
2.
ShowWindow(Handle, SW_SHOWNORMAL);
SetForegroundWindow(Handle);
--------- Программист ошибается дважды: первый раз при рождении, второй при выборе профессии
Ответ отправил: Базанов Иван Александрович (статус: 3-ий класс)
Ответ отправлен: 31.01.2007, 20:26 Оценка за ответ: 5 Комментарий оценки: Спасибо, полностю помогло