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

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Множество невозможно вывести. Можно лишь проверять наличие элементов в множестве и обрабатывать результаты...
     
  2. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    парсю ip с сайта...как спарсить строчку до определённого символа???

    site:= TstringList.Create;
    site.Text:=IdHttp1.Get('http://yoip.ru');
    url:=copy(site.Text, pos('Ваш ip адрес:',site.Text)+34, 15);

    сама строчка
    Ваш ip адрес:<br><span class='ip'>127.0.0.1</span><br><br><br>
     
    #9082 od1n0chka, 15 Apr 2012
    Last edited: 15 Apr 2012
  3. Freedom

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

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8
    Держи хорошую функцию, возвращает строку копируя строку от одного символа до второго.

    например для твоего случая fwscut(stroka,#39 +'>','</');

    function fWSCut(wData, wStart, wEnd: string): string;
    var
    wOutData, wDelete: string;
    begin
    wOutData := strpos(Pchar(wData), Pchar(wStart));
    Delete(wOutData, 1, Length(wStart));
    wDelete := strpos(Pchar(wOutData), Pchar(wEnd));
    Delete(wData, 1, Length(wData) - Length(wDelete));
    Delete(wOutData, Length(wOutData) - Length(wDelete) + 1, Length(wDelete));
    result := wOutData;
    end;
     
    2 people like this.
  4. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    а как тогда выполнить задание, продемонстрировать 5 операций над множествами??
     
  5. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    код сюда скинь
     
  6. alexey-m

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

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    множества
     
  7. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    procedure TForm1.BitBtn1Click(Sender: TObject);
    type
    mnoshestwo = set of 1..255;
    var
    m1:mnoshestwo;
    m2:mnoshestwo;
    m3:boolean;
    e,r,i:word;
    s:string;
    begin
    m1:=[1..50];
    m2:=[25..75];
    m3:=m1*m2;

    if m3=false then
    memo1.Lines.Add('множества не пересекаются')
    else
    memo1.Lines.Add(inttostr(m3));
    end;

    end.

    я с множествами некогда не работал )
     
  8. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    это я все знаю. Мне же вывести результаты надо. А как там не написано.
     
  9. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    может вот так.. не проверял
     
  10. alexey-m

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

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    вывести можно только проверяя входит ли значение во множество, иначе никак, примерно так:
    Code:
    program Project;
    {$APPTYPE CONSOLE}
    uses SysUtils;
    var
      x,y,z: set of Byte;
      i: Integer;
    begin
      x:= [1..50];
      y:= [25..70];
      z:= x*y;
      // ну и если z = [], то множества x и y не пересекаются
      WriteLn(z <> []);
      for i:= Low(Byte) to High(Byte) do
        if i in z then begin // если i входит в множество z
          Write(i, ' ');     // вывод значений входящих в множество z
        end;
    
    end.
    
     
    #9090 alexey-m, 15 Apr 2012
    Last edited: 17 Apr 2012
  11. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    не получается
     
  12. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    ошибку пишет про ICOUNT
     
  13. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    обьяви
    iCount:integer;
     
  14. fushiko

    fushiko New Member

    Joined:
    23 Feb 2012
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    компилятор прочал все, но при нажатии на бутон ошибку выдал.
    value assignet to 'iCound' never used
     
  15. alexey-m

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

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    fushiko, iCount не надо, удалить забыл просто :rolleyes:
    ps если надо узнать сколько элементов в определенном типе множества, то можно через функции GetTypeData и TypeInfo, которые описаны в юните TypInfo
     
    #9095 alexey-m, 17 Apr 2012
    Last edited: 17 Apr 2012
  16. Sifon110

    Sifon110 New Member

    Joined:
    13 Mar 2011
    Messages:
    34
    Likes Received:
    1
    Reputations:
    0
    заменяю опеределнные символы из переменной так:

    stringreplace(reply,'[','',[rfReplaceAll]

    беда что заменяет только если один символ. Подскажите как сделать чтобы заменяло два символа одним.

    stringreplace(reply,'[/','',[rfReplaceAll] - так не работает.
     
  17. Timon132009

    Timon132009 Member

    Joined:
    7 Jun 2009
    Messages:
    137
    Likes Received:
    19
    Reputations:
    0
    Сможет кто php код в Delphi перевести?
    PHP:
      $nicked = array(); 
       
      foreach (
    file('./baza.txt') as $line
      { 
        list(
    $nick$pass) = explode(';'trim($line)); 
        
    $nicked[$nick][] = $pass
      } 
       
      
    $result = array(); 
       
      foreach (
    $nicked as $nick => $pass
      { 
        if (
    count($pass) == 1
        { 
          
    $result[] = $nick.';'.$pass[0]; 
        } 
      } 
       
      
    file_put_contents('./ready.txt'implode("\r\n"$result)); 
       
     
  18. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Подскажите плиз, возможно ли технически эмулировать перемещение курсора в текущем приложение,ну или в чужом.
    Не просто эмулировать клик, а неприрывно эмулировать передвижение мышки по заданой траектории.
    именно Эмулировать(!)а не направлять туда курсор и водить им.


    Грубо говоря, можно ли обмануть сайт , где есть JS реагирующий на передвижения мыши, но что бы все это дело было в фоне, а не двигал мышкой на самом деле))

    Теоретический вопрос
     
    #9098 InfectedM, 20 Apr 2012
    Last edited: 20 Apr 2012
  19. ШМЕЛЕ

    ШМЕЛЕ New Member

    Joined:
    14 Feb 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Приложение должно производить сцепление двух строк и вывод итоговой строки после нажатия кнопки, всё делаю по пособию, по идее всё должно работать, но работать не хочет :eek:. Выдаёт ошибки:

    Code:
    [Error] Unit1.pas(43): Undeclared identifier: 'Edit3'
    [Error] Unit1.pas(43): Undeclared identifier: 'Edit1'
    [Error] Unit1.pas(43): Undeclared identifier: 'Edit2'
    [Error] Unit1.pas(48): Undeclared identifier: 'Edit1'
    [Error] Unit1.pas(49): Undeclared identifier: 'Edit2'
    [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
    Хотя в пособии ничего про необходимость объявление этих переменных нет, вообщем буду благодарен если опытные люди потратят минуту на нахождение ошибки в коде.
    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        lbl1: TLabel;
        lbl2: TLabel;
        lbl3: TLabel;
        lbl4: TLabel;
        edt1: TEdit;
        edt2: TEdit;
        edt3: TEdit;
        btn1: TButton;
        btn2: TButton;
        procedure btn2Click(Sender: TObject);
        procedure btn1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.btn2Click(Sender: TObject);
    begin
    Close;
    end;
    
    procedure TForm1.btn1Click(Sender: TObject);
    begin
    Edit3.Text:=Edit1.Text+Edit2.Text;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Edit1.Text:='';
    Edit2.Text:='';
    end;
    
    end.
     
  20. od1n0chka

    od1n0chka Member

    Joined:
    13 Dec 2010
    Messages:
    297
    Likes Received:
    47
    Reputations:
    1
    вот держи
    PHP:
    unit Unit1;

    interface

    uses
      Windows
    MessagesSysUtilsVariantsClassesGraphicsControlsForms,
      
    DialogsStdCtrls;

    type
      TForm1 
    = class(TForm)
        
    Edit1TEdit;
        
    Edit2TEdit;
        
    Edit3TEdit;
        
    Button1TButton;
        
    Button3TButton;
        
    procedure Button1Click(SenderTObject);
        
    procedure Button3Click(SenderTObject);
        
    procedure FormCreate(SenderTObject);
      private
        { Private 
    declarations }
      public
        { Public 
    declarations }
      
    end;

    var
      
    Form1TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(SenderTObject);
    begin
    Edit3
    .Text:= Edit1.Text Edit2.Text;
    end;

    procedure TForm1.Button3Click(SenderTObject);
    begin
    close
    ;
    end;

    procedure TForm1.FormCreate(SenderTObject);
    begin
    Edit1
    .Text:='';
    Edit2.Text:='';
    end;

    end.
     
Thread Status:
Not open for further replies.