Čteni IP s adapteru (Delphi)
Dobry den.
Potřebují v mem programu vypsat IP adresu,masku,branu a DNS připojeneho adapteru.
Pohrála jsem si tady s tímto zdrojakem a obrátila ho.
http://delphi.cjcsoft.net/viewthread.php?tid=43310
Pokud je IP necvakaná ručně tak mi to funguje.
Pokud je adapter nastaven pro získání IP s DHCP tak to IP nenačte.
Mužů mít v mem zdrojaku něco špatně nebo to fakt neumí vyčíst IP získanou s DHCP.
Popřipadě poradite nějaky jiny zpusob jak tu IP ziskat.
Tak jsem přečetla to co psal Snoop a jsem si jista že to určitě nedám.
Teda jsem se rozhodla pro tu 2 variantu
Zavolat IPConfig a vyčíst z něj informace.
To bych mohla zvladnout.
Neproradí někdo jak přidat do delphi komponentu doscommand.
Máme ve škole ve třidách vice verzi Delphi ale nejraději bych to rozchodila na XE2.
Prý v 2 ročníku pojedeme jen na nich , a ja budu o krok dopředu.
Už se těším .
K tomu nepotrebujes zadnou komponentu
Spust si:
Samozrejme ciste je zjistit systemovy adresar pomoci napr. SHGetSpecialFolderLocation(), ale pro skolni priklad by to melo stacit
Tu 31 jsem pochopila s: String a ne AnsiString takže 31 a 35 vyřešen,zbyvji 2 chyby na řadku 32
Jinak bych chtěla i vám poděkovat za pomoc a trapení se mnou.
Jsem vděčna každemu kdo pomuže a poradí.
Nenajde se tu nějaky profik, ktery vysvětli ubohe blondyně, jak přidat tu komponentu do XE2
"Úbohá blondýno"... Netráp sa ťažkými API funkciami alebo zachytávaním výstupu príkazového riadku a pozri sa sem: www.magsys.co.uk
Stačí stiahnuť: magiphlp25.zip rozbaliť a nakopírovať do adresára, kde máš projekt iba 2 unity:
IPHelper.pas, IPHLPAPI.pas.
Vytvor si projekt, na form si pridaj napr. TMemo, TButton, použi funkciu: IpHlpAdaptersInfo(var AdpTot: integer;var AdpRows: TAdaptorRows): integer; z knižnice IPHelper.
príklad:
Testované "narýchlo" v XE2 a funguje...
A tohle mela jako odpoved uz nahore, i vcetne tech knihoven
Jen to nebylo takto takto zabalene stuzkou.
Děkují moc chrabrý zachránče
Vyzkoušeno a funguje.
Stejnak by mně však zajímalo jak přidat tu komponentu do XE2.
Pokud se nenaučím v Delphi přidávat komponenty, tak se moc daleko nedostanu a čekat na toho vola ve škole se mi nechce.
Kdyby jste měl někdy v budoucnu chvilku času a kouk na to.
Budu pravidelně tento topik sledovat.
Ještě jednou moooc dik.
Dobry den.
Pan Jan Fiala tu dal zdrojaček.
Marně se to snažim rozchodit v XE2.
Rad bych to použil ne pro IPConfig ale tracert.
Pujde to nějak.
A kde ti to konkretne hlasi problem?
To same co psala nahoře Marcelka.
[DCC Warning] Unit1.pas(32): W1044 Suspicious typecast of string to PAnsiChar
[DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar'
[DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'Integer'
řadek 32 je
PAnsiChar() nahrad za PWideChar()
Ještě posledni
[DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'Integer'
Zkontroluj si parametry funkce podle napovedy s tim, co tam posilas.
Zkus to takto:
Dobrý den.
Nějak nemohu pohnout s tým co tu dal pan Jan Fiala.
Ve stringu s mi to vrací cestu k souboru .LOG
Pokud jsem to pochopil tak si to uloží do toho souboru LOG výpis s IPConfig a pak načte do s.
Je to to same, když použijí toto?
ShellExecute( handle, 'open', 'cmd.exe', '/q /c ipconfig -all > C:\logs1.txt', nil ,SW_SHOWNORMAL );