Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.12.2006, 22:27   #1
Hallo
Здесь дольше всех
Форумчанин
 
Аватар для Hallo
 
Регистрация: 29.10.2006
Адрес: Прага, Чехия
Сообщений: 372
Репутация: 207
По умолчанию Управление windows с помощью delphi

Цитата:
От автора
Здравствуйте. В этом учебники я напишу, как обращаться с Windows’ом. Учебник это, по сути, набор статей по работе с определёнными разделами Windows.
Начнём с рабочего стола
Разберём панель задач Меню Пуск.
Работа с файлами
Ярлыки
Реестр
Немного о Windows
Панель управления
Монитор
CD-rom
Мышь
Клавиатура.
Hallo вне форума   Ответить с цитированием
Старый 05.09.2010, 02:19   #2
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

попробовал осуществить то, что написано в статье "Немного о Windows".
В console aplication оно не прокатывает -
[Pascal Error] Project1.dpr(8): E2004 Identifier redeclared: 'System'

код таков:
Код:

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,  windows, system;

var
   Windir: string;
   WindirP: PChar;
   Res: Cardinal;

   WinVersion, DosVersion: Word;

{$R *.dfm}

{Надо узнать, где запрятана, на компьютере, эта глюченая,
 но родная система под названием windows:}

 begin
  WinDirP := StrAlloc(MAX_PATH);
  Res := GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res > 0 then
    WinDir := StrPas(WinDirP);
  writeln(WinDir);


//Теперь надо выяснить, что за windows и dos перед нами.
// Думаю, пару label и одной button хватит:



  WinVersion := GetVersion and $0000FFFF;
  DosVersion := GetVersion shr 16;
  writeln(IntToStr(Hi(DosVersion))+'.'+IntToStr(Lo(DosVersion)));
  writeln(IntToStr(Lo(WinVersion))+'.'+IntToStr(Hi(WinVersion)));

end.


В чём собственно проблема? Точнее в чём проблема , я понимаю, а вот почему???
__________________
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 05.09.2010 в 07:07.
Rin вне форума   Ответить с цитированием
Старый 05.09.2010, 15:19   #3
DIgorevich
Погулять вышел
Профессионал
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Адрес: за спиной
Сообщений: 1,572
Репутация: 246
По умолчанию

Всё работает:
Код:

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,  windows, system;
var
   Windir: string;
   WindirP: PChar;
   Res: Cardinal;
   WinVersion, DosVersion: Word;
begin
  WinDirP := StrAlloc(MAX_PATH);
  Res := GetWindowsDirectory(WinDirP, MAX_PATH);
  if Res > 0 then
    WinDir := StrPas(WinDirP);
  writeln(WinDir);
  WinVersion := GetVersion and $0000FFFF;
  DosVersion := GetVersion shr 16;
  writeln(IntToStr(Hi(DosVersion))+'.'+IntToStr(Lo(DosVersion)));
  writeln(IntToStr(Lo(WinVersion))+'.'+IntToStr(Hi(WinVersion)));
end.

__________________
Никогда не знаешь, где тебе повезет... (Фрай) http://dvorkin.by/
DIgorevich вне форума   Ответить с цитированием
Старый 05.09.2010, 21:57   #4
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

хм, Я на turbo Delphi это делаю. У меня этот код не фурычит.
попробовал скопировать модуль и переименовать его в System1.pas и в заголовке самого pas файла переименовать. Записал в uses так:

Код:

uses windows, SysUtils,
system1 in 'C:\Program Files\Borland\BDS\4.0\source\Win32\rtl\sys\System1.pas';

так он мне ещё больше ошибок понавыдовал))

[Pascal Error] System1.pas(291): E2211 Declaration of 'QueryInterface' differs from declaration in interface 'IInterface'
[Pascal Error] System1.pas(1742): E2004 Identifier redeclared: 'SysInit'
[Pascal Error] System1.pas(3329): E2251 Ambiguous overloaded call to 'ChDir'
to 'MkDir'
to 'RmDir'
[Pascal Error] System1.pas(13372): E2105 Inline assembler syntax error
[Pascal Error] System1.pas(17688): E2251 Ambiguous overloaded call to 'EnumModules'
................................... .........
и в заключении на десерт дал это =)
[Pascal Fatal Error] Project1.dpr(6): F2063 Could not compile used unit 'C:\Program Files\Borland\BDS\4.0\source\Win32\ rtl\sys\System1.pas'

видать гиблое дело на turbo Delphi работать.
Но мне очень всё таки интересно, почему же именно на System он ругается. Ни windows, ни SysUtils, а именно System?

Во, а какой скрипт поставить, чтобы не проверялись ошибки?
как то {-R*.} или как то так.... не помню уже.
__________________
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Stilet; 06.09.2010 в 09:21.
Rin вне форума   Ответить с цитированием
Старый 05.09.2010, 23:31   #5
JTG
я получил эту роль
Профессионал
 
Аватар для JTG
 
Регистрация: 25.05.2007
Адрес: тут темно и с потолка капает
Сообщений: 3,695
Репутация: 2224

icq: III 37373860
По умолчанию

oO а зачем вообще явно system указывать? Он же и так в обязательном порядке подключается к любому проекту, потому и Identifier redeclared
__________________
пыщь
JTG вне форума   Ответить с цитированием
Старый 05.09.2010, 23:37   #6
raxp
Профессионал
 
Регистрация: 29.09.2009
Сообщений: 9,734
Репутация: 3006
По умолчанию

вот именно, не нужно ...TurboDelphi-Lite, работает.
__________________
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума   Ответить с цитированием
Старый 05.09.2010, 23:50   #7
Rin
Негодник
Участник клуба
 
Аватар для Rin
 
Регистрация: 10.11.2009
Адрес: сергиев посад
Сообщений: 882
Репутация: 170
По умолчанию

ага , понятно. Убрал, заработало!!! Thanks.
__________________
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows Открыть с помощью не работает AnageN Windows 3 02.08.2010 18:22
Показать диалог с помощью windows messages mnemonic Win Api 3 27.08.2008 00:27
Управление Excel из Delphi chekanoff Общие вопросы Delphi 2 15.01.2008 21:31
написать БД на Delphi с помощью SQL Tanchik Фриланс 2 13.06.2007 19:06
Управление настройками компьютера из приложения Delphi Saili Общие вопросы Delphi 2 05.12.2006 12:41


14:21.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru