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

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    Здравствуйте
    Такой вопрос
    Не могу понять суть процедуры
    Можете привести простой пример?
    Вызова процедуры :)
    Вроде все до функций и процедур было понятно,а тут вообще запутался)
    turbo pascal
     
    #2661 kevmen, 6 Feb 2009
    Last edited: 6 Feb 2009
  2. lll6

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

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Code:
    program Perestanovka;
    	  var N,I:byte;
    	
        procedure Swap(var a,b:byte);
          var c:byte;
        begin 
              c:=a;
              a:=b;
              b:=c 
        end;
    
    begin
      write('N=');
      readln(N);
      write('I=');
      readln(I);
      Swap (N,I); 
      writeln('N=',N);
      writeln('I=',I);
    end.
    Вот смотри. Создали процедуру swap, которая меняет содержимое двух целочисленных ячеек местами. В месте мы можем вызвать её указав в скобках необходимые параметры - в данном случае переменные, которые должны быть обменяны. Если вызвать Swap (N,I); ещё раз, то значения станут первоначальными. Если не понятно ещё что-то, то проще уже учебник взять, легко и самому понять.
     
    #2662 lll6, 6 Feb 2009
    Last edited: 6 Feb 2009
    1 person likes this.
  3. kevmen

    kevmen Member

    Joined:
    29 Oct 2008
    Messages:
    147
    Likes Received:
    23
    Reputations:
    0
    вот именно я учебник взял!Сейчас все понял!Спасибо=)
     
    3 people like this.
  4. DiSi

    DiSi Member

    Joined:
    7 Dec 2007
    Messages:
    0
    Likes Received:
    19
    Reputations:
    0
    ICQClient1 - помогите с етим компонентом, меня интересует как обрабативать входяшие сообшения, ну и все все про етот клиент) ну важнее обработка вхожяших сообшений)

    Если можна дайте пример)
     
  5. lll6

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

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Вот архив со статьёй, рассматривается работа с TICQClient, хватит на первое время, так же вот форум, где обсуждают этот компонент, всё самое свежее там
     
    #2665 lll6, 7 Feb 2009
    Last edited: 7 Feb 2009
    1 person likes this.
  6. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    У меня такой вопрос, можно ли как то сделать так что бы программа запущенная в досе , написанная на паскале, не была видна в панеле задач?
     
  7. vikseriq

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

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    Если всмысле консольная, то забей. Все равно учитель информатики твой умнее тебя, а трояны на TP есть мастдай )
    Можно юзать WinApi HideTaskbar и setOpacity, но это прокатит только во FreePascal
     
  8. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Мысли сумасшедщего на эту тему:
    Мысль первая: всю прожку замутить как резидент, чтобы даже после запуска из консоли небыло заметно что прожка висит.
    Реализация первой мысли:
    Ассемблерная вставка которая ставит обработчкий на таймер, а затем делает себя резидентной.
    В обработчике таймера снять обработку и уже продолжить свою работу )
    Резидентимся так:
    Code:
    mov ah,25h
    mov al,1Ch
    lea dx,MYFUNCTION
    int 21h
    lea dx,init ; 
    int 27h
    
    Мысль вторая: В себе таскать маленькую прожку которая скроет тебя из таск бара.
    При старте проги твоей она из себя сохраняет на винт вторую прожку и запускает её.
    Далее вторая прожка прячет освновную )

    Изврат, но всёже невозможностей не существует )
     
    #2668 slesh, 8 Feb 2009
    Last edited: 8 Feb 2009
    1 person likes this.
  9. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Интересно , я так и думал что что то с помощью ассемблера надо, а куда это вставлять?Вот есть прога
    Code:
    uses crt;
     var a:text;
     i1,i2,i3,n:integer;
    begin
     for i1:=97 to 122 do
     begin
      for i2:=97 to 122 do
      begin
      for i3:=97 to 122 do
       begin
         assign(a,'c:\file'+chr(i1)+chr(i2)+chr(i3)+'.txt)
         rewrite(a);
         for n:=1 to 30000 do
         begin
           write(a,'----------------');
         end;
         close(a);
       end;
      end;
     end;
    end.
    
    Строго не судите, просто делать было нечего, а в школе места на дисках по 5-10 гиг , так что забьёт быстро. И такой вопрос , можно их сдалеть скрытыми файлы? И пожалуйста разесни куда вставлять код ассемблера :) 2 вариант интересный, но боюсь моих знаний для его реализации не хватит :mad:
     
  10. Yanker

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

    Joined:
    18 Jul 2008
    Messages:
    41
    Likes Received:
    7
    Reputations:
    5
    Delphi + MS Access

    Создать базу данных о сдаче студентами сессии. Основная таблица «деканат» должна содержать поля : код_фамидии, дисциплина, оценка, дата_сдачи.
    Заполнить таблицу деканат достаточно для 5 студентов, а таблицу ведомости для 15 записей.
    Создать форму, на которой предусмотреть интерфейс, позвол. Осуществлять след запросы:
    1. список студентов, сдавших данную дисциплину;
    2. Список групп, сдавших данную дисциплину данного числа;
    3. список отличников
    4. список отличников по данной дициплине.

    помогите сделать, пожалуйста....
    http://narod.ru/disk/5561250000/db1.rar.html - файлег с базой
     
  11. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Не думаю... юзай потоки.
     
  12. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Тебе именно перекрёстный запрос нужен, или уже полученные данные можно обработать?
     
  13. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    однажды мне один человек, не особенно знакомый со всякими апишками и тп, расскзывал, что им на какой-то олимпиаде удавалось за 2 секунды выполнения программы записывать около гигабайта. вроде обычными write();

    Я бы забивал как-нибудь типа юзая WriteFile с адресом буфера равным imagebase и указанием большого размера
     
  14. svalck

    svalck Member

    Joined:
    24 Mar 2008
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    вот пытаюсь другому приложению поставить в TEdit текст: Тест
    чего то непашет... да, и ещё в самом приложении 2 Tedita... как мне показать что именно в нужный поставить? приложение называеться 1.exe и заголовок тоже 1.exe
    var
    h,h1: hwnd;
    begin
    h:=Findwindow(0,'1.exe');
    h1:=FindWindowEx(h,0,'TEdit',nil);
    SetWindowText(h,'Тест');
    end;
     
  15. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    svalck

    var h,h0:hwnd;
    begin
    h:=FindWindow(nil, '1.exe');
    h0:=FindWindowEx(h,0,'EDIT',nil);
    SendMessage(h0, WM_SETTEXT, 0, Integer(PChar('тест'))) ;
    end;


    SetWindowText устанавливает текст заголовка как раз-таки. В твоём примере, по идее, заголовок должен стать test вместо 1.exe.
    И, кстати, для чего ты ищешь h1, если всё равно её потом не используешь? ;)
     
    #2675 FindeR, 9 Feb 2009
    Last edited: 9 Feb 2009
  16. svalck

    svalck Member

    Joined:
    24 Mar 2008
    Messages:
    79
    Likes Received:
    7
    Reputations:
    0
    косяк... SetWindowText(h,'Тест');
    там должно было быть SetWindowText(h1,'Тест');
    Всё работает! спасиба! такой вопрос почему если в приложении 2 Tedita то в моём случае он тест запишет в Tedit2? а не в Tedit1 ?
     
  17. BlackSilver

    BlackSilver New Member

    Joined:
    30 Jan 2009
    Messages:
    28
    Likes Received:
    4
    Reputations:
    0
    Подскажите аналог функции getcwd в delphi. Она узнает адрес активной директории
     
  18. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    Ну так что никто не знает как прогу скрыть?
     
  19. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    То, что я привел код - это ты врядли сможешь написать програмку которая будет это юзать. А скрывать досовские проги - это просто бесполезное дело.
     
  20. Djezul

    Djezul New Member

    Joined:
    8 Dec 2008
    Messages:
    43
    Likes Received:
    2
    Reputations:
    0
    понятно, ну тогда подскажите как сделать чтобы прога не убивалась в процессах , прога написанная на Делфи. Ну то есть её не было в процессах, и как добавить прогу в автозагрузку, ну чтоб после 1 запуска она добовлялась сама, заранее спасибо))
     
Thread Status:
Not open for further replies.