|
|
![]() ![]() ![]() |
|
Komponenty firmy NetMasters jsou umφst∞ny na strßnce Internet palety komponent. Tyto komponenty je mo╛no rozd∞lit do nßsledujφcφch skupin:
Deklarace | Popis | Rozsah | Dostupnost |
property BeenCanceled: boolean; | Vlastnost mß hodnotu true, pokud souΦasnß operace mß b²t zru╣ena, a false jestli╛e souΦasnß operace nemß t²t zru╣ena. | Public | Runtime, Readonly |
property BeenTimedOut: boolean; | Vlastnost mß hodnotu true, pokud pro souΦasnou operaci vypr╣el Φas nebo false, jestli╛e Φas nevypr╣el. | Public | Runtime, Readonly |
property BytesRecvd: longint; | Vlastnost obsahuje poΦet slabik p°ijat²ch v souΦasnΘm p°enosu dat. | Public | Runtime, Readonly |
property BytesSent: longint; | Vlastnost obsahuje poΦet slabik odeslan²ch v pr∙b∞hu souΦasnΘ datovΘ transakce. | Public | Runtime, Readonly |
property BytesTotal: longint; | Vlastnost obsahuje celkov² poΦet slabik p°ijat²ch nebo odeslan²ch v souΦasnΘ datovΘ transakci. | Public | Runtime, Readonly |
property Connected: boolean; | Vlastnost mß hodnotu true pokud klient je p°ipojen na vzdßlenΘho hostitele a false pokud p°ipojen nenφ. | Public | Runtime, Readonly |
property Handle: tSocket; | Madlo soketu prßv∞ pou╛φvanΘho pro komunikaci WinSock. Pou╛φvßme p°i p°φmΘm volßnφ API WinSock. | Public | Runtime, Readonly |
property Host: String; | Vlastnost obsahuje jmΘno nebo teΦkovou IP adresu vzdßlenΘho hostitele pro p°ipojenφ. | Published | Runtime, Designtime |
property LastErrorNo: integer; | Vlastnost obsahuje poslednφ oznßmenou chybu soketu. | Public | Runtime |
property LocalIP: string; | Vlastnost obsahuje teΦkovou IP adresu lokßlnφho poΦφtaΦe. Je-li vφce ne╛ jedna IP adresa, pak je vracena pouze prvnφ. | Public | Runtime, Readonly |
property Port: Integer; | Vlastnost specifikuje Φφslo portu na vzdßlenΘm hostiteli, ke kterΘmu se p°ipojujeme nebo v p°φpad∞ serveru, Φφslo portu na kterΘm server naslouchß. | Published | Runtime*, Designtime |
property RemoteIP: string; | Vlastnost obsahuje teΦkovou IP adresu vzdßlenΘho hostitele. Vlastnost nenφ nastavena dokud klient nenφ p°ipojen na vzdßlenΘho hostitele. | Public | Runtime, Readonly |
property ReplyNumber: Smallint; | Vlastnost obsahuje Φφseln² v²sledek transakce (je-li). | Public | Runtime, Readonly |
property ReportLevel: integer; | Vlastnost °φdφ mno╛stvφ detail∙, kterΘ jsou oznamovßny udßlostφ OnStatus a vlastnostφ Status. Mo╛nΘ hodnoty jsou: Status_None = 0, Status_Informational = 1, Status_Basic = 2, Status_Routines = 4, Status_Debug = 8 a Status_Trace = 16. Implicitnφ hodnota je Status_Informational. | Published | DesignTime, RunTime |
property Status: String; | Vlastnost obsahuje poslednφ stavovou zprßvu, kterß byla p°edßna jako parametr stavu v udßlosti OnStatus. | Public | RunTime, ReadOnly |
property TimeOut: Integer; | Vlastnost specifikuje mno╛stvφ Φasu (v milisekundßch) Φekßnφ na odpov∞∩ od soketu p°ed generovßnφm v²jimky a zru╣enφm souΦasnΘ operace. Pokud TimeOut je 0, pak v²jimka nenφ nikdy generovßna a Φas operace nikdy nevypr╣φ. Implicitnφ hodnota: 0. | Published | Designtime, Runtime |
property TransactionReply: String; | Vlastnost obsahuje v²sledek od poslednφho p°φkazu zaslanΘho na server. | Public | Runtime, ReadOnly |
property WSAInfo: TStringList; | Vlastnost obsahuje informace o souΦasnΘ verzi Winsock (Φφslo verze a v²robce). | Public | Runtime, ReadOnly |
* V p°φpad∞ TNMGeneralServer, vlastnost Port musφ b²t nastavena b∞hem nßvrhu.
Nßsleduje struΦn² popis metod komponenty. Je zde uvedena deklarace (v Object Pascalu), popis, popis parametr∙ a vracenß hodnota.
function Accept: Word; virtual;
Metoda akceptuje p°ipojenφ ze vzdßlenΘho poΦφtaΦe, kter²
po╛aduje p°ipojenφ. Soket akceptujφcφ p°ipojenφ je nßvratovß hodnota. V²sledkem
funkce je popis soketu pro p°ipojenφ klienta.
function read(value: word): string;
Metoda Φte specifikovan² poΦet slabik ze souΦasn∞ p°ipojenΘho
soketu a vracφ jej jako °et∞zec. Parametr specifikuje poΦet slabik, kter²
mß b²t p°eΦten ze soketu. Jestli╛e value = 0, pak jsou Φtena v╣echna
data vracenß soketem.
function ReadLn: string;
Metoda Φte data ze soketu dokud nenφ nalezeno od°ßdkovßnφ
a vracφ data jako °et∞zec.
function Transaction(const CommandString: String): String; virtual;
Metoda zasφlß p°φkaz vzdßlenΘmu hostiteli a vracφ odpov∞∩
od hostitele jako °et∞zec. Je takΘ nastavena vlastnost ReplyNumber
na Φφselnou hodnotu odpov∞di (je-li). Parametr specifikuje p°φkaz zasφlan²
na server.
procedure Abort; virtual;
Metoda ru╣φ souΦasnou operaci. Tato metoda je ve sv²ch
potomcφch p°episovßna, proto╛e ka╛dß operace mß jinΘ po╛adavky na operaci
zru╣enφ.
procedure Cancel;
Metoda ru╣φ souΦasnou vstupnφ nebo v²stupnφ operaci a
odpojuje se od vzdßlenΘho hostitele. Kdy╛ je volßna metoda Cancel,
pak je generovßna v²jimka.
procedure CaptureFile(FileName: String);
Metoda zabere v╣echna data ze soketu a ulo╛φ je v souboru
specifikovanΘm parametrem. Data budou odebφrßna ze soketu, dokud soket
nenφ uzav°en. Parametr musφ b²t p°φpustnß specifikace souboru (m∙╛e b²t
uvedena i adresß°ovß cesta).
procedure CaptureStream(MainStream: TStream; Size: longint);
Metoda zabφrß data ze soketu dokud nenφ zφskßn specifikovan²
poΦet slabik. Parametr MainStream specifikuje proud pou╛it² pro
ulo╛enφ dat a parametr Size urΦuje poΦet Φten²ch slabik do proudu.
Pokud
Size je -1, pak data jsou Φtena do proudu dokud soket nenφ
uzav°en.
procedure CaptureString(var AString: String;
Size: longint);
Metoda p°ebφrß data specifikovanΘ velikosti ze soketu
a uklßdß je do °et∞zce. Prvnφm parametrem je °et∞zcovß prom∞nnß do kterΘ
jsou uklßdßna data, druh² parametr specifikuje poΦet Φten²ch slabik ze
soketu do °et∞zce. Pokud Size je -1, pak data jsou Φtena do proudu
dokud soket nenφ uzav°en.
procedure CertifyConnect;
Metoda testuje zda vidφ p°ipojenφ klienta ke vzdßlenΘmu
hostiteli. Pokud p°ipojenφ neexistuje je generovßna udßlost OnConnectionRequired.
Tato udßlost je v TPowersock chrßn∞nß, ale v jeho potomcφch je zve°ejn∞na.
procedure Connect; virtual;
Metoda p°ipojuje klienta ke vzdßlenΘmu hostiteli. P°ed
volßnφm metody musφ b²t nastaveny vlastnosti Host a Port.
V komponentßch specifick²ch protokol∙, potomcφch TPowersock vlastnost
Port
je ji╛ nastavena na standardnφ port protokolu. Pokud jmΘno hostitele je
chybnΘ, pak je generovßna v²jimka, jestli╛e prom∞nnß
Handled v udßlosti
OnInvalidHost
nenφ nastavena na true, nebo pokud udßlost
OnInvalidHost
nenastavuje chybnΘ jmΘno hostitele na p°φpustnΘ jmΘno hostitele. Pokud
p°ipojenφ je ne·sp∞╣nΘ, pak vznikß udßlost OnConnectionFailed a
je generovßna v²jimka.
procedure Disconnect; virtual;
Metoda odpojuje klienta od vzdßlenΘho hostitele. P°i
·sp∞╣nΘm odpojenφ vznikß udßlost OnDisconnect.
procedure FilterHeader(HeaderStream: TFileStream);
Metoda filtruje v²stup hlaviΦky MIME z dat zφskan²ch
p°ipojen²m soketem a uklßdan²ch do HeaderStream. Parametr specifikuje
souborov² proud k ulo╛enφ hlaviΦky MIME.
procedure Listen(sync: boolean);
Metoda naslouchß TCP p°ipojenφ na portu specifikovanΘm
vlastnostφ Port. Pokud parametr je false, pak p°i navßzßnφ
p°ipojenφ vznikß udßlost
OnAccept, ve kterΘ p°ipojenφ m∙╛e b²t akceptovßno
metodou Accept nebo m∙╛e b²t ignorovßno. Jestli╛e parametr je true,
pak volßnφ
Accept musφ b²t provedeno p°φmo po volßnφ Listen
k akceptaci p°ipojenφ.
procedure RequestCloseSocket;
Metoda uzavφrß souΦasnΘ aktivnφ soket, ale neuvol≥uje
jej.
procedure SendBuffer(value: PChar; buflen: word);
Metoda zasφlß data z vyrovnßvacφ pam∞ti na vzdßlenΘho
hostitele. Prvnφ parametr specifikuje vyrovnßvacφ pam∞╗ s odesφlan²mi daty
a druh² parametr urΦuje poΦet slabik, kterΘ budou odeslßny z vyrovnßvacφ
pam∞ti.
procedure SendFile(FileName: String);
Metoda odesφlß obsah souboru na vzdßlenΘho hostitele.
Parametr specifikuje jmΘno odesφlanΘho souboru (m∙╛e obsahovat i adresß°ovou
cestu).
procedure SendStream(MainStream: TStream);
Metoda odesφlß obsah proudu na vzdßlenΘho hostitele.
Parametr specifikuje proud obsahujφcφ odesφlanß data.
procedure write(value: String);
Metoda odesφlß °et∞zec na vzdßlenΘho hostitele. Odesφlan²
°et∞zec je urΦen parametrem. Na konec p°enß╣enΘho °et∞zce nenφ p°ipojeno
od°ßdkovßnφ.
procedure writeln(value: string);
Metoda odesφlß °et∞zec na vzdßlenΘho hostitele. Odesφlan²
°et∞zec je urΦen parametrem. Na konec °et∞zce je p°ipojeno od°ßdkovßnφ.
Komponenta TPowersock mß tyto udßlosti:
property OnConnect: TNotifyEvent;
Udßlost vznikß, kdy╛ je z°φzeno p°ipojenφ na vzdßlenΘho
hostitele. Odpovφdß zprßv∞ FD_CONNECT WinSock.
property OnHostResolved: TOnHostResolved;
Udßlost vznikß, kdy╛ adresa vzdßlenΘho hostitele je p°evedena
na teΦkovou IP adresu. Pokud specifikovanΘ jmΘno hostitele nebo IP adresa
je chybnß, pak nenφ generovßna udßlost OnHostResolved, ale udßlost
OnInvalidHost.
property OnStatus: TOnStatus;
Udßlost vznikß, kdy╛ se zm∞nφ stav komponenty.
property OnConnectionFailed: TNotifyEvent;
Udßlost vznikß, kdy╛ nelze z°φdit p°ipojenφ na vzdßlenΘho
hostitele.
property OnDisconnect: TNotifyEvent;
Udßlost vznikß p°i odpojenφ klienta od serveru. Odpovφdß
zprßv∞ FD_CLOSE WinSock.
property OnInvalidHost: THandlerEvent;
Udßlost vznikß, kdy╛ hostitel specifikovan² vlastnostφ
Host
je nep°φpustn². Pokud parametr Handled je nastaven na
true
pak je zopakovßn pokus o p°ipojenφ. Kdy╛ Handled je
false,
pak je generovßna v²jimka.
property OnPacketRecvd: TNotifyEvent;
Udßlost nastßvß, kdy╛ data jsou p°ijmuta ze vzdßlenΘho
hostitele. Pou╛φvßme spoleΦn∞ s vlastnostmi BytesRecvd a BytesTotal
k monitorovßnφ pr∙b∞hu zpracovßnφ dat.
property OnPacketSent: TNotifyEvent;
Udßlost nastßvß, kdy╛ data jsou odeslßna na vzdßlenΘho
hostitele. Pou╛φvßme spoleΦn∞ s vlastnostmi BytesSent a BytesTotal
k monitorovßnφ pr∙b∞hu zpracovßnφ dat.
Komponenta TPowersock nenφ urΦena pro p°φmΘ pou╛itφ v na╣ich aplikacφch (i kdy╛ m∙╛e b²t pou╛ita). Nßsleduje n∞kolik p°φklad∙ objas≥ujφcφch v²znam a pou╛itφ jednotliv²ch metod, vlastnostφ a udßlostφ tΘto komponenty (n∞kdy je k demonstraci pou╛it n∞kter² potomek TPowersock).
P°φklad 1
K vytvo°enφ tohoto p°φkladu zaΦneme novou aplikaci a
na formulß° vlo╛φme komponenty TButton, TMemo a TPowersock.
Do obsluhy udßlosti OnClick tlaΦφtka vlo╛φme nßsledujφcφ k≤d:
void __fastcall TForm1::Button1Click(TObject
*Sender)
{
Powersock1->Host = "www.netmastersllc.com";
Powersock1->Port = 13;
Powersock1->Connect();
}
Do obsluhy udßlosti OnConnect ovladaΦe TPowersock
vlo╛φme k≤d:
void __fastcall TForm1::Powersock1Connect(TObject
*Sender)
{
Memo1->Liens->Add("Connected");
Memo1->Lines->Add("Local Address:
"+Powersock1->LocalIP);
Memo1->Lines->Add("Remote Address:
"+Powersock1->RemoteIP);
}
Obsluha udßlosti OnHostResolved ovladaΦe TPowersock
vypadß takto:
void __fastcall TForm1::Powersock1HostResolved(TComponent
*Sender)
{
Memo1->Lines->Add("Host Resolved");
}
Vytvo°φme je╣t∞ obsluhu OnStatus ovladaΦe TPowersock
s k≤dem:
void __fastcall TForm1::Powersock1Status(TComponent
*Sender,
AnsiString Status)
{
Memo1->Lines->Add(Powersock1->Status);
Memo1->Lines->Add("Last WinSock error:
"+IntToStr(Powersock1->LastErrorNo));
if (Powersock1->BeenCanceled)
Memo1->Lines->Add("Input/ouput
operation canceled");
if (Powersock1->BeenTimedOut)
Memo1->Lines->Add("Operation
timed out");
}
Spustφme aplikaci a stiskneme tlaΦφtko. Po stisku tlaΦφtka
je z°φzeno p°ipojenφ na www.netmastersllc.com na port 13. Po p°evedenφ
www.netmastersllc.com
na p°φpustnou IP adresu, pak obsluha OnHostResolved p°idß do komponenty
Memo
°ßdek Host Resolved. Kdy╛ je z°φzeno p°ipojenφ pak OnConnect
aktualizuje Memo k informovßnφ u╛ivatele, ╛e p°ipojenφ bylo z°φzeno.
Jsou takΘ vypsßny teΦkovΘ IP adresy lokßlnφho poΦφtaΦe (vlastnost LocalIP)
a vzdßlenΘho poΦφtaΦe (vlastnost RemoteIP). Jak jsou dostupnΘ stavovΘ
zprßvy, pak do Memo jsou p°idßny dal╣φ °ßdky, stejn∞ jako poslednφ
zji╣t∞nß chyba Winsock. Pokud souΦasnß operace mß b²t zru╣ena, pak vlastnost
BeenCanceled
je true a pokud pro souΦasnou operaci vypr╣el Φas, pak vlastnost
BeenTimedOut
mß hodnotu true.
P°φklad 2
Pro vytvo°enφ dal╣φho p°φkladu zaΦneme novou aplikacφ.
Na formulß° vlo╛φme komponenty TStatusBar, TButton a TNMHTTP
a nastavφme vlastnost SimplePanel komponenty stavovΘho °ßdku na
true.
Vytvo°φme obsluhu udßlosti OnPacketRecvd komponenty
TNMHTTP
s nßsledujφcφm p°φkazem:
void __fastcall TForm1::NMHTTP1PacketRecvd(TObject
*Sender)
{
StatusBar1->SimpleText = IntToStr(NMHTTP1->BytesRecvd)+
" bytes
out of "+IntToStr(NMHTTP1->BytesTotal)+" transferred";
}
Obsluha stisku tlaΦφtka bude:
void __fastcall TForm1::Button1Click(TObject
*Sender)
{
NMHTTP1->Get("http://www.netmastersllc.com");
}
Spustφme aplikaci a stiskneme tlaΦφtko. Stavov² °ßdek
je aktualizovßn podle p°ijatΘho dokumentu. Udßlost OnPacketRecvd
aktualizuje stavov² °ßdek, kdy╛ data p°ijdou, zobrazenφm celkovΘho poΦtu
p°enß╣en²ch slabik a poΦtu slabik p°ijat²ch klientem.
P°φklad 3
Op∞t zaΦneme novou aplikacφ. Na formulß° umφstφme komponenty
TStatusBar,
TButton,
3x TEdit a TNMSMTP a nastavφme vlastnost
SimplePanel
stavovΘho °ßdku na true.
Vytvo°φme obsluhu udßlosti OnPacketSent komponenty
TNMSMTP
s tφmto obsahem:
void __fastcall TForm1::NMSMTP1PacketSent(TObject
*Sender)
{
StatusBar1->SimpleText = IntToStr(NMSMTP1->BytesSent)+
" bytes out of "+IntToStr(NMSMTP1->BytesTotal)+" transferred";
}
Obsluha OnConnect komponenty TNMSMTP bude
vypadat takto:
void __fastcall TForm1::NMSMTP1Connect(TObject
*Sender)
{
NMSMTP1->SendMail();
}
Pokuste se sami vytvo°it obsluhu udßlosti OnSuccess
komponenty
TNMSMTP informujφcφ na stavovΘm °ßdku o ·sp∞╣nosti operace.
Dßle vytvo°φme obsluhu stisku tlaΦφtka s tφmto obsahem:
void __fastcall TForm1::Button1Click(TObject
*Sender)
{
int I;
NMSMTP1->Host = Edit1->Text;
NMSMTP1->UserID = Edit2->Text;
NMSMTP1->PostMessage->FromAddress
= Edit3->Text;
NMSMTP1->PostMessage->ToAddress->Text
= Edit3->Text;
NMSMTP1->PostMessage->Subject = "Testing
BytesSent";
for (I = 1; I <= 10; I++)
NMSMTP1->PostMessage->Body->Add("Test
line "+IntToStr(I));
NMSMTP1->Connect();
}
Spustφme aplikaci. Do Edit1 zapφ╣eme jmΘno nebo
IP adresu na╣eho SMTP serveru. Do Edit2 zapφ╣eme ID u╛ivatele pro
SMTP server. Do
Edit3 zapφ╣eme na╣i e-mail adresu. Kdy╛ stiskneme
tlaΦφtko, pak si sami sob∞ za╣leme mail a kdy╛ paket je odeslßn (v tomto
p°φpad∞ je pouze jeden), pak stavov² °ßdek zobrazuje poΦet odeslan²ch slabik.
P°φklad 4
ZaΦneme op∞t novou aplikaci. Na formulß° umφstφme 2x
TButton,
TNMSMTP,
3x TEdit a TMemo. Obsluha stisku prvnφho tlaΦφtka bude tvo°ena:
void __fastcall TForm1::Button1Click(TObject
*Sender)
{
NMSMTP1->Host = Edit1->Text;
NMSMTP1->UserID = Edit2->Text;
NMSMTP1->PostMessage->ToAddress->Text
= Edit3->Text;
NMSMTP1->PostMessage->FromAddress
= Edit3->Text;
NMSMTP1->PostMessage->Subject = "Test
message";
NMSMTP1->PostMessage->Body->Add("This
is a test message");
NMSMTP1->PostMessage->Body->Add
("If this message is delivered,
the Cancel button (Button2) wasn't pressed fast enough");
NMSMTP1->Connect();
}
Obsluha OnConnect komponenty TNMSMTP je
tvo°ena:
void __fastcall TForm1::NMSMTP1Connect(TObject
*Sender)
{
Memo1->Lines->Add("Connected, sending
message");
NMSMTP1->SendMail();
}
a obsluhu OnSuccess stejnΘ komponenty tvo°φ:
void __fastcall TForm1::NMSMTP1Success(TObject
*Sender)
{
Memo1->Lines->Add("Success, you didn't
press Button2 fast enough");
if (NMSMTP1->Connected)
NMSMTP1->Disconnect();
}
Obsluhu stisku druhΘho tlaΦφtka tvo°φ k≤d:
void __fastcall TForm1::Button2Click(TObject
*Sender)
{
Powersock1->Cancel();
}
Zb²vß je╣t∞ vytvo°it obsluhu udßlosti OnDisconnect
komponenty
TNMSMTP:
void __fastcall TForm1::NMSMTP1Disconnect(TObject
*Sender)
{
Memo1->Lines->Add("Disconnected");
}
Spustφme aplikaci. Do Edit3 zapφ╣eme na╣i e-mail
adresu. Zapφ╣eme jmΘno hostitele nebo IP adresu na╣eho SMTP serveru do
Edit1.
Pokud p°i p°ihla╣ovßnφ k na╣emu SMTP serveru je po╛adovßno ID u╛ivatele,
pak je zadßme do Edit2 (nebo jej ponechßme prßzdn²).
Nynφ stiskneme prvnφ tlaΦφtko. Kdy╛ v Memo se
objevφ Connected, sending message, pak stiskneme druhΘ tlaΦφtko.
Po jeho stisku je generovßna v²jimka a je volßna obsluha OnDisconnect,
kterß oznamuje u╛ivateli odpojenφ.
Pokud druhΘ tlaΦφtko nestiskneme p°ed ·sp∞╣n²m odeslßnφm
zprßvy, pak obsluha OnSuccess p°idß do Memo oznßmenφ, ╛e
u╛ivatel tlaΦφtko nestisknul a je volßna metoda Disconnect k odpojenφ
od vzdßlenΘho hostitele, pokud klient je stßle p°ipojen (je oznßmeno vlastnostφ
Connected).
P°φklad 5
D°φve ne╛ m∙╛eme pou╛φt udßlost OnRead, musφme:
Metoda Serve je virtußlnφ metoda, kterß ve t°φdßch
potomk∙ b²vß p°edefinovßna. Metoda Serve je metoda, kterß je volßna
v╛dy, kdy╛ se klient p°ipojφ na server. Metoda Serve je provßd∞na
v jinΘm vlßkn∞ a tak objekty a metody VCL nemohou b²t pou╛ity v tΘto metod∞.
Poznßmka: Metoda Serve ned∞lß nic, kdy╛
je volßna p°φmo ze t°φdy TNMGeneralServer. Musφ b²t pou╛φvßna (p°epsanß)
ve t°φdßch odvozen²ch od TNMGeneralServer.
Kdy╛ pou╛ijeme metodu Serve v odvozenΘ t°φd∞,
pak musφme volat zd∞d∞nou metodu Serve. Kdy╛ metoda Serve
skonΦφ, pak klient je odpojen od serveru.
Udßlost
property OnClientContact: TNotifyEvent;
nastßvß v╛dy, kdy╛ klient se p°ipojuje na server.
property DayTimeStr: string; | Vlastnost obsahuje datum a Φas zφskanΘ od vzdßlenΘho hostitele. Formßt datumu a Φasu zßvisφ na dotazovanΘm serveru. | Public | RunTime, ReadOnly |
Pozor: Volßnφ zd∞d∞nΘ metody Connect
zp∙sobφ chybu.
property ElapsedTime: single; | Vlastnost urΦuje Φas pot°ebn² k vrßcenφ zaslanΘho textu zp∞t klientovi. | Public | RunTime, ReadOnly |
Poznßmka: Toto vlastnost nenφ nastavena dokud metoda Echo nenφ volßna, a obsahuje v²sledek z poslednφho volßnφ.
function Echo(EchoString: string): string;
Metoda zasφlß text p°edan² v parametru na vzdßlen² server.
Tento text je vracen zp∞t a tvo°φ nßvratovou hodnotu metody (k p∙vodnφmu
textu je p°ipojeno od°ßdkovßnφ).
Poznßmka: P°ed volßnφm tΘto metody musφme b²t
p°ipojeni na vzdßlenΘho hostitele. Pokud nejsme p°ipojeni vznikß udßlost
OnConnectionRequired.
property FingerStr: string; | Vlastnost obsahuje informaci (je-li) o specifikovanΘm u╛ivateli. | Public | RunTime, ReadOnly |
property User: string; | Vlastnost specifikuje u╛ivatele k zφskßnφ informacφ o n∞m. | Published | DesignTime, RunTime |
Poznßmka: Pokud server nenalezne informaci o
u╛ivateli, pak vlastnost FingerStr obsahuje User Not Found.
Varovßnφ: Vlastnost Host musφ b²t nastavena
na p°φpustn² server Finger a vlastnost User musφ b²t nastavena
p°ed p°φstupem ve vlastnosti FingerStr.
procedure Clear;
Metoda vyprazd≥uje vlastnosti objektu seznamu. Po jejφm
volßnφ, ka╛d² objekt TStringList je prßzdn².
procedure ParseLine(Line: string); virtual;
Metoda rozklßdß °ßdek seznamu a odd∞luje jmΘna, velikosti,
datum modifikace a atributy souboru do jejich samostatn²ch vlastnostφ v
objektu.
property CurrentDir: string; | Vlastnost obsahuje jmΘno souΦasnΘho adresß°e na vzdßlenΘm systΘmu. Po volßnφ ChangeDir se m∙╛e zm∞nit. | Public | RunTime, ReadOnly |
property FTPDirectoryList: TFTPDirectoryList; | Vlastnost je pou╛φvßna pouze pokud vlastnost ParseList je nastavena na true. FTPDirecxtoryList obsahuje seznam zφskan² z metody List, kde jednotlivΘ prvky jsou rozd∞leny do vlastnostφ. | ||
property ParseList: boolean; | Vlastnost urΦuje zda rozklßdat adresß°ov² seznam do vlastnosti FTPDirectoryList nebo ne. P°i nastavenφ na false, adresß°ov² seznam rozklßdßn nenφ a musφ b²t zpracovßvßn udßlostφ OnListItem. | Published | Runtime, Designtime |
property Password: string; | Vlastnost specifikuje heslo pou╛itΘ p°i p°ihla╣ovßnφ na vzdßlenΘho hostitele FTP. Pokud specifikovanΘ heslo je chybnΘ, pak je generovßna udßlost OnAuthenticationFailed. Kdy╛ heslo nenφ zadßno vznikß udßlost OnAuthenticationNeeded. | Published | Runtime, Designtime |
property UserID: string; | Vlastnost specifikuje ID u╛ivatele pou╛itΘ p°i p°ihla╣ovßnφ na vzdßlenΘho hostitele FTP. | Published | Runtime, designtime |
property Vendor: integer; | Vlastnost specifikuje typ hostitele FTP, ke kterΘmu se p°ipojujeme. To umo╛≥uje rozlo╛it adresß°ov² seznam hostitele sprßvn²m zp∙sobem. Implicitnφ hodnota: NMOS_AUTO. Mo╛nΘ hodnoty jsou: NMOS_UNIX, NMOS_WINDOWS, NMOS_VM, NMOS_BULL, NMOS_MAC, NMOS_TOPS20, NMOS_VMS, NMOS_OS2, NMOS_MVS_IBM, NMOS_MVS_INTERLINK, NMOS_OTHER, NMOS_AUTO, NMOS_NT, NMOS_TANDEM, NMOS_AS400, NMOS_OS9 a NMOS_NETWARE. |
Komponenta mß nßsledujφcφ metody:
procedure Allocate(FileSize: Integer);
Metoda se pou╛φvß pro alokovßnφ mφsta na vzdßlenΘm hostiteli
pro uklßdan² soubor. Parametr specifikuje poΦet alokovan²ch slabik pro
p°ichßzejφcφ soubor. Tato metoda nenφ po╛adovßna Φasto. Poskytuje podporu
pro servery, kterΘ vy╛adujφ alokovßnφ diskovΘho prostoru d°φve ne╛ uklßdßnφ
souboru m∙╛e b²t provedeno.
procedure ChangeDir(DirName: string);
Metoda m∞nφ aktußlnφ adresß° na vzdßlenΘm hostiteli.
Parametr specifikuje jmΘno novΘho aktußlnφho adresß°e. M∙╛e to b²t adresß°
umφst∞n² v aktußlnφm adresß°i nebo ·plnß cesta. P°i zm∞n∞ adresß°e se zm∞nφ
i vlastnost CurrentDir. Pokud p°φkaz je ·sp∞╣n², pak je generovßna
udßlost OnSuccess, jinak udßlost OnFailure. V obou p°φpadech
jako parametr Trans_Type udßlosti je p°edßno cmdChangeDir.
procedure Delete(Filename: string);
Metoda ru╣φ soubor ze vzdßlenΘho hostitele. Parametr
specifikuje ru╣en² soubor na vzdßlenΘm hostiteli. M∙╛e to b²t soubor v
souΦasnΘm pracovnφm adresß°i nebo adresß°ovß cesta se jmΘnem souboru n∞kde
na vzdßlenΘm systΘmu. Pro ru╣enφ souboru musφme mφt zßpisovß privilegia.
Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost OnSuccess, jinak
udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdDelete.
procedure DoCommand(CommandStr: string);
Metoda se pou╛φvß pro zasφlßnφ p°φkaz∙ na vzdßlenΘho
hostitele FTP. Tato metoda je u╛iteΦnß pro pou╛itφ s u╛ivatelsk²mi hostiteli
FTP, kterΘ majφ nestandardnφ p°φkazy nebo pro podporu neimplementovan²ch
p°φkaz∙. Parametr je p°φkaz, kter² bude odeslßn na server. M∙╛e b²t jednoduch²
jako
pwd (p°φkaz pro zφskßnφ jmΘna aktußlnφho adresß°e) nebo slo╛itΘ
jako zavßd∞nφ vφce soubor∙.
procedure Download(RemoteFile, LocalFile: string);
Metoda je pou╛φvßna pro zavßd∞nφ soubor∙ ze vzdßlenΘho
hostitele FTP na lokßlnφ poΦφtaΦ. Parametr RemoteFile specifikuje
jmΘno souboru v souΦasnΘm pracovnφm adresß°i na vzdßlenΘm hostiteli k zavedenφ.
Parametr
LocalFile specifikuje jmΘno pod kter²m soubor mß b²t ulo╛en
na lokßlnφm poΦφtaΦi. Pokud soubor se stejn²m jmΘnem ji╛ existuje, pak
je p°epsßn. Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost OnSuccess,
jinak udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdDownload.
procedure DownloadRestore(RemoteFile, LocalFile: string);
Metoda zavßdφ soubor ze vzdßlenΘho hostitele, pokraΦovßnφm
p°enosu, kter² byl d°φve p°eru╣en. Parametr RemoteFile specifikuje
jmΘno zavßd∞nΘho vzdßlenΘho souboru. Parametr LocalFile specifikuje
jmΘno pro ulo╛enφ souboru na lokßlnφ disk. Je to jmΘno souboru, kter² ji╛
existuje a je Φßstφ souboru d°φve zavßd∞nΘho. Tuto metodu nepodporujφ v╣echny
hostitelΘ.
procedure List;
Metoda je pou╛φvßna pro zφskßvßnφ seznamu soubor∙ a adresß°∙
ze vzdßlenΘho hostitele. Seznam je zφskßvßn ze souΦasnΘho pracovnφho adresß°e.
Pro ka╛d² uveden² prvek je generovßna udßlost OnListItem. Pokud
ParseList
je nastavena na true, pak vlastnost FTPDirectoryList obsahuje
prvky obsa╛enΘ v seznamu, vΦetn∞ jmen, velikostφ a atribut∙. Pokud p°φkaz
je ·sp∞╣n², pak je generovßna udßlost OnSuccess, jinak udßlost
OnFailure.
V obou p°φpadech jako parametr Trans_Type udßlosti je p°edßno cmdList.
procedure MakeDirectory(DirectoryName: string);
Metoda vytvß°φ adresß° v souΦasnΘm pracovnφm adresß°i
na vzdßlenΘm hostiteli FTP. Parametr specifikuje jmΘno vytvß°enΘho adresß°e.
M∙╛e to b²t samotnΘ jmΘno adresß°e nebo ·plnß adresß°ovß cesta. Pokud p°φkaz
je ·sp∞╣n², pak je generovßna udßlost OnSuccess, jinak udßlost OnFailure.
V obou p°φpadech jako parametr Trans_Type udßlosti je p°edßno cmdMakeDir.
procedure Mode(TheMode: Integer);
Metoda m∞nφ p°enosov² re╛im souboru pou╛it² pro p°enos
soubor∙ mezi vzdßlen²m hostitelem a lokßlnφm poΦφtaΦem. Parametr specifikuje
p°enosov² re╛im. Jsou mo╛nΘ tyto hodnoty:
procedure Reinitialize;
Metoda je pou╛ita k op∞tovnΘmu nastavenφ p°ipojenφ k
serveru. To umo╛≥uje p°ipojenφ ke vzdßlenΘmu hostiteli p°ed provedenφm
autentizace (UserID a Password). Po volßnφ metody Reinitialize
je p°ipojenφ v nepou╛itelnΘm stavu. P°ed provßd∞nφm budoucφch FTP transakcφ,
musφme op∞tovn∞ zaslat identifikaci u╛ivatele a heslo. Jinak p°φkazy jsou
neproveditelnΘ.
procedure RemoveDir(DirectoryName: string);
Metoda je pou╛φvßna k odstra≥ovßnφ adresß°e za vzdßlenΘho
hostitele FTP. Parametr specifikuje jmΘno odstra≥ovanΘho adresß°e. M∙╛e
to b²t jmΘno adresß°e umφst∞nΘho v souΦasnΘm pracovnφm adresß°i nebo ·plnß
adresß°ovß cesta. Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost OnSuccess,
jinak udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdRemoveDir.
procedure Rename(Filename, FileName2: string);
Metoda je pou╛φvßna pro p°ejmenovßnφ souboru v souΦasnΘm
pracovnφm adresß°i na vzdßlenΘm hostiteli FTP. Parametr FileName
specifikuje jmΘno p°ejmenovßvanΘho souboru. Parametr FileName2 urΦuje
novΘ jmΘno souboru. Tyto parametry mohou b²t jmΘno souboru v souΦasnΘm
pracovnφm adresß°i nebo cesta a jmΘno souboru umφst∞nΘho kdekoliv v systΘmu.
Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost OnSuccess, jinak
udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdRename.
procedure Upload(LocalFile, RemoteFile: string);
Metoda je pou╛φvßna pro odeslßnφ souboru z lokßlnφho
poΦφtaΦe na vzdßlenΘho hostitele. Parametr LocalFile specifikuje
jmΘno souboru na lokßlnφm poΦφtaΦi, kter² bude odeslßn na vzdßlenΘho hostitele.
Parametr RemoteFile specifikuje jmΘno, kterΘ bude mφt odeslan² soubor
na vzdßlenΘm hostiteli. Pokud soubor stejnΘho jmΘna ji╛ na vzdßlenΘm hostiteli
existuje, pak je p°epsßn. Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost
OnSuccess,
jinak udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdUpload.
procedure UploadAppend(LocalFile, RemoteFile: string);
Metoda je pou╛φvßna pro odeslßnφ souboru z lokßlnφho
poΦφtaΦe na vzdßlenΘho hostitele. Pokud soubor stejnΘho jmΘna ji╛ existuje,
pak nov² soubor je p°ipojen na konec existujφcφho souboru. Parametr LocalFile
specifikuje jmΘno souboru na lokßlnφm poΦφtaΦi, kter² bude odeslßn na vzdßlenΘho
hostitele. Parametr RemoteFile specifikuje jmΘno, kterΘ bude mφt
odeslan² soubor na vzdßlenΘm hostiteli. Pokud p°φkaz je ·sp∞╣n², pak je
generovßna udßlost
OnSuccess, jinak udßlost OnFailure. V
obou p°φpadech jako parametr Trans_Type udßlosti je p°edßno cmdAppend.
procedure UploadRestore(LocalFile, RemoteFile: string; Position:
Integer);
Metoda je pou╛φvßna pro pokraΦovßnφ v odesφlßnφ souboru
z lokßlnφho poΦφtaΦe na vzdßlenΘho hostitele FTP. Parametr LocalFile
specifikuje jmΘno souboru na lokßlnφm poΦφtaΦi, kter² bude odeslßn na vzdßlenΘho
hostitele. Parametr RemoteFile specifikuje jmΘno, kterΘ bude mφt
odeslan² soubor na vzdßlenΘm hostiteli. P°i pou╛itφ tΘto metody soubor
ji╛ musφ na vzdßlenΘm hostiteli existovat. Parametr Position specifikuje
od jakΘ pozice soubor bude p°enß╣en. Pokud p°φkaz je ·sp∞╣n², pak je generovßna
udßlost OnSuccess, jinak udßlost OnFailure. V obou p°φpadech
jako parametr Trans_Type udßlosti je p°edßno cmdAUpRestore.
procedure UploadUnique(LocalFile: string);
Metoda je pou╛φvßna pro odeslßnφ souboru z lokßlnφho
poΦφtaΦe na vzdßlenΘho hostitele. JmΘno souboru na lokßlnφm poΦφtaΦi je
pou╛ito jako jmΘno souboru na vzdßlenΘm hostiteli. Pokud soubor tohoto
jmΘna ji╛ existuje, pak pro soubor je pou╛ito unikßtnφ jmΘno. Parametr
LocalFile
specifikuje jmΘno souboru na lokßlnφm poΦφtaΦi, kter² bude odeslßn na vzdßlenΘho
hostitele. Pokud p°φkaz je ·sp∞╣n², pak je generovßna udßlost OnSuccess,
jinak udßlost OnFailure. V obou p°φpadech jako parametr Trans_Type
udßlosti je p°edßno cmdAUpload.
Komponenta TNMFTP pou╛φvß nßsledujφcφ udßlosti:
property OnAuthenticationFailed: THandlerEvent;
Udßlost vznikß, kdy╛ vlastnost UserID nebo vlastnost
Password
je nep°φpustnß. Pokud parametr Handled je nastaven na true,
pak autentizace prob∞hne znova k dokonΦenφ p°ihlß╣enφ na vzdßlenΘho hostitele.
Pokud parametr Handled je false (implicitn∞), nebo pokud
druh² pokus o p°ihlß╣enφ je ne·sp∞╣n², pak je generovßna v²jimka.
property OnAuthenticationNeeded: THandlerEvent;
Vlastnost vznikß, kdy╛ udßlosti UserID a Password
jsou prßzdnΘ. Pokud parametr Handled je false, pak je generovßna
v²jimka. Jestli╛e Handled nastavφme na true a poskytneme
UserID
a/nebo
Password,
pak autentizace prob∞hne znova. Pokud podruhΘ je ne·sp∞╣nß, pak je generovßna
v²jimka a p°ipojenφ je zru╣eno. Tato udßlost obvykle nastßvß, kdy╛ je volßna
metoda Connect a identifikace u╛ivatele nebo heslo nenφ zadßno.
property OnFailure: TFailureEvent;
Udßlost je generovßna, pokud provßd∞n² FTP p°φkaz je
ne·sp∞╣n². Pokud parametr Handled je nastaven na true, pak
v²jimka nenφ generovßna. Mß-li hodnotu false, pak bude v²jimka generovßna
podruhΘ k chybujφcφmu p°φkazu. Parametr Trans_Type specifikuje chybujφcφ
p°φkaz.
property OnListItem: TNMListItem;
Udßlost je generovßna pro ka╛d² prvek p°i rozklßdßnφ
seznamu soubor∙. Udßlost je generovßna metodami List a NList.
property OnSuccess: TSuccessEvent;
Udßlost je generovßna, kdy╛ p°φkaz je ·sp∞╣n∞ dokonΦen.
Parametr Trans_Type specifikuje dokonΦen² p°φkaz.
property OnTransactionStart: TNotifyEvent;
Udßlost je generovßna v╛dy, kdy╛ data jsou odesφlßna
ze vzdßlenΘho hostitele na lokßlnφ poΦφtaΦ pomocφ datovΘho soketu. Tuto
udßlost generujφ nßsledujφcφ metody: List, Download, UploadUnique,
Upload,
NList,
DownloadRestore,
UploadAppend
a UploadRestore.
property OnTransactionStop: TNotifyEvent;
Udßlost je generovßna v╛dy, kdy╛ p°enos dat ze vzdßlenΘho
hostitele na lokßlnφ poΦφtaΦ je dokonΦen. Tuto udßlost generujφ nßsledujφcφ
metody:
List,
Download,
UploadUnique,
Upload,
NList,
DownloadRestore,
UploadAppend
a UploadRestore.
property OnUnSupportedFunction: TUnsupportedEvent;
Tato udßlost nastßvß, kdy╛ provßd∞n² p°φkaz FTP je ne·sp∞╣n²,
proto╛e na vzdßlenΘm hostiteli nenφ implementovßn. Parametr Trans_Type
specifikuje tento p°φkaz.
property Decode: String; | Vlastnost obsahuje dek≤dovan² °et∞zec, na zßklad∞ zak≤dovanΘho °et∞zce ve vlastnosti InputString. Pokud InputString nenφ zak≤dovanΘ URL, pak Decode je stejnΘ jako InputString. | Public | RunTime, ReadOnly |
property Encode: String; | Vlastnost obsahuje zak≤dovanou kopii URL z vlastnosti InputString. | Public | RunTime, ReadOnly |
property InputString: String; | Vlastnost obsahuje zak≤dovanß data k dek≤dovßnφ nebo standardnφ °et∞zec k zak≤dovßnφ. |
![]() ![]() ![]() |
|