[ 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. Uname-A

    Uname-A Elder - Старейшина

    Joined:
    19 Aug 2008
    Messages:
    73
    Likes Received:
    12
    Reputations:
    5
    Все разобрался вроде Я не правильно объявлял функции=)

    Вот так это должно выглядеть
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    type
    TBASS_Init = function(device: LongInt; freq, flags: DWORD; win: HWND; clsid: PGUID): Boolean; stdcall;
    TBASS_StreamCreateFile = function(mem: BOOL; f: Pointer; offset, length: Int64; flags: DWORD): DWORD; stdcall;
    TBASS_ChannelPlay = function(handle: DWORD; restart: BOOL): BOOL;  stdcall;
    var
      BASS_Init : TBASS_Init;
      BASS_StreamCreateFile : TBASS_StreamCreateFile;
      BASS_ChannelPlay: TBASS_ChannelPlay;
      DLLInstance : THandle;
      stream:TStream;
      mem: Pointer;
      Channel1:HWND;
    begin
      stream:=TResourceStream.Create(hinstance,PChar('doorup'),PChar('sounds'));
      GetMem(mem, stream.size);
      stream.Read(mem^, stream.Size);
      DLLInstance := LoadLibrary(PChar('bass.dll'));
      if (DLLInstance = 0) then
      begin
        MessageDlg('Невозможно загрузить DLL', mtError, [mbOK], 0);
        Exit;
      end;
      try
        @BASS_Init := GetProcAddress(DLLInstance, 'BASS_Init');
        @BASS_StreamCreateFile := GetProcAddress(DLLInstance, 'BASS_StreamCreateFile');
        @BASS_ChannelPlay := GetProcAddress(DLLInstance, 'BASS_ChannelPlay');
        if Assigned(@BASS_StreamCreateFile) and (Assigned(@BASS_ChannelPlay)) and (Assigned(@BASS_Init)) then
        begin
         if BASS_Init(-1, 44100, 0, Application.Handle, nil) then
         begin
         Channel1:=BASS_StreamCreateFile(true,mem,0,stream.Size,0);
         showmessage(IntToStr(Channel1));
         BASS_ChannelPlay(Channel1, true);  // timeisout
         end;
         end
        else
          MessageDlg('Не найдена искомая процедура!.', mtError,[mbOK], 0);
      finally
    //    FreeLibrary(DLLInstance); // если не закоментировать то звук воспроизводится рывками
      end;
    end;
     
    #4961 Uname-A, 16 Dec 2009
    Last edited: 16 Dec 2009
  2. Vasek13

    Vasek13 Banned

    Joined:
    13 May 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -5
    Помогите с прогой на паскале, короче через For вот че надо сделать
    For: S=1+5+9+...
    N=9

    Заранее спс
     
  3. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    Code:
    const
      n=3;
    var
      i:integer;
      k,s:integer;
    begin
      k:=1;
      for i:=1 to n do
        begin
          s:=s+k;
          k:=k+4;
        end;
      writeln (s);
    end.
    Элементарно.
     
  4. MAESTRO

    MAESTRO New Member

    Joined:
    15 Oct 2007
    Messages:
    14
    Likes Received:
    2
    Reputations:
    0
    Почему 3, а не 9?Возможно это очепятка=)
    И я бы добавил в конце Readln, чтоб все таки результат остался на экране=)
     
    #4964 MAESTRO, 16 Dec 2009
    Last edited: 16 Dec 2009
  5. SinatoR

    SinatoR New Member

    Joined:
    6 Nov 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    -10
    народ помогите плиз с пргой на оператор FOR
    P=0.1*0.5*0.9...("*" умножить)
    N=10
     
  6. Vasek13

    Vasek13 Banned

    Joined:
    13 May 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -5
    MAESTRO да это он опечатался ну с кем не бывает кто хоть немного в паскале понимает тот поймет что опечатка...
    Thenno а тебе огромное спс
     
  7. MAESTRO

    MAESTRO New Member

    Joined:
    15 Oct 2007
    Messages:
    14
    Likes Received:
    2
    Reputations:
    0
    Только что пару пастов выше разобран практически такой пример.
     
  8. SinatoR

    SinatoR New Member

    Joined:
    6 Nov 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    -10
    ну как я понимаю там просто во второй строчке ну где уже тело програмы там нужно в одном месте умножить вместо плюса
     
  9. Vasek13

    Vasek13 Banned

    Joined:
    13 May 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -5
    Тема называется задай вопрос, получи ответ и смысл так писать если ты практически не что не написал, если такой умный то сам напиши эту задачку на паскале...а не посты здесь набивай...
     
  10. MAESTRO

    MAESTRO New Member

    Joined:
    15 Oct 2007
    Messages:
    14
    Likes Received:
    2
    Reputations:
    0
    А посты здесь никто и не набивает, да согласен с тобой, что тема называется: "Задай вопрос, получи ответ", но вы же просите за вас полностью решать и выдавать готовые исходники, ленитесь даже готовый подобный пример переделать.
     
  11. TPAXTOP

    TPAXTOP New Member

    Joined:
    10 Dec 2009
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    парни, помогите...пожалуйста...Турбо Паскаль.
    укр)Дано матриці А та В цілих чисел, вивести їх у вигляді масивів. Сформувати та вивести третій масив С згідно умови варіанту:
    рус)Даны матрицы А и У целых чисел, вывести их в виде массивов. Сформировать и вывести третий массив С согласно условия варианта:
    варіант/вариант:
    C=А(в квадрате) + В(в степени T)
    Матрица А(m=3,n=3),В(m=3,n=3)
    в матрице С обчислить C(минимальное(min))
     
  12. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Хватит оффтопа и флуда!

    Code:
    PROGRAM FOR_INC;
    uses
        CRT;
    const
         n = 10;
    var
         tmp:         real;
         result:      real;
         i:           byte;
    begin
         clrscr;
         result := 1;
         tmp := 0.1;
         for i := 1 to n do
             begin
                  result := result * tmp;
                  tmp := tmp + 0.4;
             end;
         writeln('Result: ', result:2:2);
         readln;
    end.
    
     
  13. DimkO

    DimkO Banned

    Joined:
    16 Nov 2008
    Messages:
    28
    Likes Received:
    3
    Reputations:
    0
    вот что получилось:
    PS.знаю что лучше было бы min значение присваивать первому ел матрицы,но в данном случае и так прокатит,просто впадло было еще 1 цикл писать :D
     
  14. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Всем доброго времени суток. Нет ли у кого реализации шифрования текста по алгоритму AES с ключом 128 бит? Желательно с комментариями :rolleyes:
     
  15. TPAXTOP

    TPAXTOP New Member

    Joined:
    10 Dec 2009
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    Складіть програму для обчислення суми всіх трьохзначних чисел, кратних 25.
    rus:Составьте программу для вычисления суммы всех трехзначительных чисел, кратных 25.
    НА ПАСКАЛЕ,плз.
    написали уже раз, но как сказал препод это Дельфи..
    помогииите...
     
  16. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    Code:
    program PoraSamomuUchitsya;
    var
      i,k:integer;
    begin
      k:=0;
      i:=100;
      while i<=1000 do
        begin
          k:=k+i;
          i:=i+25;
        end;
      writeln (k);
    end.
    Самый оптимальный алгоритм, я думаю.

    Можешь же самостоятельно писать, пробуй и дальше сам, а то нечему ведь не научишься, честно.
     
    #4976 Thenno, 17 Dec 2009
    Last edited: 17 Dec 2009
  17. Vish

    Vish Banned

    Joined:
    12 Jun 2009
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    Ему нужно вообще то, чтобы выводилась сумма элементов делящихся на 25 :)

    А ты что сделал? Вот ему писали на делфи https://forum.antichat.ru/showthread.php?p=1753598#post1753598

    Вообще не пойму, в чём проблема переделать на паскаль? Делфи это и есть обджек паскаль

    Паскаль на компе не стоит, но вот, должно работать:
    Code:
    program PoraSamomuUchitsya;
    var
    a:array[1..1000] of integer;
    i,s:integer;
    begin
    for i:=1 to 900 do begin
    	a[i]:=99+i;
    	if a[i] mod 25=0 then begin
    	s:=s+a[i];
    	end;
    	end;
      writeln (s);
    end.
     
    #4977 Vish, 17 Dec 2009
    Last edited: 17 Dec 2009
  18. TPAXTOP

    TPAXTOP New Member

    Joined:
    10 Dec 2009
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    для тебя может и не проблема, а у нас было пропущено 10 лекций...тоесть было 6 лекций, и 16 лабораторных, кучу всего не объяснили...
     
  19. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    Я ему что требовалось, то и написал. Только в одном месте немного ошибся, признаю.

    Code:
    var
      i,k:integer;
    begin
      k:=0;
      i:=100;
      [COLOR=Red]while i<=999 do  // тут 999, а не 1000, как было [/COLOR]
        begin
          k:=k+i;
          i:=i+25;
        end;
      writeln (k);
    end.
    Просто это несколько другой алгоритм, вот и все. Посмотри повнимательней.

    P.S Мне твой способ кажется каким то... извращенским что ли. Можно проще, без ненужного геморроя с массивами.

    Code:
    var
      i:integer;
      k:integer;
    begin
      k:=0;
      for i:=100 to 999 do
        if i mod 25 = 0 then
          k:=k+i;
      writeln (k);
    end.
     
    #4979 Thenno, 17 Dec 2009
    Last edited: 17 Dec 2009
  20. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    Как на инди хттп сервере делфи можно реализовать поддержку пхп??
     
Thread Status:
Not open for further replies.