[ 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. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32

    Это уже не калькулятор получается, точный расчет главное, ну ты понел...
     
  2. root_sashok

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

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    Между repeat и until должно идти тело цикла.

    Вот правильный код калькулятора:

    Code:
    program calc; {кстати, program можно и не писать}
    uses crt; {это нам для очищения экрана}
    label 1;  {для перехода к началу}
    var a,b:integer; {числа} c:char; {проверка повтора, знака счета}
    s:real; {real, т.к присутствует деление} 
    begin   
    1: clrscr;    {очистка экрана}
         writeln('введите 1 число');       
         readln(a);       
         writeln('введите 2 число');       
         readln(b);      
         writeln('введите знак действия');       
         readln(c); 
         case c of {проверка введенного}           
             '+' : s:=a+b;           
              '-' : s:=a-b;           
             '*' : s:=a*b;           
              '/' : s:=a/b;       
         end;       
         writeln('ответ с точностью до двух цифр: ',s:4:2); 
         {:2 - кол-во цифр после запятой, используется для деления}       
         writeln ('хотите сосчитать еще раз? Y/N'); 
    	 readln (c); 
    	 if c='Y' then goto 1 {переходим к началу} else 
    	 if c='N' then writeln ('для выхода нажмите любую клавишу...'); 
    {просто продолжение}
    readln; {ожидание пустого ввода}
    end.
    
     
  3. alexey-m

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

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Это не я integer указывал, а лишь показал, где ошибка и как правильней делить будет с integer
     
  4. 2kill

    2kill Elder - Старейшина

    Joined:
    4 May 2008
    Messages:
    27
    Likes Received:
    8
    Reputations:
    0
    Delphi/Pascal
    -----------------------------
    на DIV и MOD
    Присвоить переменной z первую цифру из дробной части действительного числа r.

    я чутка не трезвый и сообразить не могу =(
     
  5. utiputi

    utiputi New Member

    Joined:
    22 May 2009
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    и я не трезвый :)
     
  6. root_sashok

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

    Joined:
    4 Aug 2008
    Messages:
    389
    Likes Received:
    573
    Reputations:
    102
    Значит так, DIV - деление нацело. Для этого переменную типа Real можно и не брать. А вот "/" - это математическое деление, оно требует вещественного типа Real, и, дабы не выводить 100500 знаков после запятой, существует сокращение. Понятно объяснил? И хватит оффтопить в теме.
     
  7. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1
    Подскажите кто работал с потоками в делфи!

    на форме есть http1

    Сначала делал програму в одном основном потоке

    http1.get - работало норм.

    Решил переделать программу в 5 потоков

    Когда в первом потоке вызваю resp.text:=http1.get('sait.ru');

    Компилятор говорит Warring переменая resp может быть не инициализирована.
    Маркер указывает на строчку с resp.text:=http1.get('sait.ru');
    И все встает колом :(

    Посоветуйте по этому поводу что нибуть?
     
  8. Пуховой

    Joined:
    25 Nov 2007
    Messages:
    46
    Likes Received:
    37
    Reputations:
    0
    Code:
    form1.resp.text := http1.get ('sait.ru');
    А вообще, для каждого потока советую отдельный объект http создавать. Также не забудьте про синхронизацию потоков.
     
    1 person likes this.
  9. RobKruzo

    RobKruzo New Member

    Joined:
    6 Nov 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. В общем у меня к вам просьба о помощи. Сам я не очень ещё и опытен в Delphi, самоучка, учился на электронных учебниках и немного понял основы делфи. Мне в общем нужно сделать проект и я решил написать видеоплеер. Застрял вот на чем:

    1) Не могу написать временную шкалу
    2) Не получается написать регулировку громкости к проигрывателю
    3) Не знаю как сделать полноэкранный режим медиаплеера.

    Помогите чем можете, научите дурака :)
     
  10. Sams

    Sams Member

    Joined:
    18 Apr 2009
    Messages:
    247
    Likes Received:
    70
    Reputations:
    17
    Ребята, помогите, все перерыл, нигде не могу найти.
    Есть-ли в компоненте IdHTTP какое нибудь свойство, которое определяет, занят в данный момент компонент или нет, ну то есть передает-ли он запрос и ждет ответа, либо уже закончил.
    P.S. Знаю, что сам по себе компонент глючный, и winsock лучше, и тем не менее нужен именно данный компонент.
     
  11. t04

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

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    посмотри модуль zlib
     
    1 person likes this.
  12. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Хм, а как ты собираешься раскодировать другой функцией, если у zlib свой алгоритм... :confused:
    У меня есть пример в нем 2 функции. 1-я принимает параметром поток данных (stream) и сжимает его. Ну и наоборот. Если подходит, могу кинуть. Подходит для сжатия данных любого формата.
     
  13. t04

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

    Joined:
    10 Jan 2007
    Messages:
    137
    Likes Received:
    40
    Reputations:
    8
    http://php.su/functions/?cat=zlib
    http://php.su/functions/?gzdeflate

    gzdeflate это функция из модуля zlib для php, алгоритмы одни и те же (даже в zlib для java micro edition).
     
  14. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Спасибо, не знал. Тогда Найтмеару подойдет?

    Code:
    uses ZLib;
    procedure TForm1.PackStream(Var sSrc: TMemoryStream);
    var UnknownPtr: pointer;
        NewSize: integer;
    begin
    sSrc.Position:=0;
     try
     CompressBuf(sSrc.Memory,sSrc.Size,UnknownPtr,NewSize);
     sSrc.clear;
     sSrc.Write(UnknownPtr^,NewSize);
     sSrc.Position:=0;
     finally
     FreeMem(UnknownPtr,NewSize);
     end;
    end;
     
    #4834 =Zeus=, 29 Nov 2009
    Last edited: 29 Nov 2009
  15. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    2Flenov
    Код выложи, и что конкретно не получается?

    PlaySound(Pchar('.\sounds\123.wav'),0,SND_ASYNC);
    Вот так правильно думаю будет
     
    #4835 h(f)ucker, 30 Nov 2009
    Last edited: 30 Nov 2009
  16. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    "Ресурс" - пленка полиэтиленовая, термоусадочная пленка
    Are u ponel?
    Я тебе пример привел а не сказал как именно сделать, но ещё раз повторю выложи код!
     
  17. RobKruzo

    RobKruzo New Member

    Joined:
    6 Nov 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Люди, может мне кто нибудь помочь то??
     
  18. seet09

    seet09 Banned

    Joined:
    25 Sep 2009
    Messages:
    1
    Likes Received:
    4
    Reputations:
    0
    Народ! У меня ламерский вопрос: как из файла *.pas слудать модуль *.dcu?
    Delphi 7
     
  19. ZdezBilYa

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

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    по идее при компиляции
     
  20. 0ldbi4

    0ldbi4 Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    264
    Likes Received:
    51
    Reputations:
    10
    Я понял о чем ты, зайди в дэлфи создай проект DLL и перетащи туда свой .pas файл потом нажми плэй и готово!
     
Thread Status:
Not open for further replies.