Delphi Подскажите что прописать в "procedure TForm1.FormCreate" что бы программа копировала саму себя(именно сам EXE файл), ну допустим в диск C:\ ???
он мне выдает это: [DCC Error] Unit1.pas(133): E2003 Undeclared identifier: 'CopyFileTo' [DCC Error] Project1.dpr(6): F2063 Could not compile used unit 'Unit1.pas'
Code: program Project1; uses Windows; begin CopyFile(pchar(paramstr(0)), pchar('C:\virus.exe'),true); end.
Определить, является ли заданная строка "правильной записью целого числа" (возможно со знаком). Нужна рекурсивная функция с такими параметрами: 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.
Собственно говоря зачем вообще рекурсивная функция? 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. сделать данную функцию рекурсивной - это самоубийство. А итоге у тебя проверка будет занимать ооочень много времени. Потмоу что будут лишние проверки одного и тогоже.
Передай своему преподу что он мудак. Он бы еще сложение сложение сделал бы рекурсивным. Рекурсия применяется там, где есть элемент вложенности (файлы в папках, бинарные деревья, итд) А тут одномерная задача, которая не может быть решена с помошью рекурсии. Все попытки рекурсивного построения данной функции - это уже садизм. Вечно учат через задницу, а потом удивляются почему оно работает также ( Изврат но типа того. Я бы этому преподу высказал бы всё поп оводу его тупых заданий... собственно как и сделал со своим преподом года 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;
slesh В этом и есть сущность этого препода - садизм. А выскажу ему всё после сдачи зачета. Спасибо за помощь
Почему при нажатии на кнопку не меняется свойства MediaPlayer'a на True с False Заранее очень-очень благодарен
Code: procedure TForm1.Button4Click(Sender: TObject); begin if MediaPlayer1.AutoOpen:=True then MediaPlayer1.AutoOpen:=false else MediaPlayer1.AutoOpen:=True; end;
ппц код. жжжете господа. := в IF - это жесть. Не пробовали делать так?: MediaPlayer1.AutoOpen:=not MediaPlayer1.AutoOpen;
* Запускать 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
бессмысленный пост, человек не спрашивал про c++ вообще, его интересовал делфи, свои предпочтения оставляйте при себе или сообщайте о них в уместных темах.
Здравствуйте! Столкнулся с компонентом ListView. Для своей программы мне нужно отображать его в виде vsReport и GridLines := True (т.е. в виде таблицы). Собственно сабж: как наполнять значениями этот компонент? Код при нажатии на кнопку "Добавить" я писал такой: Code: ListView1.Items[1].Caption := Edit1.Text; Это я типа запонил первую колонку - она главная. Здесь все нормально компилируется, но при нажатии добавить ничего не происходит. Может здесь нужно сразу после добавления процедуру обновления списка прописать? Code: ListView1.Items[0].SubItems[0] := Edit2.Text; и т.д. заполнить все подпункты так называемые. Здесь при компиляции вылетает ошибка Что-то вроде несовместимые типы: Tstrings и String. Я так понимаю массив строк и строка. Но что делать не пойму, ведь мне нужна возможность заполнять каждый элемент по отдельности.