[ 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. Pir4tt

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

    Joined:
    3 Jan 2008
    Messages:
    73
    Likes Received:
    36
    Reputations:
    5
    насчёт онлайн проверки - поставь обработчик на OnLogin, либо наоборот на OnConnectionFailed.. На счёт как номер узнать, добавь попробуй в цикл
    icq.onMessageRecv:=newMessRecv; которая будет представлять собой немного изменённый обработчик, который кросе номера отправителя и мессаги будут принимать и номер на который пришло
     
  2. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    не работает почему то!
    я создаю массив компонентов....
     
    #1182 De-visible, 19 Mar 2008
    Last edited: 19 Mar 2008
  3. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Вот например:
    [​IMG]
     
  4. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Вот ответ на мой ворос :)
    Code:
    function GetFileDescription(FileName: string): string;
    var
      szName: array[0..255] of Char;
      P: Pointer;
      Value: Pointer;
      Len: UINT;
      GetTranslationString:string;
      FFileName: PChar;
      FValid:boolean;
      FSize: DWORD;
      FHandle: DWORD;
      FBuffer: PChar;
    begin
    try
       FFileName := StrPCopy(StrAlloc(Length(FileName) + 1), FileName);
       FValid := False;
       FSize := GetFileVersionInfoSize(FFileName, FHandle);
       if FSize > 0 then
         try
           GetMem(FBuffer, FSize);
           FValid := GetFileVersionInfo(FFileName, FHandle, FSize, FBuffer);
         except
           FValid := False;
           raise;
         end;
       Result := '';
       if FValid then
         VerQueryValue(FBuffer, '\VarFileInfo\Translation', p, Len)
       else p := nil;
       if P <> nil then
         GetTranslationString := IntToHex(MakeLong(HiWord(Longint(P^)), LoWord(Longint(P^))), 8);
       if FValid then
         begin
           StrPCopy(szName, '\StringFileInfo\' + GetTranslationString + '\FileDescription');
           if VerQueryValue(FBuffer, szName, Value, Len) then
             Result := StrPas(PChar(Value));
         end;
    finally
       try
         if FBuffer <> nil then FreeMem(FBuffer, FSize);
       except
       end;
       try
         StrDispose(FFileName);
       except
       end;
    end;
    end;
     
  5. GSM™

    GSM™ Elder - Старейшина

    Joined:
    2 Nov 2007
    Messages:
    221
    Likes Received:
    31
    Reputations:
    6
    Подскажите что за ерунда. В программе несколько десятков кнопок. Компилирую 1 раз - работает пару кнопок. С 10 попытки еще одна начинает работать. А как сделать что бы заработала программа полностью
    Думал делфи гонит, но переустонавливал несколько раз в том числе и на чистую винду.
     
  6. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Нафига тебе столько? о_О
     
  7. GSM™

    GSM™ Elder - Старейшина

    Joined:
    2 Nov 2007
    Messages:
    221
    Likes Received:
    31
    Reputations:
    6
    Если быть точнее то 33 кнопки.
    ну надо.
     
  8. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Алфавит?

    А вообще поудаляй чуток - посмтри, что надо, чтобы всё работало... эксперементируй :)
    Ps Кинь исходник..
     
  9. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Попробуй для всех кнопок указать один метод OnClick, в котором анализируй Sender
     
  10. Manoff

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

    Joined:
    15 Dec 2007
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    Привет всем ! Я изучаю делфи и решил сделать асю-бот если у кого-нибудь есть материалы по этому - помогите пожалуйста.
     
  11. Ergoproxy

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

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    Дык тут надо компонент Icq и всё там дальше дело техники)

    http://forum.root-access.ru/index.php?showtopic=478
    Вот тут всё описано чё да как) зы это не реклама)
     
    #1191 Ergoproxy, 24 Mar 2008
    Last edited: 24 Mar 2008
  12. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Вот исходник моего старого(простенького) бота ("Команды вводи сам:)")
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ICQClient,ICQWorks, XPMan, ExtCtrls, Menus, ComCtrls,
      jpeg;
    
    type
      TForm1 = class(TForm)
        GroupBox1: TGroupBox;
        Edit1: TEdit;
        Edit2: TEdit;
        Label1: TLabel;
        Label2: TLabel;
        Button1: TButton;
        GroupBox2: TGroupBox;
        Edit5: TEdit;
        Label6: TLabel;
        ICQ: TICQClient;
        XPManifest1: TXPManifest;
        Timer1: TTimer;
        Label9: TLabel;
        Label10: TLabel;
        Menu1: TPopupMenu;
        N1: TMenuItem;
        N2: TMenuItem;
        N3: TMenuItem;
        N4: TMenuItem;
        N5: TMenuItem;
        Button6: TButton;
        GroupBox3: TGroupBox;
        Memo1: TMemo;
        CheckBox1: TCheckBox;
        Image1: TImage;
        GroupBox4: TGroupBox;
        Pop1: TPopupMenu;
        N9: TMenuItem;
        RANDOM1: TMenuItem;
        N6: TMenuItem;
        N7: TMenuItem;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure ICQLogin(Sender: TObject);
        procedure ICQConnectionFailed(Sender: TObject);
        procedure ICQMessageRecv(Sender: TObject; Msg, UIN: String);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Timer1Timer(Sender: TObject);
        procedure N1Click(Sender: TObject);
        procedure N2Click(Sender: TObject);
        procedure N3Click(Sender: TObject);
        procedure N4Click(Sender: TObject);
        procedure N5Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
        procedure CheckBox1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    uses unit2;
    type
    ICQmsg=array [1..3] of string;
    ICQFormat=object
    uin:integer;
    Msg:string;
    end;
    var
    strokin:string;
    ICQ_bufer:array [1..20] of ICQFormat;
    MSGT:string;
    LogFile:TextFile;
    AnekdotFile:Textfile;
    Comands:TextFile;
    UinBaz:TextFile;
    Drevo:Tlist;
    {$R *.dfm}
    function find_icq():byte;
    var
      ch,chcol:byte;
    begin
    chcol:=0;
    for ch:=1 to 10   do
      if ICQ_bufer[ch].uin<>0 then chcol:=chcol+1;
      find_icq:=chcol;
    end  ;
    procedure TRACE (txts:string);
    begin
    strokin:='>>'+' {'+txts+'}'+'!';
    form1.Memo1.Lines.Add(strokin);
    end;
    procedure smsik (txts:string);
    begin
    form1.Memo1.Lines.Add(' <> '+txts);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
    i:byte;
    begin
    ICQ.ConvertToPlaintext:=true;
    trace('Ожидаем...');
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ICQ.UIN:=StrToInt(edit1.Text);
    ICQ.Password:=edit2.Text;
    ICQ.ICQServer:='login.icq.com';
    ICQ.ICQPort:=5190;
    icq.Status:=8;
    ICQ.Login();
    trace('Пробуем соединится...');
    icq.Status:=8;
    end;
    
    procedure TForm1.ICQLogin(Sender: TObject);
    begin
    Form1.Enabled:=true;
    trace('Подключились...');
    Application.MessageBox('Мы удачно подключились!','Внимание! ICQ_BOT говорит:',48);
    
    end;
    
    procedure TForm1.ICQConnectionFailed(Sender: TObject);
    begin
    Form1.Enabled:=true;
    Button1.Enabled:=true;
    trace('Соеденение разорвано...');
    Application.MessageBox('Мы не смогли соединится!','Внимание! ICQ_BOT говорит:',48);
    end;
    
    procedure TForm1.ICQMessageRecv(Sender: TObject; Msg, UIN: String);
    var
    i,j:byte;
    begin
    Memo1.Lines.Add('|| '+'['+UIN+']'+'  ='+' '+MSG);
    ICQ.RequestInfo(StrToInt(UIN));
    ICQ.SendAuthResponse(StrToInt(UIN),true,'yes');
    for i:=1 to  20 do
            if ICQ_bufer[i].uin=0 then
              begin
              ICQ_bufer[i].uin:=strtoint(uin);
              ICQ_bufer[i].msg:='Privet';
              break;
              end;
    timer1.Enabled:=true;
    
    end;
    
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    trace('Выходим...');
    end;
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    var
    bufer:array [1..20] of ICQFormat;
    i,j:byte;
    begin
    timer1.Interval:=StrToInt(edit5.Text);
    for i:=1 to 20   do
      for j:=i+1 to 20   do
      begin
      if ICQ_bufer[i].uin=0 then
        begin
        bufer[i]:=ICQ_bufer[i];
        ICQ_bufer[i]:=ICQ_bufer[j];
        ICQ_bufer[j]:=bufer[i];
        end;
      end;
      if find_icq=0 then
      begin
      timer1.Enabled:=false;
      exit;
      end;
    label9.Caption:=inttostr(find_icq);
    icq.SendMessage(ICQ_bufer[1].uin,ICQ_Bufer[1].msg);
    ICQ_bufer[1].uin:=0;
    end;
    
    procedure TForm1.N1Click(Sender: TObject);
    begin
    icq.Status:=1;
    button6.Caption:='Отошел';
    end;
    
    procedure TForm1.N2Click(Sender: TObject);
    begin
    icq.Status:=2;
    button6.Caption:='Не беспокоить';
    end;
    
    procedure TForm1.N3Click(Sender: TObject);
    begin
    icq.Status:=4;
    button6.Caption:='Недоступен';
    end;
    
    procedure TForm1.N4Click(Sender: TObject);
    begin
    icq.Status:=8;
    button6.Caption:='В сети';{ICQ.SendMessage(StrToInt(edit3.Text),edit4.Text);
    Trace('Бот отправил сообщение'+' '+'['+edit3.Text+']');}
    end;
    
    procedure TForm1.N5Click(Sender: TObject);
    begin
    icq.Status:=16;
    button6.Caption:='Занят';
    end;
    
    procedure TForm1.Button6Click(Sender: TObject);
    begin
    menu1.Popup(mouse.CursorPos.X,mouse.CursorPos.y);
    end;
    
    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
    if
    form1.ClientHeight=462 then
    form1.ClientHeight:=346 else
    form1.ClientHeight:=462;
    end;
    
    end.
    
    
    Думаю разберешься - ЭТО так сказать "скелет" простенького бота:)
     
    #1192 De-visible, 24 Mar 2008
    Last edited: 24 Mar 2008
  13. Twiddle

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

    Joined:
    6 Sep 2006
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Господа, подскажите код что бы из xxx.txt удалялись дубли строчек и сохранялось в xxx1.txt
    Delphi plz
     
  14. ToniKapuchon

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

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    На компоненте TImage рисую кружочки.... При нажатии по button хочу удалять нарисованное (свои кружки), что за свойство? Типа что то Image1.*****?
     
  15. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66

    Из DelphiWorld:)
     
    1 person likes this.
  16. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Image1.Picture:=nil;
     
  17. Twiddle

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

    Joined:
    6 Sep 2006
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    хм, по моему мне не подходит этот код. Мне как раз надо что бы из мусорного файла создавался нормальнеый ге каждая строка уникальная. т.е. просто что бы удалил повторы.... можно даже в старом файле.
     
  18. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    Предлагаю с такими вопросами посылать на sources.ru... Или заваливать умными словами типа юзай либо подправленный КМП, либо хеши, сравнивай строки таким образом, храни их однонаправленным списком, дальше выводи список с 1-го элемента, и пока equal((s.next)^.string,s.string) делать s = s.next иначе writeln(s.string).

    PS Надоели вопросы, когда люди думать не хотят. Всё, ясно?! Вперёд писать. У тебя 10 минут.
     
    1 person likes this.
  19. Twiddle

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

    Joined:
    6 Sep 2006
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Не смог найти... Как запретить Twebbrowser выполнять яваскрипты?
     
  20. ToniKapuchon

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

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    При етом моя картинка удаляется...!!! В чём загвоздка?
     
Thread Status:
Not open for further replies.