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

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Добрый вечер, хотелось пояснить, ну никак понять не могу, если функция/процедура без параметров, то вызываеться очень просто, пишеться название, а если с параметрами, вот как эта программа например:
    Код:
    Code:
    program test;
    var M, N : Word;
    procedure Exchenge(var X,Y : Word);
    var z : Word;
    begin
    z := X;
    X :=Y;
    Y := Z;
    end;
    begin
    M := 5; N := 6;
    Exchenge(M, N); {оператор вызова процедуры}
    writeln(M,N);
    end.
    
    Подпрограмма, эт же отдельное "тело" программы? Тогда почему при вызове данной процедуры используються переменные основной программы, а не подпрограммы? Ну ничего не понимаю, поясните пожалуйста, выходит, что процедура вообще не выполняеться? Или как...
     
  2. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Есть понятия глобальные и локальные переменные. Если ты объявишь переменную как глобальную то в подпрограмме будет она использоваться как глобальная, а если в подпрограмме ты ее снова определишь то она станет локальной и не повлияет на глобальную
    Думаю понятно объяснил..
     
    1 person likes this.
  3. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    cremator (c)

    +
     
  4. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Еще вопрос, вот исходник из учебника, не пойму, причем тут a и b? read(a,b);
    Line(a,b);

    Code:
    program editor;
    var x : integer;
    procedure Line (ch:char; ln:integer);
    var symbol : integer;
    begin
    write('{');
    for symbol:=1 to ln do
    write('ch');
    writeln('}');
    end;
    begin
    read(a,b);
    Line(a,b);
    end.
    
     
  5. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ну да, в коде явно не хватает объявления var a:char; b: integer;

    add - да и, видимо, тут вместо write('ch'); должно быть write(ch); чтобы что-то полезное было.
     
  6. cremator (c)

    cremator (c) Elder - Старейшина

    Joined:
    20 Jun 2008
    Messages:
    258
    Likes Received:
    72
    Reputations:
    0
    Выложи весь код. Эти переменные наверно глобальные
     
  7. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Объявления переменных этих в программе или подпрограмме?
     
  8. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Та я тоже думаю, что глобальные, в учебникe нет, там просто:
    Code:
    program editor;
    {Раздел описания меток, констант, и тд}
    procedure Line (ch:char; ln:integer);
    var symbol : integer;
    begin
    write('{');
    for symbol:=1 to ln do
    write('ch');
    writeln('}');
    end;
    begin
    read(a,b);
    Line(a,b);
    end. 
    
     
  9. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    Все..сделал, да это глобальные переменные, вот:
    Code:
    program editor;
    var a : char;
    var b : integer;
    procedure Line (ch:char; ln:integer);
    var symbol : integer;
    begin
    write('{');
    for symbol:=1 to ln do
    write('ch');
    writeln('}');
    end;
    begin
    read(a,b);
    Line(a,b);
    end.
    
     
  10. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Народ как сделать брутфорс http форм???
    То есть я знаю как отправлять пакеты серверу а вот как узнать есть ли авторизация или нет вот в чем вопрос
     
  11. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    по ответу сервера.
     
  12. diznt

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

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    можно пример как обрабатываеться ответ от сервера??? или где можно об этом почитать на русском???
     
  13. TheJahte

    TheJahte New Member

    Joined:
    28 Jun 2008
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Нюбский вопрос по Pascal... допустим мне надо чтобы прога запускала приложение с особыми параметрами... плюс чтобы между запусками приложений была пауза.... И при том как сделат чтобы он считывал параметры из .txt файла... Например ...

    start C:/server/1.exe -n -d -1
    pause 5000
    start C:/server/2.exe -a -a -d



    В таком роде.... но чтобы он считывал это из текстового файла.... и как вообще запускать приложения через pascal и ставить паузу...
     
  14. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    для запуска приложений используй WinAPI функции ShellExecute, также можно WinExec ну или даже CreateProcess. Для паузы здесь проще всего Sleep
     
  15. TheJahte

    TheJahte New Member

    Joined:
    28 Jun 2008
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    нууу


    ну... а пример ?
     
  16. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    Code:
    program executer;
    {$APPTYPE CONSOLE}
    uses windows;
    var f:textfile;
        cmd:string;
    begin
     assignfile(f,'file.txt');
     reset(f);
     while not eof(f) do begin
      readln(f,cmd);
      WinExec(pChar(cmd),SW_SHOW);
      Sleep(5000);
     end;
     closefile(f);
    end.
    
    пример файла file.txt
    Code:
    ping ya.ru
    ping forum.antichat.ru
    
     
  17. TheJahte

    TheJahte New Member

    Joined:
    28 Jun 2008
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Хммм... т.е. прописывать в .txt файле не ping а start ?
     
  18. bons

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

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21
    start там ни к чему
     
  19. TheJahte

    TheJahte New Member

    Joined:
    28 Jun 2008
    Messages:
    18
    Likes Received:
    2
    Reputations:
    0
    Куда этот гребаный windows.tpu ему засунуть )) чтоб он заткнулся ? :D
     
  20. AHTOLLlKA

    AHTOLLlKA Member

    Joined:
    1 Feb 2005
    Messages:
    225
    Likes Received:
    35
    Reputations:
    22
    люди ))) помогите сделать баллон тип только не юзая форму...
    тоесть как вот этот трай икон без формы..
    http://d.lsass.us/126

    помогиииииите оч надо =)
     
Thread Status:
Not open for further replies.