парни привет.Я знаю что не в тему,но все таки.....кто тут сможет обучить програмированию,ну или доскажет?бюджета пока что как токогого нету....потому чо тока начинаю внедрятся.....если есть такие люди то пишите Лс...Спасибо
Читай книги. Можешь на курсы записаться на intuit.ru(они бесплатные). От меня вопрос. Как в Synapse получать страницу не полностью?
Кто может написать мини-скрипт(на чем угодно, хоть батник), который в текстовик выведет все файлы, которые лежат рядом с этим скриптом. Там работы на 2 минуты, просто сейчас под рукой нет ничего. Буду очень признателен
сканер портов Code: unit AdrPortScanner; interface uses Classes,SysUtils,WinSock,AppEvnts,Windows,Forms,Messages; type TPortExistsEvent = procedure (Sender:TObject; Port:Integer) of object; TWorkBeginEvent = procedure (Sender:TObject; Min,Max:integer) of object; TPortScanner = class abstract private FIPAddress: AnsiString; FOnPortChecking: TPortExistsEvent; FOnCheckingDone: TNotifyEvent; FOnPortExists: TPortExistsEvent; FOnWork: TPortExistsEvent; FOnWorkBegin: TWorkBeginEvent; FOnWorkEnd: TNotifyEvent; FTerminated: boolean; FTimeOut: Word; FPortStart: Word; FPortEnd: Word; protected FWorking: boolean; FMaxOpenPort: Word; procedure SetMaxOpenPort(const Value: Word); virtual; abstract; public constructor Create; function StartChecking(const URI:string):boolean; overload; procedure StartChecking; overload; virtual; abstract; procedure Terminate; property IPAddress:AnsiString read FIPAddress write FIPAddress; property MaxOpenPort:Word read FMaxOpenPort write SetMaxOpenPort; property PortStart:Word read FPortStart write FPortStart; property PortEnd:Word read FPortEnd write FPortEnd; property Terminated:boolean read FTerminated write FTerminated; property TimeOut:Word read FTimeOut write FTimeOut; property Working:boolean read FWorking; property OnWork:TPortExistsEvent read FOnWork write FOnWork; property OnWorkBegin:TWorkBeginEvent read FOnWorkBegin write FOnWorkBegin; property OnWorkEnd:TNotifyEvent read FOnWorkEnd write FOnWorkEnd; property OnPortChecking:TPortExistsEvent read FOnPortChecking write FOnPortChecking; property OnPortExists:TPortExistsEvent read FOnPortExists write FOnPortExists; property OnCheckingDone:TNotifyEvent read FOnCheckingDone write FOnCheckingDone; end; //============================================================================== TPortScanner1 = class (TPortScanner) type TFSocket = record sa: TSockAddr; FData: integer; ATimeOut: word; end; private FSocket: array of TFSocket; FPort: WORD; FInfo: TWSADATA; FHost: integer; FWorking:boolean; FTerminated:boolean; procedure InitSockets; procedure ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean); procedure Checking; protected procedure SetMaxOpenPort(const Value: Word); override; public constructor Create; destructor Destroy; override; procedure StartChecking; override; end; function getIPFromHost(const HostName: AnsiString): AnsiString; implementation//**************************************************************** function GetIPFromHost(const HostName: Ansistring): AnsiString; type TaPInAddr = array[0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe: PHostEnt; pptr: PaPInAddr; i: Integer; GInitData: TWSAData; begin WSAStartup($101, GInitData); Result := ''; phe := GetHostByName(PAnsiChar(HostName)); if phe = nil then Exit; pPtr := PaPInAddr(phe^.h_addr_list); i := 0; while pPtr^[i] <> nil do begin Result := inet_ntoa(pptr^[i]^); Inc(i); end; WSACleanup; end; { TPortScanner1 } procedure TPortScanner1.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean); begin if (Msg.message>=FPortStart+WM_USER) and (Msg.message<=FPortEnd+WM_USER) then if WSAGETSELECTERROR(Msg.lParam)=0 then case WSAGETSELECTEVENT(msg.lParam) of FD_CONNECT: begin if Assigned(OnPortExists) then OnPortExists(Self,Msg.message - WM_USER); Application.ProcessMessages; end; end; Handled:=false; end; procedure TPortScanner1.Checking; var i: integer; buf: in_addr; begin FHost:=inet_addr(PAnsiChar(FIPAddress)); if (FPortEnd<=FPortStart)or (FPortEnd>32768) then FHost:=SOCKET_ERROR; if FHost=SOCKET_ERROR then begin if Assigned(OnWorkEnd) then OnWorkEnd(self); Exit; end; buf.S_addr:=FHost; FPort:=FPortStart; for i:=0 to MaxOpenPort-1 do with FSocket[i] do begin TimeOut:=0; FData:=Socket(AF_INET, SOCK_STREAM, 0); end; // while not Terminated do begin Application.ProcessMessages; InitSockets; if FPort>=FPortEnd then break; end; // for i:=0 to MaxOpenPort-1 do CloseSocket(FSocket[i].FData); // end; constructor TPortScanner1.Create; var i: integer; begin inherited; SetLength(FSocket,MaxOpenPort); if WSAStartup(MAKEWORD(2, 0), FInfo)<>0 then Halt; for i:=0 to MaxOpenPort-1 do with FSocket[i] do begin ATimeOut := 0; FData := Socket(AF_INET, SOCK_STREAM, 0); if FData = SOCKET_ERROR then begin WSACleanup; Halt; end; end; Application.OnMessage:=ApplicationEventsMessage; end; destructor TPortScanner1.Destroy; var i: integer; begin for i:=0 to MaxOpenPort-1 do CloseSocket(FSocket[i].FData); WSACleanup; inherited; end; procedure TPortScanner1.InitSockets; var i,time: word; begin for i:=0 to MaxOpenPort-1 do with FSocket[i] do if (FPort>=FPortEnd) or (FTerminated) then break else if (GetTickCount-ATimeOut>TimeOut) then begin sa.sin_family:=AF_INET; sa.sin_addr.S_addr:=FHost; sa.sin_port:=htons(FPort); // WSAAsyncSelect(FData, Application.Handle, WM_USER+FPort, FD_CONNECT); connect(FData, FSocket[i].sa, SizeOf(FSocket[i].sa)); ATimeOut:=GetTickCount; inc(FPort); if Assigned(OnWork) then OnWork(Self,FPort); Application.ProcessMessages; // //Sleep(TimeOut div MaxOpenPort); time:=GetTickCount; while GetTickCount-time<TimeOut div MaxOpenPort do Application.ProcessMessages; end; end; procedure TPortScanner1.SetMaxOpenPort(const Value: Word); begin SetLength(FSocket,Value); FMaxOpenPort:=Value; end; procedure TPortScanner1.StartChecking; begin if not Working then begin FWorking:=true; if Assigned(OnWorkBegin) then OnWorkBegin(self,FPortStart,FPortEnd); try Checking; FWorking:=false; finally if Assigned(OnWorkEnd) then OnWorkEnd(self); end; end; end; { TPortScanner } constructor TPortScanner.Create; begin inherited; FTerminated:=false; FPortStart:=0; FPortEnd:=MAXSHORT; FTimeOut:=5000; FMaxOpenPort:=500; end; function TPortScanner.StartChecking(const URI: string): boolean; var s:Ansistring; begin s:=getIPFromHost(AnsiString(URI)); Result:=s<>''; if Result then begin IPAddress:=s; StartChecking(); end; end; procedure TPortScanner.Terminate; begin FTerminated:=true; end; end.
ужас! бедные люди, забаненные гуглом! http://www.delphisources.ru/pages/faq/faq_delphi_basics/FindFirst.php.html Первая же ссылка из МОРЯ ссылок, выданных гуглом. Тебе остаётся только подставить нужную директорию и имя файла *.*
Code: Function IsConnectedToInternet: Boolean; var dwConnectionTypes: DWORD; begin dwConnectionTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY; Result := InternetGetConnectedState(@dwConnectionTypes, 0); end; Uses WinInet; Возращает True если есть соединение
Здравствуйте Динамически создаю shape в массиве и использую drag and drop с ними .. Ну не в это мдело)))) Как в drag and drop плавно перемещать объекты. То есть, взял мышкой объект. И пока не отпустил кнопку правой мышки, объект движется с мышкой. Причем если отпустить мышку в неположеном месте, то шарик возвращается обратно