Вопрос № 148672: Добрый вечер Уважаемые эксперты! Помогите пожалуйста написать программу, можно в графическом режиме, суть программы в следующем: Для элемента массива с произвольным номером (вводится с клавиатуры, обеспечить контроль правильности вода) определить ...
Вопрос № 148696: Добрый вечер эксперты. Вопрос у меня такой: как сделать невидимыми иконки рабочего стола??? Если можно с примером. Заранеее спасибо....Вопрос № 148720: Здравствуйте уважаемые программисты, у меня есть такой вопросик: На форме расположен MediaPlayer1 и Label1, вопрос заключается в том, как бы мне сделать, чтоб при нажатии левой кнопки мыши на *.mp3, *.wav, и так далее у меня MediaPlayer1 стал бы п...Вопрос № 148732: Здравствуйте эксперты. Помогите мне разобраться в следующей задаче. Программа Delphi 8.0. Дана последовательность произвол
ьных целых чисел. Два массива. Ввести 30 проивольных чисел в Memo1. Определить в последовательности номера всех четных зна...
Вопрос № 148.672
Добрый вечер Уважаемые эксперты! Помогите пожалуйста написать программу, можно в графическом режиме, суть программы в следующем: Для элемента массива с произвольным номером (вводится с клавиатуры, обеспечить контроль правильности вода) определить является ли оно палиндромом. Палиндромом называется число, которое читается одинаково слева-направо и справа-налево Заранее благодарен.
Отвечает: Абельхарисов Руслан/Marked One
Здравствуйте, Пожидаев Сергей Сергеевич! Программу можете скачать URL >>здесь. В качестве массива я использовал StringGrid. По нажатию на кнопку Обновить изменяется кол-во столбцов на указанное в поле Кол-во элементов. Если стоит галочка в поле Заполнить случайными числами, то массив заодно заполнится случайными числами. Проверка осуществляется по нажатию кнопки Проверить(в этом случае номер элемента берется из текстового
поля, счет номеров начинается с 0). Оснавная функция это Check(), которая принимает в качестве аргумента целое число и возвращает true если число - Палиндром.
Код:
function TForm1.Check(const num: integer): boolean; var
Str, Str2: string; i: integer;
begin Str := IntToStr(num); Str2:=''; for i := Length(Str) downto 1 do Str2 := Str2 + Str; result := (Str = Str2); end;
Функция конвертирует число в строку. Затем это строка записывается в обратном порядке в другую переменную. Потом обе строки сравниваются и возвращается результат сравнения. Если строки равны, то числа Палиндромы. Для того чтобы можно было редактировать данные прямо в StringGrid'е
я установил свойство в [i]Object Inspector у StringGrid'а Options -> goEditing в true. Удачи!!!
Источник информации: http://www.delphisources.ru/pages/faq/base/show_hide_desktop_icons.html
Ответ отправил: Шичко Игорь (статус: Студент)
Ответ отправлен: 28.10.2008, 08:45
Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 148696 на номер 1151 (Россия) | Еще номера >>
Переслать WebMoney: руб.
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 148.720
Здравствуйте уважаемые программисты, у меня есть такой вопросик: На форме расположен MediaPlayer1 и Label1, вопрос заключается в том, как бы мне сделать, чтоб при нажатии левой кнопки мыши на *.mp3, *.wav, и так далее у меня MediaPlayer1 стал бы проигрывать песню , а Label1 показывал бы какой трек проигрывается. Заранее спасибо
Отвечает: Silent_Control
Здравствуйте, Ivanoff Seryojko! Как я понимаю, выборе файла. Тогда ставим на форму компонент OpenDialog1 и Button1. Два раза кликаем на Button1 и пишем следующий код: if opendialog1.execute then begin mediaplayer1.FileName:=opendialog1.FileName; label1.Caption:=mediaplayer1.FileName; mediaplayer1.Play; end; Этот код реализован именно для Диалога, но алгоритм остается тем же и не для него. Успехов!
--------- Луна светит всем: и злодеям, и жертвам))
Ответ отправил: Silent_Control (статус: 4-ый класс)
Ответ отправлен: 28.10.2008, 21:12
Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 148720 на номер 1151 (Россия) | Еще номера >>
Переслать WebMoney: руб.
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 148.732
Здравствуйте эксперты. Помогите мне разобраться в следующей задаче. Программа Delphi 8.0. Дана последовательность произвольных целых чисел. Два массива. Ввести 30 проивольных чисел в Memo1. Определить в последовательности номера всех четных значений и вывести найденный массив из четных чисел в Memo2. Определить количество элементов в полученном массиве и вывести в Label3. При решении не удается обработать массив.
implementation type TIntArray = array of integer; // массив динамический, мы можем хранить сколько угодно чисел {$R *.dfm} { Здравствуйте эксперты. Помогите мне разобраться в следующей задаче. Программа Delphi 8.0. Дана последовательность произвольных целых чисел. Два
массива. Ввести 30 проивольных чисел в Memo1. Определить в последовательности номера всех четных значений и вывести найденный массив из четных чисел в Memo2. Определить количество элементов в полученном массиве и вывести в Label3. При решении не удается обработать массив. } // функция разделяет строку на числа function SplitStringToInt(src,delim:String):TIntArray; var s:String; x,i,z:integer; begin z := Pos(delim,src)-1; if(z
<=1)then exit; s := Copy(src,1,z); src := Copy(src,z+2,length(src)); i := 0; while(s <> '')do begin SetLength(result,i+1); result[i] := StrToIntDef(s,0); inc(i); z := Pos(delim,src)-1; if z<= 0 then begin SetLength(result,i+1); result[i] := StrToIntDef(src,0); break; end; s := Copy(src,1,z); src := Copy(src,z+2,length(src));
end; end; //--------------- функция получает массив целых чисел--------------------------- function GetEvenNumber({в hint сохраним номера}var hint:String;a:TIntArray):TIntArray; var j,i,n:integer; begin j := 0; n := length(a); SetLength(result,n); for i:=0 to n-1 do begin if a[i] mod 2 = 0 then begin hint := Format('%s-%d',[hint,i]); SetLength(result,j+1); result[j
] := a[i]; inc(j); end; end; end; //------------------------------------------------------------------------------ procedure TForm1.Button1Click(Sender: TObject); var i,n:integer; s:String; ar:TIntArray; begin s := Trim(Memo1.Text); s := AnsiReplaceStr(s,#$D,' '); s := AnsiReplaceStr(s,#$A,''); if(length(s) <=0) then begin MessageBox(GetActiveWindow,'Не заполненны числа','Ошибка',MB_OK+MB_ICONSTOP);
Memo1.SetFocus; exit; end; ar := SplitStringToInt(s,' '); if(ar = nil) then exit else begin Memo2.Clear; s := ''; ar := GetEvenNumber(s,ar); Label3.Caption := Format('Четные элементы в следующих позияциях:'#13+'%s',[s]); n := length(ar); Label1.Caption := Format('Всего найдено четных элементов: %d',[n]); for i:=0 to n-1 do Me
mo2.Lines.Add(IntToStr(ar[i])); end; end;
procedure TForm1.Button2Click(Sender: TObject); begin Close; end;
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin if not (key in['.'..'9',' ']) then Key := #0; //запрет вводить не числа и пробел end; end.
--------- не получается там - где не пробуют
Ответ отправил: Виктор Пырлик (статус: Профессионал) Россия, Екатеринбург Тел.: 89043822027 ICQ: 490191733 ---- Ответ отправлен: 28.10.2008, 08:31
Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 148732 на номер 1151 (Россия) | Еще номера >>
Переслать WebMoney: руб.
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Спиридонов Данил Сергеевич! В приложении исправленный код Вашей программы с подробными комментариями. Проект целиком можете скачать по этой ссылке: скачать.
Удачи!
Приложение:
Ответ отправил: Николай Владимирович / Н.В. (статус: Академик) Россия, Москва ---- Ответ отправлен: 28.10.2008, 08:44
Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 148732 на номер 1151 (Россия) | Еще номера >>
Переслать WebMoney: руб.
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Ответ очень точный, написанный понятно для начинающего.
Спасибо.
Вы имеете возможность оценить этот выпуск рассылки. Нам очень важно Ваше мнение!
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.