Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Извлечь адреса сетевых карт

Советы » Сеть » Извлечь адреса сетевых карт

{for NT4 and Windows 2000, and you must have Admin privileges}
 {fьr NT4 und Windows 2000, und Adminrechte erforderlich}

 uses

Registry; const

nString = 'SOFTWAREMICROSOFTWINDOWS NTCURRENTVERSIONNetworkCards'; nEthernet = 'Ethernet'; nEtherjet = 'Etherjet'; {if Hardware IBM PL300 with Chip 10/100} nTcpIp1 = 'SYSTEMCurrentControlSetServices'; nTcpIp2 = 'ParametersTcpip'; var

reg: TRegistry; buffer1, buffer2, buffer3: array

[1..32] of

Char; i: Integer; ipaddress, subnetmask, DefaultGateway: string

; Adapter, Adapter_Key: string

; stringlist: TStrings; function

search_adapter_key: string

; var

astring, description, st: string

; nPos: integer; ServiceName: string

; begin

reg := TRegistry.Create; stringlist := TStringList.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey(nString, False); reg.GetKeyNames(stringlist); {search all subkeys such alle unterschlьssel} reg.CloseKey; for

i := 0 to

(stringlist.Count - 1) do

begin

st := stringlist[i]; aString := nString + '' + st; reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey(aString, False); description := reg.ReadString('Description'); nPos:= AnsiPos(nEthernet, description); {search description for string Ethernet Beschreibung nach dem string Ethernet absuchen} if

nPos > 0 then

begin

ServiceName := reg.ReadString('ServiceName'); Adapter_Key := nTcpIp1 + ServiceName + nTcpIp2; end

; nPos := AnsiPos(nEtherjet, description); {search description for string 'Etherjet if IBM PL300 with MotherboardChip} if

nPos > 0 then

begin

ServiceName := reg.ReadString('ServiceName'); Adapter_Key := nTcpIp1 + ServiceName + nTcpIp2; end

; reg.CloseKey; end

; Result := Adapter_Key; end

; procedure

search_for_adapter_NT; var

BufSize: Integer; {Bufsize requested but not used Bufsize erforderlich aber nicht benutzt} begin

adapter := search_adapter_key; if

adapter <> '' then

begin

Reg := TRegistry.Create; try

Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(adapter, False); Reg.ReadBinaryData('IpAddress', buffer1, BufSize); finally

Reg.CloseKey; Reg.Free; end

; Reg := TRegistry.Create; try

Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(adapter, False); Reg.ReadBinaryData('SubnetMask', buffer2, BufSize); finally

Reg.CloseKey; Reg.Free; end

; Reg := TRegistry.Create; try

Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey(adapter, False); Reg.ReadBinaryData('DefaultGateway', buffer3, BufSize); finally

Reg.CloseKey; Reg.Free; end

; end

; end

; procedure

TForm1.Button1Click(Sender: TObject); begin

Memo1.Clear; search_for_adapter_NT; Memo1.Lines.Add(buffer1); Memo1.Lines.Add(buffer2); Memo1.Lines.Add(buffer3); end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com