Структура программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

Как Вы относитесь к курящим девушкам?
Как через API получить разрешение экрана?
Как изменить цвет конопок через реестр windows
strtoint
Преобразование StrToFloat, Нужно перехватить ошибку
QReport -->QRCompositeReport1, Очередной глюк QReport'а
BDE+ODBC+SQL Что плохого ?, Хотелось бы услышать мнение
Активный TabSheet1, Активный TabSheet1
Delphi: полноэкранный режим без DirectX, Delphi: полноэкранный режим без DirectX
Запись звука
Предопределенные классы
Variant-массивы, Variant-массивы
Отправка почты, Как отправить почту
Господа подскажите неопытному
indy, проблема в передаче данных
Преобразовать дату-время в формате TDateTime в Uni, ( long в секундах от 1.1.1970 00:00).
Несоответствие типов : boolean and integer
Пропадают данные в БД
HDD, и все все все
Отправка факса, Отправляю факс через модем
Сообщение OutlookExpress, Декодирование
Как совместить Русский и Иврит, Региональные стандарты
Отображение значка наличия данных в GridEh, Как это сделать ?
Сохранение порядка и ширин колонок в GridEh, Как это сделать ?
TMemo. Как увеличить буфер undo?, неограниченный undo
GLScene, Ссылки и программы с исходниками
Графический вывод в TListBox?
Как узнать сколько секунд/минут в Wav файле?
Графический вывод в TListBox?
Написать инсталлятор, всё в один exe
Кодирование/декодирование, MIME - Base64
Загрузить шрифт, из файла
PHP+Delphi
BDE и ODBC - что использовать , если..., прошу внести ясность
Строка, Помогите, очень надо!
Таблицы в Word XP
Соединение с сотовым телефоном
Удаленное управление
Вопрос об Event'ах, Help!!!!!!!!!!!!!&
Комбинации чисел, Вопрос про возможные комбинации
Как удалить Autocomplete data из IE ?, Программно...не через меню IE ;)
Кто умеет програмировать в TurboPascal 7.0, Просьба написать програмку
OpenGL, О скорости
Изменение EXE?
Определить версию ОС, Отличить 9x от NT
Как Вы относитесь к курящим девушкам?
MP3, декодирование MP3
Программный вызов свойств файла, Как это сделать на Дельфи ?
Иконка в трее (цвет), почему происходит изменение цвета?
Вопрос для Pegas
Paradox, Открытие table/query!!!
Строки и параметры, Аналог функции ParamStr
Пишу Help. Нужна help.
HTML и Delphi
WinAPI-набор номера., WriteFile
не читаются русские буквы в DatabaseDesktop
Поиск в RichEdit?
Куда делся FileUtil?, D7
Меню другого приложения...
Графические модули, Внимание! Розыск!
richedit вопрос, важно
Все компьютеры, Ищем все компьютеры в сети
Выделение в ListBox, ...программно
Как втянуть в FastReport - отчет файл?, выше
Потоки, Как правильно работать с потоками
Вопрос насчет раскраски выделения в DBGridEh, Выделение в гриде своим цветом
Большие числа, как
Поиск
AT-команды модема, Как с ними управляться???
Selected Row in DBGrid

Платные хостинги     Раскрутка сайта     Книги по программированию


Удаленное управление

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Подскажите как удаленно усоществить просмотр диска и возможность досьтупа к файлам?Клиен и сервер я написал но с простыми действиями а как осуществить эту тему?

- Ну сделайте какие-то константы- запрося клиента и сервера, на которые они будут отвечать соответствующим образом. Например сервер отсылает константу и за ней параметр 'Гони файл:C:\system.ini', где 'Гони файл:'- константа, определяющая действия, а 'C:\system.ini'-параметр.Я писал аналогичную программу и для ответов(отсылки списка файлов, файл, ...)использовал другой сокет. А перый сокет служил вот для этих команд.

- А пример?

- Сделай команду разшаривания дисков.Дал команду на сервер- он открыл диски ты их просто посмотрел, дал команду - закрыл доступ

- Без проблем!

