Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2018, 15:54   #1
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию Не проходит компиляция

8) Для события OnCreate формы ServerForm записать следующий про-граммный код:

procedure TServerForm.FormCreate(Sender: TObject);

begin

ServerSocket.Active := True;

Slatusbar1.SimpleText := 'Прослушивание канала...'

end;.

9) Для события OnTimer компонента Timer1 записать следующий про-граммный код:

procedure TServerForm.Timer1Timer(Sender: TObject);

var i: Integer; s: String;

ms: TMemoryStatus;

begin

// Передача информации о систем. времени всем подключенным кли-ентам

with ServerSocket.Socket do for i := 0 to ActiveConnections-l do

Connections[i].SendText('T’ + FormatDateTime(hh-nn-ss', Time));

// Передача информации о статусе виртуальной памяти всем подклю-ченным// клиентам

Global MemoryStatus( ms);

s := Format('%10dK', [(ms.dwAvailPageFile+ms.dwAvailPhys) div 1024]);

with ServerSocket.Socket do for i := 0 to ActiveConnections-1 do

Connections[i].SendText('M' + s);

end;.

10) Для события OnClientConnect компонента ServerSocket записать следующий программный код:

procedure TServerForm.ServerSocketClientConne ct(Sender: Tobject;

Socket: TCustomWinsocket);

begin

ClientsListBox.Items.AddObject(Form at('Установлено соединение с %s',

[Socket.RemoteAddress]),

Socket);

Statusbar1.SimpleText := 'Прослушивание канала...';

end;.

10) Для события OnClientDisconnect (разрыв соединения со стороны клиента) компонента ServerSocket записать следующий программный код:

procedure TserverForm.ServerSocketClientDisco nnect(Sender: TObject;

Socket: TCustomWinsocket);

var i: Integer;

begin

//Если все клиенты отключены, сервер переводится в пассивное со-стояние

if ServerSocket.Socket.ActiveConnectio ns=0 then Server Socket.Active := False;

// Просматривается список ClientsListBox всех соединений и из списка удаляется строка

// соответствующая закрываемому соединению

for i := 0 to ClientsListBox.Count-1 do

if ClientsListBox.Items.Objects[i]-Socket then

begin

ClientsListBox.ltems.Delete(i);

break;

end;

Statusbar1.SimpleText:= 'Прослушивание канала...’;

end;.

11) Для события OnClientError компонента ServerSocket записать сле-дующий программный код:

procedure TServerForm.ServerSocketClientError (Sender: TObject; Sock-et:

TCustomWinsocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);

begin

StatusBar1.SimpleText:=Format('Ошиб ка клиента %s: %s',

[Socket.RemoteAddress, SysErrorMessage(ErrorCode)]);

ErrorCode:=0;

end;.
и в клиентском приложении.
5) Введите дополнительную процедуру установления соединения с сервером (не забудьте описать эту процедуру в структуре type там, где описаны все остальные процедуры):

procedure TClienForm.ConnectToServer;

var sAddr: string;

begin

//Если соединение еще не установлено, то устанавливается соедине-ние

if ClientSocket.Active then ClientSocket.Active:=False;

try

if not InputQuery('Выбор хоста', 'IP-адрес хоста', sAddr) then Abort;

if Length(sAddr)=0 then Abort;

with ClientSocket do

begin

Host := sAddr;

Active:=True;

end;

except

TimeSpeedButton.Down:=False;

MemSpeedButton.Down := False;

end;

end;.

6) Программирование компонента ClientSocket.

Для события OnError запишите следующий программный код:

procedure TClientForm.ClientSocketError(Sende r: TObject;

Socket: TCustomWinsocket; ErrorEvent: TErrorEvent;

var ErrorCode: Integer);

begin

