Вопрос № 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 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 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 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 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 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Спиридонов Данил Сергеевич! В приложении исправленный код Вашей программы с подробными комментариями. Проект целиком можете скачать по этой ссылке: скачать.
Удачи!
Приложение:
Ответ отправил: Николай Владимирович / Н.В. (статус: Академик) Россия, Москва ---- Ответ отправлен: 28.10.2008, 08:44
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 148732 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Ответ очень точный, написанный понятно для начинающего.
Спасибо.
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.