кстати исходник ужасный... логинится удобнее... Code: mpfds := TIdMultiPartFormDataStream.Create(Self); mpfds.AddFormField('vb_login_username', 'Вася'); mpfds.AddFormField('vb_login_password', 'Пупкин'); IdHTTP.AllowCookies:= True; IdHTTP.HandleRedirects:= True; idHTTP.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'; idHTTP.Request.ContentType:='application/x-www-form-urlencoded'; idHttp.Post('http:// .... /login.php?do=login', mpfds); mpfds.Free; но конкретно для твоего сайта : HTML: <form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)"> так-что еще md5 нада обработать...
У меня на форме, висят 100 компонентов TICQClient. Как можно вывести их всех 100 в онлайн, через цикл, т.е. не сидеть и писать вручную ICQClient1.Login(); ICQClient2.Login(); ICQClient3.Login(); ... ICQClient100.Login();
Блин ребят,я фигею var Mass : array[0..100] of TICQClient; i : dword; begin for i:=0 to 100 do Mass.Login; Уж мозги не раскинуть для такой ерунды
код не сработает по 1 простой причине, TICQClient не создается и в твоем примере банальная ошибка с Can't read memory (кажется) итак... ради этого скачал+установил компонент =\ Code: var i: Byte; m: array [0..99] of TICQClient; begin for i:=0 to 99 do begin m[i]:=TICQClient.Create(nil); with m[i] do begin UIN:=00000000; Password:='qwerty'; Login(); end; end; мда... =\
Для начала код: Code: var Form1: TForm1; ScreenDC: HDC; Can: TCanvas; procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:= true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Can:= TCanvas.Create; Can.Handle:= GetDC(ScreenDC); Image1.Canvas.CopyRect(Rect(1, 1, Image1.Width, Image1.Height), Can, Rect(1, 1, Screen.Width, Screen.Height)); Image1.Repaint; ReleaseDC(Can.Handle, ScreenDC); Can.Free; end; То, что было представлено выше, показывает содержимое экрана каждую секунду (типо программы Fraps). А теперь вопрос: Я хочу сделать клиент и сервер, которые будут запущены на разных тачках в локальной сети. Сервер на 1-ой, клиент на 2-ой. 1-ая тачка должна отсылать данные с содержимым своего экрана клиенту. Программа- клиент должна содержать на форме компонент TImage, который будет отображать содержимое экрана 1-ого компьютера. Как это реализовать и как пересылать данные?
~utQ Ты хочешь в реальном времени получать картинки, т.е. их обновлять, или просто получить скрин удаленного рабочего стола???
даж если обновлять , проще через: TIdTCPServer / TidTCPclient + SendStream() шли через: ImgStream := new TMemoryStream(this); Image1.Bitmap.SaveToStream (ImgStream); TIdTCPclient.SendStream(ImgStream); принимаешь аналогично из потока...
Да, хочу в реальном времени. Хотел узнать как раз про потоки, спасибо. Code: Image1.Bitmap.SaveToStream (ImgStream); Ошибочка. Должно быть так: Code: Image1.Picture.Bitmap.SaveToStream (ImgStream);
Всем здрасте! Поиск не дал желаемого результата по тому вопросу кот. у меня возник или я просто долблюсь в очи. Вопрос такой, подскажите как можно реализовать следующее: Написал небольшую прогу (сонсольную), дак вот как реализовать мне запуск с параметрами из строки (пример: c:\soft.exe -?),то выдал мне например по этой команде помощь, описание кот. находится в проге. Всем спасибо!
Code: program soft; {$APPTYPE CONSOLE} uses windows; var parameter: string; begin parameter:=ParamStr(1); if parameter = '/message' then Writeln('Parameter /message.') else Writeln('No actual parameters.'); write('Press key Enter for Exit'); readln; end. думаю коментарии излишни.
а если через fso? Code: function DiskSpace(AFileName : string) : int; var fso, drv : OleVariant; begin fso := CreateOleObject('Scripting.FileSystemObject'); drv := fso.GetDrive(fso.GetDriveName(AFileName)); DiskSpace := drv.AvailableSpace; end;
Таймер в консольном приложении возникла такая проблема: пишу например: Code: program MyApp; {$APPTYPE CONSOLE} uses ExtCtrls; var Timer: TTimer; procedure MyAppOnTimer(Sender: TObject); begin {} end; begin Timer := TTimer.Create(nil); Timer.OnTimer := MyAppOnTimer; //вот здесь ошибка. end; При компиляции выдает ошибку - "Incompatible types: 'method pointer and regular procedure'" Как сделать правильно?
получилось вот таким способом, но проц сильно грузит: Code: type .... TMyTimer = class(TObject) timTimer: TTimer; booTrigger: boolean; procedure timTimerTimer(Sender: TObject); end; .... procedure TMyTimer.timTimerTimer(Sender: TObject); begin booTrigger := true; ... end; procedure TimerExample; var timDemo: TMyTimer; begin with timDemo do begin timDemo := TMyTimer.Create; timTimer := TTimer.Create(nil); booTrigger := false; timTimer.Interval:=30000; timTimer.Enabled:=true; timTimer.OnTimer := timDemo.timTimerTimer; repeat Application.ProcessMessages; until booTrigger; Free; end; end; может ктонить предложит по проще и с меньшей нагрузкой на проц?