Тут просто так не сделаешь. Из вариантов могу предложить следующие: 1. пишешь драйвер который перехватывает функции работы с файлами, такие как запрос списка файлов диры + открытие файла в дире + копирование+ удаление итд итп. Твоя програмка общается с драйвером постоянно и драйвер передает адреса куда юзверь лезит. При нахождении защищаемой папки выводится окошко с вводом пароля. Если пароль правильный, то просто замонить PID процесса и папку к которой ему разрешен доступ. Сложность - написание драйвера. Плюсы - очень много. 2. через hook приаттачивать dll к каждому процессу которая будет общаться с главной прогой отвечающей за защиту. Легко сделать, но много минусов.
выпадающий список + сворачивание какая процедура вызывает выпадающий список - 2? и как сделать чтоб можно было сворачивать приложение? C компонентом разобрлася ComboBox...но как добавить туда допустим еще вариантов 10 ..чтоб было можно выбрать..один из них
Через драйвер....хммм че-то у меня похожее где-то валялось, надо посмотреть...та тут сложновато. Я думал просто что может есть какие-то недокументированные функции в самой системе.
procedure TForm2.ComboBox1Change(Sender: TObject); begin ?????? end; что вот тут писать чтоб был протос впадающйи спискок
и еще вопросик...как сделать так чтоб кнопка была ..но была прозрачной то есть на неее нельзя было нажать..что в свйоствах указать..
Люди, подскажите, как разбить набираемый текст на две колонки в RichEdit, или в чем еще, а на задний фон вместо белого свой картинка вставить, только чтоб его было видно. Заранее спс.
Или свойство visible меняешь на false если чтоб совсем не видно было. А вообще это совсем элементарные вопросы, которые можно узнать посмотреть в любую книжку, это ж элементарные азы.
программно Button1.Enable:=false; либо в самой среде чтобы по умолчанию при создании она была не активной выставь свойство Enable у кнопки в false; чтобы сделать ее доступной в рунтайме Button1.Enable:=true; Встречный вопрос: Как ты думаешь, насколько хорошую/полезную/качественную программу ты сможешь написать если ты не знаешь как работать со стандартными компонентами? зы: потрать 2 часа на прочтение любой книжки по делфи для начинающих чтобы тебе не задавали такие вопросы.
Эмм... мне надо код таково типа например на кнопку нажимаешь, а это время в cmd приписывается "shutdown -s -t 10" или же "win+e" вин + е дилательно что бы было около 100 =).. просто надо парня подколоть
SNAIPER ShoT, delphi или pascal? если pascal Code: {$M 8192,0,0} Program DOSCOMMAND; uses Dos; begin SwapVectors; Exec(GetEnv('COMSPEC'), '/C' + "shutdown /g /f"); SwapVectors; if DosError <> 0 then writeln('не могу наити cmd'); end. shutdown /g - Завершение работы и перезагрузка компьютера. После п системы, запуск всех зарегистрированных приложений. /s - Завершение работы компьютера. /f - Принудительное закрытие запущенных приложений без предупреждения пользователей.
Друзья, нужна помощь по паскалю. Сестра попросила решить задачу, а я в кодингде не секу вообще, только примерно понимаю какие переменные и всё. тому кто поможет, щедро дам +20
LoneWolf666 делал как то подобие такой проги, только без добавления процентов к стипендии. Здесь процент успеваемости студентов... А так всё тоже самое, 15 минут его покавырять и всё =) Code: uses crt; type studrec=record group: byte; surname: string[20]; name: string[20]; oc: array[1..3]of 2..5; end; foolsrec=record group: byte; surname: string[20]; name: string[20]; average: real; end; file_typ1 = file of studrec; file_typ2 = file of foolsrec; var f1: file_typ1; f2: file_typ2; namefile1, namefile2: string[12]; s: studrec; fs: foolsrec; i,nomrec: integer; procedure read_data(var s: studrec); begin with s do begin writeln('Okonchanie vvoda - 0, kak n gruppi'); write('N gruppi: '); readln(group); if group<>0 then begin write('Familia: '); readln(surname); write('Imia: '); readln(name); writeln('Ocenki: '); for i:=1 to 3 do read(oc[i]); end; end; end; procedure copy_data(s: studrec; var fs: foolsrec); begin with fs do begin group:=s.group; surname:=s.surname; name:=s.name; average:=(s.oc[1]+s.oc[2]+s.oc[3])/3; end; end; procedure write_list(var f: file_typ2); begin reset(f); seek(f,0); writeln('Ploho uchashiesia: '); writeln('Gruppa','Familia':16,'Imia':8,'Sredniy bal':18); while not eof(f) do begin read(f,fs); with fs do writeln(group:4,surname:15,name:10,average:16:2); end; end; procedure create_file(var f: file_typ1; var n: integer); begin n:=0; rewrite(f); read_data(s); while s.group<>0 do begin write(f,s); inc(n); read_data(s); end; close(f); end; procedure write_data(var f1: file_typ1; var f2: file_typ2; n: integer); var priz: char; k: integer; begin reset(f1); rewrite(f2); k:=0; while not eof(f2) do begin read(f1,s); priz:='n'; for i:=1 to 3 do if (s.oc[i]>=2) and (s.oc[i]<=3) then priz:='y'; if priz='y' then begin copy_data(s,fs); write(f2,fs) end else inc(k); end; close(f1); close(f2); clrscr; writeln('Na "4" i "5" uchatsia ',k/n*100:3:0,'% studentov'); end; begin write('Vvedite imia faila obshey vedomosti: '); readln(namefile1); assign(f1,namefile1); create_file(f1,nomrec); write('Vvedite imia faila vedomosti zadolzhnikov: '); readln(namefile2); assign(f2,namefile2); write_data(f1,f2,nomrec); write_list(f2); end.
2 k1113r если тебя интресует отправка фпйлов то вот: Code: const URL_POST = 'http://localhost/gate/gate.php'; ... procedure POSTFile(Filename: String); var IdHTTP: TIdHTTP; LPostStream: TIdMultiPartFormDataStream; LResultString: String; ff: TFileStream; begin IdHTTP := TIdHTTP.Create(nil); IdHTTP.MaxLineLength := 0; LPostStream := TIdMultiPartFormDataStream.Create; ff := TFileStream.Create(Filename, 0); try LPostStream.AddObject('data', 'application/vnd', ff, Filename); try LResultString := IdHTTP.Post(URL_POST, LPostStream); except on E:Exception do Showmessage(E.Message); end; ShowMessage(LResultString); finally IdHTTP.Free; LPostStream.Free; end; end; незашто =)