- Протокол старый, я уж отказался от него. Но в новых версиях там сложно очень.СерверКод void COMMAND_File_Dir(CSConnection* Conn){ WIN32_FIND_DATA fnd; char mask[MAX_PATH]; HANDLE filefind; char fileinfo[MAX_PATH+1+10+1+5+16+1]; SYSTEMTIME stime; plstrcpy(mask,Conn->curdir); plstrcat(mask,"\\"); plstrcat(mask,Conn->mask); filefind=pFindFirstFile(mask,&fnd); if (filefind!=INVALID_HANDLE_VALUE)  do{   plstrcpy(fileinfo,fnd.cFileName);   plstrcat(fileinfo,"…");   char attr[6]="\0";   if((fnd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)!=0) plstrcat(fileinfo,"d"); else plstrcat(fileinfo,"-");   if((fnd.dwFileAttributes&FILE_ATTRIBUTE_READONLY)!=0) plstrcat(fileinfo,"r"); else plstrcat(fileinfo,"-");   if((fnd.dwFileAttributes&FILE_ATTRIBUTE_ARCHIVE)!=0) plstrcat(fileinfo,"a"); else plstrcat(fileinfo,"-");   if((fnd.dwFileAttributes&FILE_ATTRIBUTE_HIDDEN)!=0) plstrcat(fileinfo,"h"); else plstrcat(fileinfo,"-");   if((fnd.dwFileAttributes&FILE_ATTRIBUTE_SYSTEM)!=0) plstrcat(fileinfo,"s"); else plstrcat(fileinfo,"-");   plstrcat(fileinfo,"…");   if ((fnd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)==0){    char size[11]="\0";    itoa(fnd.nFileSizeLow,size);    plstrcat(fileinfo,size);   }else plstrcat(fileinfo,"Dir");     plstrcat(fileinfo,"…");   pFileTimeToSystemTime(&fnd.ftLastWriteTime,&stime);   char time[17],t[5];   itoa(stime.wDay,t);plstrcpy(time,t);plstrcat(time,".");   itoa(stime.wMonth,t);plstrcat(time,t);plstrcat(time,".");   itoa(stime.wYear,t);plstrcat(time,t);plstrcat(time," ");   itoa(stime.wHour,t);plstrcat(time,t);plstrcat(time,":");   itoa(stime.wMinute,t);plstrcat(time,t);   plstrcat(fileinfo,time);   NETWORK_SendMsg(Conn->r,fileinfo);  }while (pFindNextFile(filefind,&fnd)); NETWORK_SendMsg(Conn->r,"\\\\\\");}DWORD NETWORK_Send(SOCKET r,/*SOCKET r2,*/void*pdata,DWORD datalen/*,bool*secondsock*/){ DWORD result; result=psend(r,(const char*)pdata,datalen,0); return result;}//-------------------------------------------------------------------------------//-------------------------------------------------------------------------------DWORD NETWORK_SendMsg(SOCKET r,char*msg){ typedef struct{  DWORD len;  char msg[1]; }CMsg; DWORD len; CMsg *cMsg; DWORD result; len=plstrlen(msg)+1; cMsg=(CMsg*)pVirtualAlloc(NULL,len+4,MEM_COMMIT,PAGE_READWRITE); cMsg->len=len; plstrcpy(cMsg->msg,msg); result=NETWORK_Send(r,cMsg,len+4); pVirtualFree(cMsg,len+4,MEM_DECOMMIT); return result;}//-------------------------------------------------------------------------------highlightSyntax('delphiZWQ1ZG','delphi');Клиент:Код procedure TForm1.file_Dir;label tochka;var   Item:TListItem;   fcnt,dcnt:DWORD;   fileinfo:String;   i,j:Integer;   name,attr,size,time:String;   l:DWORD;begin   Label16.Caption:='';   dontaddtolog:=true;   Label4.Caption:='Dir: sending command...';   Panel2.Visible:=true;   Update;   SendString('/file_dir',Form1.TcpClient1);   Label4.Caption:='Dir: deleting old list...';   Update;   ListView1.Items.Clear;   ListView1.SortType:=stNone;   Label4.Caption:='Dir: sownloading information...';   Update;   fcnt:=0;   dcnt:=0;   repeat      fileinfo:=RecvString(TcpClient1);      if fileinfo[1]='\' then goto tochka;      name:='';      i:=1;      while fileinfo[i]<>'…' do      begin         name:=name+fileinfo[i];         i:=i+1;      end;      if name[1]='.' then goto tochka;      i:=i+1;      attr:='     ';      j:=1;      while fileinfo[i]<>'…' do      begin         attr[j]:=fileinfo[i];         i:=i+1;         j:=j+1;      end;      i:=i+1;      size:='          ';      j:=1;      while fileinfo[i]<>'…' do      begin         size[j]:=fileinfo[i];         i:=i+1;         j:=j+1;      end;      if size='Dir       ' then size:='Dir';      i:=i+1;      time:='                ';      j:=1;      l:=Length(fileinfo);      while i<>l do      begin         time[j]:=fileinfo[i];         i:=i+1;         j:=j+1;      end;      Item:=ListView1.Items.Add;      Item.Caption:=name;      Item.SubItems.Add(attr);      Item.SubItems.Add(size);      Item.SubItems.Add(time);      if attr[1]='d' then      begin         Item.ImageIndex:=1;         dcnt:=dcnt+1;      end else         fcnt:=fcnt+1;      Label16.Caption:=IntToStr(dcnt+fcnt)+' files';      Update;      tochka:   until fileinfo[1]='\';   Label16.Caption:='';   Label4.Caption:='Dir: sorting files...';   Update;   ListView1.SortType:=stBoth;   Label3.Caption:=IntToStr(fcnt);   Label6.Caption:=IntToStr(dcnt);   Panel2.Visible:=false;   dontaddtolog:=false;end;procedure TForm1.AddToLog(st:String);begin   Memo1.Lines.Add(st);end;procedure TForm1.Send(var a;size:DWORD;Client:TTcpClient);var   b:Array[0..1] of Byte Absolute a;begin   Client.SendBuf(a,size);end;procedure TForm1.Recv(var a;size:DWORD;Client:TTcpClient);var   b:Array[0..1] of Byte Absolute a;begin   Client.ReceiveBuf(a,size);end;procedure TForm1.SendString(st:String;Client:TTcpClient);type TStrSrtuct=record   l:DWORD;   a:Array[0..MaxInt-5] of Char;end;var   i:DWORD;   stst:^TStrSrtuct;begin   GetMem(stst,Length(st)+5);   ZeroMemory(stst,Length(st)+5);   if Length(st)>0 then   begin      for i:=1 to Length(st) do         stst^.a[i-1]:=st[i];      stst^.l:=i;      Send(stst^,i+4,Client);   end else      Send(stst^,4,Client);   FreeMem(stst,4+Length(st));end;function TForm1.RecvString(Client:TTcpClient):String;type TArr=Array[0..MaxInt-5] of Char;var   i,l:Integer;   Arr:^Tarr;   st:String;begin   st:='';   Recv(l,4,Client);   if (l=-1) or (l=0) then      Exit;   GetMem(Arr,l);   Recv(Arr^,l,Client);   for i:=0 to l-1 do      st:=st+Arr^[i];   if (Client=TcpClient1) and (not dontaddtolog) then AddToLog(st);   Result:=st;   FreeMem(Arr,l);end;highlightSyntax('delphiU2MDhkM','delphi');Извини, что так сильно порезал, но, я думаю, идея ясна

- Если не понятно будет, я может напишу нормальный пример

- Разберем!

- Всетаки черкни пример!!!

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | opengl программирование | программирование бейсик | программирование интерфейса | программирование pocket | программирование заказы | задача динамического программирования | prolog программирование | стохастическое программирование | процедурное программирование | история языков программирования | структура программирования | языки программирования высокого уровня | программирование устройств | функции программирования | программирование siemens | списки программирование | язык программирования java | олимпиада программирование | программирование мобильных телефонов | дипломная работа программирование | программирование palm | Ссылки

Все про процедурное программирование