Вопрос № 36580: Здравствуйте эксперты. Начал изучать Delphi по книге, установил 7 версию, вроде бы старая (2002), стоит ли установить последнюю версию или для начала подойдет?
Спасибо....Вопрос № 36620: Добрый день.
Есть несколько вопросов:
1.1 Можете подсказать как узнать как раскладка клавиатуры включена.
1.2 Как узнать какое сочитание клавиш меняет раскладку.
1.3 Как можно програмно поменять раскладку клавиатуры.
2.1 Как можно...
Вопрос № 36.580
Здравствуйте эксперты. Начал изучать Delphi по книге, установил 7 версию, вроде бы старая (2002), стоит ли установить последнюю версию или для начала подойдет?
Спасибо.
Отправлен: 02.03.2006, 16:35
Вопрос задал: Gava (статус: 1-ый класс)
Всего ответов: 8 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Jadd
Здравствуйте, Gava!
Смотря что у Вас в книге написано. Если там описаны технологии из последних версий дельфей, тогда ставьте последнюю. В противном случае достаточно и 7-ки.
Успехов.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 02.03.2006, 16:38 Оценка за ответ: 4
Отвечает: Rusland
Здравствуйте, Gava!
Если книга описывает работу в 7-ой версии Дельфи, то лучше на ней и работать. Когда книга станет не нужна, тогда можно будет установить и что-то по новее. Я, например, пишу на 6-ой версии... много компонентов написано именно под эту версию.
--------- Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Отправлен: 02.03.2006, 16:39 Оценка за ответ: 4
Отвечает: Полховский Александр Владимирович
Здравствуйте, Gava!
Мне до сих пор хватает с головой. Лучше всего на оф. сайт зайти и посмотреть изменения, а там и решить, нужны ли они Вам.
--------- Спасём нашу хрупкую планету !
Отвечает: Ерёмин Андрей
Здравствуйте, Gava!
Подойдёт, ещё как! Я, например, тоже в Delphi 7 работаю. Эта версия сравнительно стабильная и в то же время функциональная. С более поздними версиями не совместимы многие компоненты и пакеты. А вообще, в книгах обычно пишут, с какой версией работает автор...
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 02.03.2006, 17:17 Оценка за ответ: 4
Отвечает: Ataman N. N.
Здравствуйте, Gava!
Для начала пойдет. Сам программирую в 7 версии, пока нравиться и очень.
Ответ отправил: Ataman N. N. (статус: 9-ый класс)
Отправлен: 02.03.2006, 17:19 Оценка за ответ: 3
Отвечает: Tamashev Denis M
Здравствуйте, Gava!
Ну у меня стоит Delphi 9.0
Мне очень нравица её можно поставить если ты C# хоть чуть-чуть знаешь !
Грузица она тоже неочень быстро !
Вобшем 7 тоже очень хорошая !
Но в 9.0 возможностей побольше !
Дело твоё !
Лично я с Delphi 9.0 уже неслезу 8) !
Ответ отправил: Tamashev Denis M (статус: 1-ый класс)
Отправлен: 02.03.2006, 19:39
Отвечает: Злоумышленник
Здравствуйте, Gava!
Похоже, D7 - лучшая версия. Потом была D8 - поддерживала исключительно платформу .NET, безуспешно продвигаемую Microsoft аж с 2000-го года. Из-за отсутствия поддержки Win32 Delphi8 потерпела полный крах. В 2005-м вышла D2005 - уже с поддержкой Win32 и опять таки с поддержкой никому не нужному .NET Сама D2005 сидит на .NET-движке, а так как технология .NET до сих пор не доведена до ума (и вряд ли будет доведена)+ начавшиеся проблемы с продажами Delphi + бездарный менеджмент руководства Borland, то в итоге получилась
глючная вещь. Я устанавливал на компе D2005, сплошные глюки, да прожорливость ресурсов, в итоге пришлось вернуться на D7. Сейчас вышла D2006, вря ли что-то хорошее, учитывая тот факт, что Borland продаёт Delphi.
На сегодняшний день, тем не менее, D7 остаётся всё ещё лучшей средой быстрой разработки приложений. Майкрософт пока всё лажу какую-то демонстрирует, я до сих пор злой на них, что бездарно когда-то потратил 1,5 месяца на изучение Visual Basic, пока не понял, что отстой. Так что ты на правильном пути. Удачи!
--------- Почему нет встроенного языка 1С на мордовском? Было бы клёво!
Ответ отправил: Злоумышленник (статус: 4-ый класс)
Отправлен: 02.03.2006, 21:00
Отвечает: romodos
Здравствуйте, Gava!
Согласен с экспертами Андей Еремин и Злоумышленник. Работайте лучше на седьмой версии. Ничего особенного вам в последующих версиях не дадут. Вы даже потеряете. А седьмая версия - стабильная, рабочая, все к ней привыкли. Опять же, компонентов к ней куча. И с предыдущими версиями она совместима. А вот восьмая и далее - это NET, который на фиг не нужен!! Так что вам и для начала и для конца подойдет Delphi 7!
--------- The Source is Our Soul. FAQ me off!
Ответ отправил: romodos (статус: Практикант)
Отправлен: 04.03.2006, 07:25
Вопрос № 36.620
Добрый день.
Есть несколько вопросов:
1.1 Можете подсказать как узнать как раскладка клавиатуры включена.
1.2 Как узнать какое сочитание клавиш меняет раскладку.
1.3 Как можно програмно поменять раскладку клавиатуры.
2.1 Как можно узнать включен ли "CapsLock"
2.2 Как можно вкл/выкл "CapsLock"
Отправлен: 03.03.2006, 07:27
Вопрос задал: AllexZ (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Ерёмин Андрей
Здравствуйте, AllexZ!
1.3 (программное изменение раскладки клавиатуры):
procedure TForm1.Button1Click(Sender: TObject); {На русский} var Layout: array[0.. KL_NAMELENGTH] of char; begin LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);
end;
procedure TForm1.Button2Click(Sender: TObject); {На английский} var Layout: array[0.. KL_NAMELENGTH] of char; begin LoadKeyboardLayout(StrCopy(Layout,'00000409'),KLF_ACTIVATE); end;
2.1 (получение состояния Caps Lock):
function IsCapsLockOn : Boolean; begin Result := 0 <> (GetKeyState(VK_CAPITAL) and $01); end;
2.2 (включение/выключение Lock'ов на клавиатуре):
Способ для 9x (на NT не работает):
--------- Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Отправлен: 03.03.2006, 07:54 Оценка за ответ: 5 Комментарий оценки: Процедура LoadKeyboardLayout находиться в какой библиотеке?
Отвечает: Лучников Юрий Владимирович
Здравствуйте, AllexZ!
1.1
char KeybName[KL_NAMELENGTH];
if (GetKeyboardLayoutName(KeybName))
{
if (strcmp(KeybName, "00000409") == 0) //Код англ. раскладки
Label1->Caption = "EN";
else if (strcmp(KeybName, "00000419") == 0) //Код русской раскладки
Label1->Caption = "RU";
else Label1->Caption = KeybName; // Код другой раскладки
} else Label1->Caption = "Error";
1.2
Анализируем реестр: HKEY_CURRENT_USERKeyboard LayoutToggle\Hotkey
Смeнa coчeтания клaвиш пepeключения pacклaдки клaвиaтуpы и переключения между языками.
Тип: REGSZ;
Значение: (1 = левый Alt+Shift; 2 = Ctrl+Shift; 3 = отключен)
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 03.03.2006, 09:59 Оценка за ответ: 5 Комментарий оценки: Спасибо. Все понятно.
Отвечает: Diman_A
Здравствуйте, AllexZ!
Узнать состояние CapsLock:
function IsCapsLockOn: Boolean;
begin
Result := 0 <> (GetKeyState(VK_CAPITAL) and $01);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsCapsLockOn then form1.Caption:='CapsLock включен!'
else form1.Caption:='CapsLock выключен!'
end;
Включитьвыключить CapsLock:
type
TKeyType = (ktCapsLock, ktNumLock, ktScrollLock);
procedure SetLedState(KeyCode: TKeyType; bOn: Boolean);
var
KBState: TKeyboardState;
Code: Byte;
begin
case KeyCode of
ktScrollLock: Code := VK_SCROLL;
ktCapsLock: Code := VK_CAPITAL;
ktNumLock: Code := VK_NUMLOCK;
end;
GetKeyboardState(KBState);
if (Win32Platform = VER_PLATFORM_WIN32_NT) then
begin
if Boolean(KBState[Code]) <> bOn then
begin
keybd_event(Code,
MapVirtualKey(Code, 0),
KEYEVENTF_EXTENDEDKEY,
0);
keybd_event(Code,
MapVirtualKey(Code, 0),
KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,
0);
end;
end
else
begin
KBState[Code] := Ord(bOn);
SetKeyboardState(KBState);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetLedState(ktCapsLock, True); // CapsLock on
end;
Ответ отправил: Diman_A (статус: 6-ой класс)
Отправлен: 03.03.2006, 17:04