• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

DELPHI

  • Автор темы Автор темы V_Bond
  • Дата начала Дата начала

V_Bond

Новые
Регистрация
25 Ноя 2006
Сообщения
788
Реакции
1
Баллы
0
Горячие клавиши
Горячие клавиши - сочетания клавиш, которые регистрируются в системе и при их нажатии система посылает сообщение WM_HOTKEY тому окну, Handle которого было заявлено при регистрации горячей клавиши. При этом не важно, имеет ли окно- получатель фокус ввода и видимо ли оно на экране. Это особенно удобно при написании резидентных программ, т.е. приложений, которые активизируются при нажатии определенных сочетаний клавиш.
Регистрация производится при помощи вызова API RegisterHotKey
function RegisterHotKey(hWnd: HWND; id: Integer; fsModifiers, vk: UINT): BOOL;
hWnd - Handle окна, которое будет получать сообщения при нажатии горячей клавиши
id - идентификатор (просто число, передаваемое в сообщении WM_HOTKEY. id позволяет приложению работать с несколькими горячими клавишами, различая их по id). Нельзя определить две горячие клавиши с одинаковым id
fsModifiers - модификаторы. Определяют, какие клавиши должны быть нажаты совместно с указанной vk. Допустимы значения: MOD_ALT - ALT, MOD_CONTROL - CTRL, MOD_SHIFT - SHIFT
vk - виртуальный код клавиши
Если горячую клавишу удается зарегистрировать, то функция возвращает TRUE.
При завершении приложения необходимо отменить регистрацию горячей клавиши при помощи вызова UnregisterHotKey. При вызве ей передается Handle окна и id горячей клавиши.

TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
// Обработчик сообщения WM_HOTKEY
procedure WMHotKey(var Mess:TWMHotKey);message WM_HOTKEY;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMHotKey(var Mess: TWMHotKey);
begin
MessageBeep(0);
ShowMessage('Нажата горячая клавиша CTRL+F12');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Handle, 1 ,MOD_CONTROL, vk_F12);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnregisterHotKey(Handle, 1);
end;
 
Короче такая фигня ,вопрос конечно ламерский =D . вот допустим надо сохранить текст ,(в делфе конечно) прописываем
Код:
memo1.Lines.SaveToFile(C........ путь здесь не важен)
И допустим 
if memo1.Modified then begin
Теперь вопрос, как сделать чтобы можно было самому указывать путь ,а не этим способом?
memo1.Lines.SaveToFile(C........ и так далее)
Заранее спасибо!
 
в разделе переменных определяешь текстовый файл
...
var
F: TextFile;
...

затем в процедуре используешь операторы для работы с файлами:
AssignFile(F,'путь к файлу'); - ассоциировать файловую переменную с файлом
Reset(F); - инициализация файла по чтению
Rewrite(F); - инициализация файла по записи
Append(F); - инициализация файла по добавлению строк в конец файла.
WriteLine(F,'строка'); - запись строки в файл
ReadLine(F,S); - чтение строки из файла в переменную S
CloseFile(F); - закрыть файл.

Для того чтобы самому указывать путь, кидай на форму TEdit, в него пусть вводится путь, а EditText используй в AssignFile(F,'путь к файлу')

В цикле чтения используй признак конца файла EOF(F) или конца строки EOL(F) - это логические функции.
 
AlexZir
СПАСИБО! Все сделал, еще и до самого дошло =D !
ЗЫ Делфа рулит!!!
 
Помогите! Brothers in Arms - Hell's Highway - крутит камеру.

Как только начинаю играть, камера начинает крутится с большой скоростю и ничего нельзя понять . Уже все перепробувал, все настройки, DirectX, и многое другое, и ничего не изменилось! Форумчане помогите please.::(
 
Только в одной игре такая проблема?

Как вариант - посмотрите настройки чувствительности мыши.
 
Попробуй установить патч!
 
Я ИСКАЛ ПО ВСЕМУ НЕТУ. ЕТОТ ПАТЧ и НИЧЕГО НЕ НАШОЛ!!! ета пипец.
GTA4, Far cry2, Fallout3,NFS undercover, Cal:(l of Duty 5 - Все идет как по маслу! А ета хрень тупит!
 
Последуйте совету Ламмера и посмотрите в настройках игры чувствительность мыши! Будет высока уменьшите и попробуйте сыграть так)))
 
Всем спасибо. Причину нашол - ета руль. Просто был подключон и он крутил камеру.:)
 
Привет всем. Измените, что так поздно, но всё же помогите, пожалуйста новичку. Прочитал материал в начале темы и теперь всё стало понятно с гор. клавишами, спасибо. Но я только одного не понял, а где прописать какую форму открывать? Я пытался вместо Handle написать Form2.ShowModal, но он меня явно не понял. Где в регистрации гор. клавиши задать, чтобы открыл Form2 да и ещё модально? Или это как-то по-другому делается?
 
А, всё, разобрался...
 
Назад
Сверху