Application.MessageBox(pChar(Format ('Ошибка соединения c%s:

'#13#10'%s', [ClientSocket.Host, SysErrorMessage(ErrorCode)])), pChar(Application.Title), MB_ICONERROR or MB_Ok);

ErrorCode :=0;

MemSpeedButton.Down := False;

TimeSpeedButton.Down := False;

end;.

7) Для события On Read запишите следующий программный код:

procedure TClientForm.ClientSocketRead(Sender . TObject;

Socket: TCustomWinsocket);

var s, s1: string; p: pChar;

begin

s:= Socket.ReceiveText;

iа TimeSpeedButton.Down then

begin

p:=AnsiStrRScan(pChar(s),T);

if p <>nil then

begin

TimeSpeedButton.Caption := Copy(string(p),2, 8);

end; end;

if MemSpeedButton.Down then

begin

p :=AnsiStRScan(pChar(s),'M');

if p<>nil then

begin

MemSpeedButton.Caption :=Copy(string(p), 2, 11);

end; end;

end;.

8) Для события OnClick компонента MemSpeedButton записать следу-ющий программный код:

procedure TClientForm.MemSpeedButtonClick(Sen der: TObject);

begin

//если кнопка нажата и соединение еще не установлено, то

//устанавливается соединение

if MemSpeedButton.Down then

begin if not ClientSocket.Active then ConnectToServer; end

else

begin

// Если не нажата ни одна из кнопок, то соединение разрывается

if not TimeSpeedButton.Down then ClientSocket.Active:=False;

MemSpeedButton.Caption:= 'Информация о вирт. памяти на сервере’;

end;

end;.

9) Для события OnCIick компонента TimeSpeedButton записать сле-дующий программный код:

procedure TCIientForm.TimeSpeedButtonClick( Sender: TObject);

begin

if TimeSpeedButton.Down then

begin if not ClientSocket.Active then ConnectToServer; end

else

begin

if not MemSpeedButton.Down then ClientSocket.Active:= False;

TimeSpeedButton.Caption :='Показания системных часов на сервере';

end;

end;.

10) Для события OnClick кнопки «Разорвать соединение» записать

следующий программный код:

procedure TClientForm.DisconnectClick(Sender: TObject);

begin

TimeSpeedButton.Down := False;

MemSpeedButton.Down := False;

ClientSocket.Close;

end;.
Екатерина1818 вне форума Ответить с цитированием
Старый 06.09.2018, 15:57   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Начните с чтения ошибок... Ну или изучения основ языка, а не только копи-паста.
Код:
Slatusbar1.SimpleText := 'Прослушивание канала...'
end;.
Что это? Почему строки то заканчиваются точкой с запятой, то нет? Почему после энда и точка с запятой, и просто точка?

Код:
FormatDateTime(hh-nn-ss'
Это строка или новый формат с '?
p51x вне форума Ответить с цитированием
Старый 06.09.2018, 16:07   #3
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию

просто я вообще это не понимаю в приложении делфи,всегда делали работы в лазарусе,а тут вроде одна и та же программа,но очень тяжело
Екатерина1818 вне форума Ответить с цитированием
Старый 06.09.2018, 16:08   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Где в моем посте хоть что-то специфическое для Delphi? Или в лазарусе вдруг паскаль поменялся?
p51x вне форума Ответить с цитированием
Старый 06.09.2018, 16:10   #5
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию

нет не поменялся. просто попросила помощи.
Екатерина1818 вне форума Ответить с цитированием
Старый 06.09.2018, 16:11   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну так точки с запятыми где надо поставили? Лишние точки и точки с запятыми убрали? Опечатки исправили?
p51x вне форума Ответить с цитированием
Старый 06.09.2018, 16:14   #7
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию

пробовала и убирать и исправлять,все равно ничего не помогает
Екатерина1818 вне форума Ответить с цитированием
Старый 06.09.2018, 16:20   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Ну так исправляйте дальше или возьмите издание книги, из которой копировали, поновее, где детские опечатки исправлены.
Slatusbar1 что за Слатус?
Global MemoryStatus что это? зачем пробел в имени функции?
Sender . TObject вы не знаете как тип параметра указывается?
Sen der - пар аметр?
TCIientForm - кИиент?
p51x вне форума Ответить с цитированием
Старый 06.09.2018, 16:23   #9
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию

за 1000 решите полностью?
Екатерина1818 вне форума Ответить с цитированием
Старый 06.09.2018, 16:24   #10
Екатерина1818
Пользователь
 
Регистрация: 06.09.2018
Сообщений: 12
По умолчанию

Sender . TObject вы не знаете как тип параметра указывается?
не знаю как указывается
Екатерина1818 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему при указании пути через имя компа сканирование не проходит, а через IP - проходит? Oxidous Операционные системы общие вопросы 2 16.03.2016 11:00
Не проходит if tronuo JavaScript, Ajax 1 13.10.2014 23:44
бэкап проходит средствами sql но не проходит средствами 1с so1idsnake Помощь студентам 4 16.09.2013 08:44
[FASM] Программа для электрической схемы.. Не проходит компиляция.. hen Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 11.11.2011 07:28
Не проходит авторизация KREGI Работа с сетью в Delphi 4 24.08.2009 22:15