Чат по сети

Автор работы: Пользователь скрыл имя, 20 Декабря 2009 в 10:42, Не определен

Описание работы

Задание
Листинг основной программы
Листинг программы “Мой комп”
Листинг программы “О памяти”
Листинг программы “Информация о ОС”
Листинг программы “Сохранить в файл”
Листинг программы “отправить по сети”
Результат работы программы
Вывод
Список используемой литературы

Файлы: 32 файла

Project1.cfg

— 386 байт (Скачать файл)

Project1.dof

— 1.33 Кб (Скачать файл)

Project1.dpr

— 539 байт (Скачать файл)

Project1.exe

— 452.00 Кб (Скачать файл)

Project1.res

— 876 байт (Скачать файл)

Project2.res

— 876 байт (Скачать файл)

Unit1.dcu

— 6.34 Кб (Скачать файл)

Unit1.ddp

— 51 байт (Скачать файл)

Unit1.dfm

— 7.29 Кб (Скачать файл)

Unit1.pas

— 2.26 Кб (Скачать файл)

Unit1.~ddp

— 51 байт (Скачать файл)

Unit1.~dfm

— 7.29 Кб (Скачать файл)

Unit1.~pas

— 2.26 Кб (Скачать файл)

Unit2.dcu

— 3.64 Кб (Скачать файл)

Unit2.ddp

— 51 байт (Скачать файл)

Unit2.dfm

— 1.69 Кб (Скачать файл)

Unit2.pas

— 609 байт (Скачать файл)

Unit3.dcu

— 5.12 Кб (Скачать файл)

Unit3.ddp

— 51 байт (Скачать файл)

Unit3.dfm

— 3.25 Кб (Скачать файл)

Unit3.pas

— 1.89 Кб (Скачать файл)

Unit4.dcu

— 3.12 Кб (Скачать файл)

Unit4.dfm

— 92 байт (Скачать файл)

Unit4.pas

— 318 байт (Скачать файл)

Unit5.dcu

— 3.07 Кб (Скачать файл)

Unit5.dfm

— 328 байт (Скачать файл)

Unit5.pas

— 311 байт (Скачать файл)

Unit6.dcu

— 2.78 Кб (Скачать файл)

Unit6.dfm

— 99 байт (Скачать файл)

Unit6.pas

— 276 байт (Скачать файл)

~$отчет.doc

— 162 байт (Скачать файл)

отчет.doc

— 300.00 Кб (Скачать файл)

             Содержание

Задание           2 

Листинг основной программы       3 

Листинг программы “Мой комп”      8 

Листинг программы “О памяти”                                                         10 

Листинг программы “Информация о ОС”                                         12 

Листинг программы “Сохранить в файл”     15 

Листинг программы  “отправить по сети”     17 

Результат работы программы       20 

Вывод           21 

Список используемой литературы      22 
 
 
 
 

               Задание

     Написать  программу, реализующую вывод сведений о компьютере, обмен информацией между пользователями по локальной сети и сохранением ее в файл. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

           Листинг основной программы

unit Unit1; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, IdUDPServer, IdBaseComponent, IdComponent, IdUDPBase,

  IdUDPClient, StdCtrls, Menus,IdSocketHandle, ImgList, ColorGrd; 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Memo1: TMemo;

    Label1: TLabel;

    Button6: TButton;

    Button7: TButton;

    Memo2: TMemo;

    IdUDPServer1: TIdUDPServer;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure IdUDPServer1UDPRead(Sender: TObject; AData: TStream;

      ABinding: TIdSocketHandle);

    procedure Button7Click(Sender: TObject);

    procedure Memo2Change(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1; 

implementation 

uses Unit2, Unit3, Unit4,unit5,unit6; 

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Close;

end; 

procedure TForm1.Button2Click(Sender: TObject);

var

  ms: TMemoryStatus;

begin

  Form2.ShowModal; 

end; 

procedure TForm1.Button3Click(Sender: TObject);

begin

  Form3.ShowModal;

end; 

procedure TForm1.Button4Click(Sender: TObject);

begin

  Form4.ShowModal;

end; 

procedure TForm1.Button5Click(Sender: TObject);

begin

form1.Memo1.Lines.AddStrings(form2.Memo1.Lines);

form1.Memo1.Lines.AddStrings(form3.Memo1.Lines);

form1.Memo1.Lines.AddStrings(form4.Memo1.Lines);

form1.Memo1.Lines.SaveToFile('memo.txt');

form1.Label1.Caption:='данные  сохранены в файл memo.txt';

end; 

procedure TForm1.Button6Click(Sender: TObject);

begin

form5.ShowModal;

label1.Caption:='                         ';

label1.Caption:='данные отправлены';

end; 

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;

  ABinding: TIdSocketHandle);

var

StringFormatedStream:TStringStream;

s:string;

begin

StringFormatedStream:=TStringStream.Create('');

StringFormatedStream.CopyFrom(AData,AData.Size);

form1.Memo2.Lines.Add(StringFormatedStream.DataString);

ABinding.sendto(ABinding.PeerIP,ABinding.PeerPort,s[1],Length(s));

StringFormatedStream.Free; 

end; 

procedure TForm1.Button7Click(Sender: TObject);

begin

memo2.Lines.SaveToFile('memo1.txt');

label1.Caption:='                         ';

