Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Dj_smart, W0LF, DeCoder, NNN  
Форум » Программирование » ЧаВо » FAQ
FAQ
Dj_smartДата: Пятница, 16.05.2008, 16:08 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 62
Репутация: 6
Статус:
В данной теме будут выложены ответы на самые часто задаваемые вопросы.
Пишите сюда вопрос в одно сообщение и оно будет отредактировано ответом.




Сообщение отредактировал DeCoder - Понедельник, 18.08.2008, 20:12
 
Dj_smartДата: Пятница, 16.05.2008, 16:16 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 62
Репутация: 6
Статус:
Перенесено из старого форума:

Пост #1 - Hunter -
Вот появились вопросы:
1) Как изDelphi можно отключить компьютер
2)Как указать папку Windiws
3)Как отослать e-mail из своей проги
4)Как сделать так, чтобы при нажатии на кнопку открывался браузер с адресом сайта
Только если пишите ответ пишите подробно, вплоть до того, что нужно писать в uses

Пост #2 - Hunter
На первый нашёл ответ:
Вставляем этот код после $R *.dfm:

Code
function MyExitWindows(RebootParam: Longword): Boolean;        
var        
        TTokenHd: THandle;        
        TTokenPvg: TTokenPrivileges;        
        cbtpPrevious: DWORD;        
        rTTokenPvg: TTokenPrivileges;        
        pcbtpPreviousRequired: DWORD;        
        tpResult: Boolean;        
const        
        SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';        
begin        
        if Win32Platform = VER_PLATFORM_WIN32_NT then        
        begin        
          tpResult := OpenProcessToken(GetCurrentProcess(),        
            TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,        
            TTokenHd);        
          if tpResult then        
          begin        
            tpResult := LookupPrivilegeValue(nil,        
                         SE_SHUTDOWN_NAME,        
                         TTokenPvg.Privileges[0].Luid);        
            TTokenPvg.PrivilegeCount := 1;        
            TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;        
            cbtpPrevious := SizeOf(rTTokenPvg);        
            pcbtpPreviousRequired := 0;        
            if tpResult then        
              Windows.AdjustTokenPrivileges(TTokenHd,        
                         False,        
                         TTo kenPvg ,        
                         c   btpPrevious,       
                         rTTokenPvg,       
                         pcbtpPreviousRe quired );       
          end;       
        end;       
        Result := ExitWindowsEx(RebootParam, 0);
end;

Потом создаем то, что будет у нас отключать или перезагружать комп. Я создал две кнопки, для выключения и перезагрузки соответственно:

Код для выключения:

Code
MyExitWindows(EWX_POWEROFF or EWX_FORCE);

Для перезагрузки:

Code
MyExitWindows(EWX_REBOOT or EWX_FORCE);

Так как я не плагиатор я напишу: Ответ на вопрос я взял отсюда.

Пост #3 - Dj_smart

Как узнать Windows и реализовать ссылки я помогу:

1. Функция GetWindows. У меня возвращает C:\Windows :

Code
function getwindows:string;
var Dir: String;
maxpath:integer;
begin
setlength(Dir, MaxPath);
GetWindowsDirectory(PChar(Dir), MaxPath);
result := String(PChar(Dir));
end;

2. Ссылки:

ShellExecute(GetDesktopWindow(), 'open', 'http://www.smt.ucoz.com/', '', '', SW_SHOWDEFAULT); кинет на мой сайт.

Тоже не плагиатор . DELPHIWORLD rulez

Пост #4 - Hunter -
Dj_smart
Я уже пробывал ShellExecutw
Выдает ошибку. Там точно ничего не надо в Uses писать?

Пост #5 - Dj_smart
Ну конечно, же. А ты не пробовал нажать F1 на слово ShellExecute?
Модуль, отвечающий за эту чушь - ShellApi




Сообщение отредактировал DeCoder - Понедельник, 18.08.2008, 20:21
 
DeCoderДата: Понедельник, 18.08.2008, 20:10 | Сообщение # 3
Кодер
Группа: Модераторы
Сообщений: 28
Репутация: 1
Статус:
Как вшить файл в программу, с последующей возможностью заменять его и копировать?
Всё делается очень просто:

1. Нажимаешь Проект/Progect
2. Потом Resourses
3. Нажмиаешь правой клавишей по проекте - NEW > UserData
4. Type(в следующем окне) оставляешь неизменной.
5. Выбираешь заливаемый файл.
6. И радуешься залитому файлу smile

1)Как сохранять цветовую схему в файл и подгружать её из файла при запуске программы.
2)Как вставлять в текст смайлы (для чата).

1. Первая мысль - юзать INI файлы. При смение гаммы перезаписывай в файл. А при загрузке- читай с него.
2. Тебе сюда. biggrin

Вот, я и не могу понять как ini использовать
А я(Dj Smart) его нестандартно использую.Как обычные файлы.
Делал так :

Code
var x:byte;      
          f:text;  
          hill:string;  
if цветовая схема=такаято then x:=1;  
if цветовая схема=еще какая-то then x:=2;  
if цветовая схема=вооще другая then x:=3;  
assignfile(f,'Config.ini);  
rewrite(f);  
writeln(f,inttostr(x));  
closefile(f);

При чтении наоборот:

Code
Code
assignfile(f,'Config.ini');  
reset(f);  
readln(hill);  
closefile(f);  
x:=strtoint(hill);  
if x=1 then цветовая схема := такаято  
if x=2 then цветовая схема := еще какая то  
if x=3 then цветовая схема := вооще другая


Есть 2 мнения: моё и неправильное.
Прежде чем указать на ошибки, сначала похвали!
 
Форум » Программирование » ЧаВо » FAQ
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024