[ 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. МongBa†

    МongBa† Member

    Joined:
    12 May 2009
    Messages:
    66
    Likes Received:
    12
    Reputations:
    0
    Было..
    http://forum.antichat.ru/showthread.php?p=1238884-%F4%E0%E9%EB+%E7%E0%ED%FF%F2#post1238884
     
  2. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    Delphi

    Подскажите что прописать в "procedure TForm1.FormCreate" что бы программа копировала саму себя(именно сам EXE файл), ну допустим в диск C:\ ???
     
  3. xaker-boss

    xaker-boss Elder - Старейшина

    Joined:
    6 Mar 2007
    Messages:
    251
    Likes Received:
    49
    Reputations:
    -11
    он мне выдает это:
    [DCC Error] Unit1.pas(133): E2003 Undeclared identifier: 'CopyFileTo'
    [DCC Error] Project1.dpr(6): F2063 Could not compile used unit 'Unit1.pas'
     
  4. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Code:
    program Project1;
    uses Windows;
    begin
     CopyFile(pchar(paramstr(0)), pchar('C:\virus.exe'),true);
    end.
    ;)
     
    1 person likes this.
  5. Agregat

    Agregat New Member

    Joined:
    15 May 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Определить, является ли заданная строка "правильной записью целого числа" (возможно со знаком). Нужна рекурсивная функция с такими параметрами:
    function IsCorrectIntegerValue(val:string):boolean
    Пытаюсь сделать рекурсию - не работает. Вот код без рекурсии:

    uses crt;
    function IsCorrectIntegerValue(val:string):boolean;
    var k:byte;
    begin
    k:=1;
    IsCorrectIntegerValue:=true;
    while k<=length(val) do
    begin
    if not(val[1] in ['-','0'..'9'])
    or((val[1]='-')and not(val[2] in ['1'..'9']))
    or((val[1] in ['0'..'9'])and not(val[k] in ['0'..'9'])) then
    begin
    IsCorrectIntegerValue:=false;
    break;
    end
    else
    k:=k+1;
    end;
    end;

    var s:string;
    begin
    clrscr;
    writeln('Введите число:');
    readln(s);
    if IsCorrectIntegerValue(s) then writeln('Является!')
    else writeln ('Не является!');
    readln;
    end.
     
  6. Agregat

    Agregat New Member

    Joined:
    15 May 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Извиняюсь, забыл вставить в код-тег. И язык - паскаль.
     
  7. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Собственно говоря зачем вообще рекурсивная функция?
    Code:
    function IsCorrectIntegerValue(val:string):boolean;
    var
     x:integer;
    begin
     result:=true;
     for x:=1 to length(val) do 
      if s[x] in ['0'..'9']=false then
       begin
        if (x=1) and (s[x]='-') then continue;
        result:=false;
        break;
       end;
    end;
    
    P.S. сделать данную функцию рекурсивной - это самоубийство. А итоге у тебя проверка будет занимать ооочень много времени. Потмоу что будут лишние проверки одного и тогоже.
     
    #3467 slesh, 23 May 2009
    Last edited: 23 May 2009
  8. Agregat

    Agregat New Member

    Joined:
    15 May 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Задание такое - сделать функцию рекурсивной
     
  9. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Передай своему преподу что он мудак.
    Он бы еще сложение сложение сделал бы рекурсивным.
    Рекурсия применяется там, где есть элемент вложенности (файлы в папках, бинарные деревья, итд) А тут одномерная задача, которая не может быть решена с помошью рекурсии. Все попытки рекурсивного построения данной функции - это уже садизм.
    Вечно учат через задницу, а потом удивляются почему оно работает также (

    Изврат но типа того. Я бы этому преподу высказал бы всё поп оводу его тупых заданий... собственно как и сделал со своим преподом года 4 назад ))
    Code:
    function IsCorrectIntegerValue(val:string):boolean;
    begin
     if val='' then result:=true
      else 
       if val[1] in ['0'..'9']=false then 
        result:=false 
      else result:=IsCorrectIntegerValue(copy(val,2,length(val)-1));
    end;
    
     
    1 person likes this.
  10. Agregat

    Agregat New Member

    Joined:
    15 May 2009
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    slesh
    В этом и есть сущность этого препода - садизм.
    А выскажу ему всё после сдачи зачета.
    Спасибо за помощь ;)
     
  11. _GlaD1aT(OR)_

    _GlaD1aT(OR)_ Elder - Старейшина

    Joined:
    24 Jul 2008
    Messages:
    38
    Likes Received:
    15
    Reputations:
    0
    Почему при нажатии на кнопку не меняется свойства MediaPlayer'a на True с False

    Заранее очень-очень благодарен :)
     
  12. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18

    Code:
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    if MediaPlayer1.AutoOpen:=True then MediaPlayer1.AutoOpen:=false else
    MediaPlayer1.AutoOpen:=True;
    end;
    
     
  13. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ппц код. жжжете господа.
    := в IF - это жесть.
    Не пробовали делать так?:
    MediaPlayer1.AutoOpen:=not MediaPlayer1.AutoOpen;
     
    1 person likes this.
  14. AHTOLLlKA

    AHTOLLlKA Member

    Joined:
    1 Feb 2005
    Messages:
    225
    Likes Received:
    35
    Reputations:
    22
    читай вопрос внимательней, ты дал совершенно не то..

     
  15. Nilamop

    Nilamop New Member

    Joined:
    6 Feb 2008
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    как проинсталить Delphi 7 на windows 7?
     
  16. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    * Запускать Delphi от имени Администратора.
    * Запускать Delphi в режиме совместимости с Windows XP SP2/SP3.
    * Удалить Windows 7 и установить Windows XP.
    * Удалить Delphi 7 и установить Delphi 2009

    http://transl-gunsmoker.blogspot.com/2009/03/delphi-windows-vista.html
     
  17. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    +1
    Только даже C++ Builder 2009
     
  18. LEE_ROY

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

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    бессмысленный пост, человек не спрашивал про c++ вообще, его интересовал делфи, свои предпочтения оставляйте при себе или сообщайте о них в уместных темах. ;)
     
  19. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Заморозить тред торента, залить файл, разморозить тред торента
    Пример:
    http://sderni.ru/34373
     
    1 person likes this.
  20. X-TAZY

    X-TAZY New Member

    Joined:
    20 Nov 2008
    Messages:
    22
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте! Столкнулся с компонентом ListView. Для своей программы мне нужно отображать его в виде vsReport и GridLines := True (т.е. в виде таблицы). Собственно сабж: как наполнять значениями этот компонент? Код при нажатии на кнопку "Добавить" я писал такой:
    Code:
    ListView1.Items[1].Caption    := Edit1.Text;
    
    Это я типа запонил первую колонку - она главная. Здесь все нормально компилируется, но при нажатии добавить ничего не происходит. Может здесь нужно сразу после добавления процедуру обновления списка прописать?
    Code:
    ListView1.Items[0].SubItems[0] := Edit2.Text;
    
    и т.д. заполнить все подпункты так называемые.
    Здесь при компиляции вылетает ошибка Что-то вроде несовместимые типы: Tstrings и String. Я так понимаю массив строк и строка. Но что делать не пойму, ведь мне нужна возможность заполнять каждый элемент по отдельности.
     
Thread Status:
Not open for further replies.