label1.Caption:='данные  приняты'; 

end; 

procedure TForm1.Memo2Change(Sender: TObject);

begin

label2.Caption:='                         ';

label2.Caption:='получены  данные';

end; 

end. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

           Листинг программы “ Мой комп ”

unit Unit2; 

interface 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;

type

TForm2 = class(TForm)

Button1: TButton;

Memo1: TMemo;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end; 

var

Form2: TForm2; 

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);

var

ms: TMemoryStatus;

begin

ms.dwLength := sizeof(ms);

GlobalMemoryStatus(ms);

form2.memo1.Lines.Add('Использовано  памяти: '+IntToStr(ms.dwmemoryload)+'%');

form2.memo1.Lines.Add( 'Всего  '+IntToStr(ms.dwtotalphys)+'байт');

form2.memo1.Lines.Add( 'Свободно '+IntToStr(ms.dwAvailPhys)+'байт');

end; 

procedure TForm2.Button1Click(Sender: TObject);

begin

Close;

end; 

end. 
 
 
 
 
 

    Листинг программы “ О памяти 

    unit Unit2; 

    interface 

    uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      Dialogs, StdCtrls; 

    type

      TForm2 = class(TForm)

        Button1: TButton;

        Memo1: TMemo;

        procedure FormCreate(Sender: TObject);

        procedure Button1Click(Sender: TObject);

      private

        { Private declarations }

      public

        { Public declarations }

      end; 

    var

      Form2: TForm2;

    implementation 

    {$R *.dfm} 

    procedure TForm2.FormCreate(Sender: TObject);

    var

      ms: TMemoryStatus;

    begin

      ms.dwLength := sizeof(ms);

      GlobalMemoryStatus(ms);

      form2.memo1.Lines.Add('Использовано  памяти: '+IntToStr(ms.dwmemoryload)+'%');

      form2.memo1.Lines.Add( 'Всего  '+IntToStr(ms.dwtotalphys)+'байт');

      form2.memo1.Lines.Add( 'Свободно '+IntToStr(ms.dwAvailPhys)+'байт');

    end; 

    procedure TForm2.Button1Click(Sender: TObject);

    begin

      Close;

    end; 

    end. 

    Листинг программы “Информация  о ОС

    unit Unit3;  

    interface 

    uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      Dialogs, StdCtrls; 

    type

      TForm3 = class(TForm)

        Button1: TButton;

        Memo1: TMemo;

        procedure Button1Click(Sender: TObject);

        procedure FormCreate(Sender: TObject);

      private

        { Private declarations }

      public

        { Public declarations }

      end; 

    var

      Form3: TForm3; 

    implementation 

    {$R *.dfm} 

    procedure TForm3.Button1Click(Sender: TObject);

    begin

      Close;

    end; 

    procedure TForm3.FormCreate(Sender: TObject);

    var

      vi: TOSVersionInfo;

      majver: byte;

      minver: byte;

      buildno: word;

      plat: string;

      s: array[0..MAX_PATH] of char;

    begin

      vi.dwOSVersionInfoSize := sizeof(vi);

      GetVersionEx(vi);

      majver := vi.dwMajorVersion;

      minver := vi.dwMinorVersion;

      buildno:= Loword(vi.dwBuildNumber);

      form3.Memo1.Lines.Add( 'Версия ОС: '+IntToStr(majver)+'.'+IntToStr(minver)+

                        'build No '+IntToStr(buildno));

      case vi.dwPlatformId of

        VER_PLATFORM_WIN32s: plat := 'Win32s';

        VER_PLATFORM_WIN32_WINDOWS: plat := 'Win95';

        VER_PLATFORM_WIN32_NT: plat := 'WinNT'

      else plat := 'Неизвестная платформа';

      end;

      form3.Memo1.Lines.Add('Платформа: '+plat);

      GetWindowsDirectory(s,sizeof(s));

      form3.Memo1.Lines.Add('Путь к папке; Windows: '+s);

      GetSystemDirectory(s, sizeof(s));

      form3.Memo1.Lines.Add('Путь к системной папке: '+s);

      GetCurrentDirectory(sizeof(s),s);

      form3.Memo1.Lines.Add('Путь к текущей папке: '+s);

    end; 

    end. 
     
     
     
     
     
     
     

         Листинг программы “Сохранить в файл”

unit Unit4; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, untSysInfo; 

type

  TForm4 = class(TForm)

    Button1: TButton;

    Memo1: TMemo;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form4: TForm4; 

implementation 

{$R *.dfm} 

procedure TForm4.Button1Click(Sender: TObject);

begin

  Close;

end; 

procedure TForm4.FormCreate(Sender: TObject);

var

  si: TSystemInfo;

begin

  GetSystemInfo(si);

  form4.Memo1.Lines.Add('Тип  процессора (level): '+IntToStr(si.wProcessorLevel));

  form4.Memo1.Lines.Add( 'Частота процессора: '+FloatToStr(GetCPUSpeed)+' MHz');

  form4.Memo1.Lines.Add('Имя  компьютера '+GetComputerNetName);

  form4.Memo1.Lines.Add( 'Имя  пользователя: '+GetEnvironmentVariable('USERNAME'));

  form4.Memo1.Lines.Add('MAC адрес  '+GetMACAddress);

end;

Информация о работе Чат по сети