![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.
Возникло несколько вопросов.. 1) На форме есть radiogroupы. Нужно, чтобы после того как пользователь поставил кружочки, при следующем запуске программки они оставались там же и не приходилось повторно указывать параметры Как это сделать? 2) Как сделать, чтобы в зависимости от выбора варианта в radiogroup edit1.text.enabled становился тру, либо не тру? (поставлю один кружочек - тру, поставлю другой - не тру) 3) Как делается такое?: Пользователь нажимает на кнопку, после чего кликает курсором на экране и переменной присваивается значения координат где был клик 4) Код:
SetCursorPos(x0,y0); Mouse_Event(MOUSEEVENTF_LEFTDOWN, x0, y0, 0, 0); Mouse_Event(MOUSEEVENTF_LEFTUP, x0, y0, 0, 0); Последний раз редактировалось nikki4, 10.04.2010 в 12:48. |
#2
|
||||
|
||||
![]() 1. Запоминать состояние компонентов в файл при завершении приложения и восстанавливать при старте. Если компонентов довольно много удобно воспользоваться классом TINIFile.
2. Так и делать, обработать событие OnChange для ваших радиогруп. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() 1. А как запомнить? Чтоб например при нажатии на кнопку сохранить , создавался текстовый файл в который сохранялись значения эдитов, а потом при открытии формы, автоматически загружалось оттуда?
2. А где это событие? Там только есть onclick oncontextpop ondragdrop ondragover onenddock onenddrag onenter onexit onstartdock onstartdrag popupmenu Последний раз редактировалось nikki4, 10.04.2010 в 13:41. |
#4
|
|||
|
|||
![]() Цитата:
procedure TForm1.Button1Click(Sender: TObject); begin showmessage ('Кликните мышкой на ...'); if мышкой кликнули, то: begin GetCursorPos (mish); edit1.text:=inttostr(mish.X); edit2.Text:=inttostr(mish.Y); end; |
#5
|
||||
|
||||
![]() 1)При закрытии программы на OnCloseQuery делаешь запись положения Radiobaton.Checked=true или false в INI файл. При запуске читаешь данные с INI файла.
2)Если я не ошибаюсь то в RadioGroup и так выбирается один из нескольких вариантов. Вот и делай на каждый из них (по идее у тебя их 2 будет. edit1.enabled:=Вкл\выкл). Т.е. получается такая ботва: procedure TForm1.RGClick(Sender: TObject); begin If RG.ItemIndex=0 then Edit1.Enabled:=True; If Rg.ItemIndex=1 then Edit1.Enabled:=False; end; или вот примерчик. http://dump.ru/file/4511399 3) Если кликаешь на своей форме то достаточно просто на он клик по форме читать координаты. Пример:http://dump.ru/file/4511416 А если ты хочешь свернуть свое приложение и читать координаты на рабочем столе к примеру то нужно ставить хук, и перехватывать нажатия мыши. 4)В свернутом окне никак не выполнишь свой код.(это конкретно про игру) А если в программу левую послать то можно. Из своей проги посылай sendmessage Последний раз редактировалось Adrenalin, 10.04.2010 в 15:46. |
#6
|
|||
|
|||
![]() 1. нагуглил, нашел.. если кому интересно, вот как сохранять в ини файл:
Код:
Uses IniFiles, ... Private { Private declarations } Procedure ReadParams; Procedure WriteParams; ... Procedure TForm1.ReadParams; Var IniFile: TIniFile; Begin IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini')); Edit1.Text:=IniFile.ReadString('VOL','Id1',Edit1.Text); IniFile.Free; End; Procedure TForm1.WriteParams; Var IniFile: TIniFile; Begin IniFile := TIniFile.Create(ChangeFileExt(ParamStr(0),'.ini')); IniFile.WriteString('VOL','Id1',Edit1.Text); IniFile.Free; End; Procedure TForm1.FormClose(Sender: TObject; Var Action: TCloseAction); Begin WriteParams; End; Procedure TForm1.FormCreate(Sender: TObject); Begin ReadParams; End; Работает, но почему-то только 1 раз.. т.е. закрываю -с сохраняется, открываю - загружается, закрываю - ничего не сохраняется //удалил IniFile.Free; при записи, вроде теперь сохраняется постоянно 2. спасибо 3. а попроще нельзя? ладно.. напишу, типа: "наведите курсор мыши на кнопук и нажмите энтер.." тогда запишутся координаты 4. знаю простую примитивную прогу uopilot так там можно, неужели в делфи нельзя так? |