Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 352
от 11.01.2006, 23:48

Администратор:Калашников О.А.
В рассылке:Подписчиков: 230, Экспертов: 53
В номере:Вопросов: 3, Ответов: 11


Вопрос № 32783: Здравствуйте, уважаемые эксперты! На форме расположены 4 кнопки с вот такими координатами: Left;Top 1 кнопка=8;104 2 кнопка=264;104 3 кнопка=8;136 4 кнопка=264;136 Как можно программно поменять их местами, в абсолютно случ...
Вопрос № 32786: Здравствуйте,уважаемые эксперты! Есть строка Str:= 'textX.dat', как поменять пятый символ(X) что бы он был случайно выбран из чисел: 0,1,2,3,4,5 и получилась например строка: Str:= 'text2.dat' или Str:= 'text0.dat'...
Вопрос № 32793: как правильно присваивать значение переменной reala x в Edit1.Text?...

Вопрос № 32.783
Здравствуйте, уважаемые эксперты!
На форме расположены 4 кнопки с вот такими координатами:
Left;Top
1 кнопка=8;104
2 кнопка=264;104
3 кнопка=8;136
4 кнопка=264;136
Как можно программно поменять их местами, в абсолютно случайном порядке?
Отправлен: 06.01.2006, 18:48
Вопрос задал: Клёмин Сергей (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Клёмин Сергей!

function RandomRange(const AFrom, ATo: Integer): Integer;

Case RandomRange(1,4) of
1 : Begin Btn1.Left := 8; Btn1.Top := 104; end;
2 : Begin Btn2.Left := 8; Btn2.Top := 104; end;
3 : Begin Btn3.Left := 8; Btn3.Top := 104; end;
4 : Begin Btn4.Left := 8; Btn4.Top := 104; end;
end;

Case RandomRange(1,4) of
1 : Begin Btn1.Left := 264; Btn1.Top := 104; end;
2 : Begin Btn2.Left := 264; Btn2.Top := 104; end;
3 : Begin Btn3.Left := 264; Btn3.Top := 104; end;
4 : Begin Btn4.Left := 264; Btn4.Top := 104; end;
end;

Case RandomRange(1,4) of
1 : Begin Btn1.Left := 8; Btn1.Top := 136; end;
2 : Begin Btn2.Left := 8; Btn2.Top := 136; end;
3 : Begin Btn3.Left := 8; Btn3.Top := 136; end;
4 : Begin Btn4.Left := 8; Btn4.Top := 136; end;
end;

Case RandomRange(1,4) of
1 : Begin Btn1.Left := 264; Btn1.Top := 136; end;
2 : Begin Btn2.Left := 264; Btn2.Top := 136; end;
3 : Begin Btn3.Left := 264; Btn3.Top := 136; end;
4 : Begin Btn4.Left := 264; Btn4.Top := 136; end;
end;

Это вчерне, наверное можно оптимизировать или найти другое решение
Но. для четырех кнопок СЛУЧАЙНО - это громко сказано
Ответ отправил: Архангельский Андрей Германович (статус: Студент)
Отправлен: 06.01.2006, 19:04
Оценка за ответ: 5

Отвечает: Ерёмин Андрей
Hello, Клёмин Сергей!
Это, в принципе, не очень трудно, но и не для новичков задачка... Пример в прикреплённом файле.

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Работа - не волк, а произведение силы на расстояние!

Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 06.01.2006, 19:15
Оценка за ответ: 5

Отвечает: Lexus
Здравствуйте, Клёмин Сергей!

Может быть вот это подойдет (если "поменять" означает поменять только координаты):

Приложение:

Ответ отправил: Lexus (статус: 1-ый класс)
Отправлен: 06.01.2006, 20:16


Вопрос № 32.786
Здравствуйте,уважаемые эксперты!
Есть строка Str:= 'textX.dat', как поменять пятый символ(X) что бы он был случайно выбран из чисел: 0,1,2,3,4,5 и получилась например строка:
Str:= 'text2.dat' или Str:= 'text0.dat'
Отправлен: 06.01.2006, 20:35
Вопрос задал: Клёмин Сергей (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Romodos
Здравствуйте, Клёмин Сергей!
var i:integer;
s,t:string;
begin
s:='textX.dat';
randomize;
i:=random(6);
t:=inttostr(i);
s[5]:=t[1];
Примерно так. Ну смысл должен быть понятен.
---------
FAQ me off!
Ответ отправил: Romodos (статус: Практикант)
Отправлен: 06.01.2006, 20:39
Оценка за ответ: 5

Отвечает: newinfo2005
Здравствуйте, Клёмин Сергей!
randomize;
edit1.text:='Text'+inttostr(random(6))+'.dat';
---------
"Спасибо" - нет такой валюты.
Ответ отправил: newinfo2005 (статус: 6-ой класс)
Отправлен: 06.01.2006, 21:46

Отвечает: Ерёмин Андрей
Здравствуйте, Клёмин Сергей!
Одной строкой:

Str[5]:=IntToStr(Random(6))[1];


---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 06.01.2006, 22:33

Отвечает: Diman_A
Здравствуйте, Клёмин Сергей!
С помощью random получаем случайное число, которое соответствует одному из символов '0'-'5', функцией char преобразуем число в сивол и заменяем пятый символ полученным.
procedure change;
var str:string;
begin
randomize;
str:='textx.dat';
str[5]:=chr(random(54-48)+48);
end;
Ответ отправил: Diman_A (статус: 2-ой класс)
Отправлен: 07.01.2006, 07:50

Отвечает: Schmak
Здравствуйте, Клёмин Сергей!
Можно вот так:
var str:string;
begin
str:='textX.dat';
Randomize;
str[5]:=inttostr(random(6))[1];
end;
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 07.01.2006, 10:03


Вопрос № 32.793
как правильно присваивать значение переменной reala x в Edit1.Text?
Отправлен: 06.01.2006, 22:13
Вопрос задал: Sassoft (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: newinfo2005
Здравствуйте, Sassoft!
var
a:real;
....
edit1.text:=floattostr(a);
....
---------
"Спасибо" - нет такой валюты.
Ответ отправил: newinfo2005 (статус: 6-ой класс)
Отправлен: 06.01.2006, 22:19
Оценка за ответ: 5
Комментарий оценки:
Блин,точно!!!!Как я не догодался!Спасибо

Отвечает: Ерёмин Андрей
Hello, Sassoft!
C помощью FloatToStr:

Edit1.Text:=FloatToStr(x);


---------
Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 06.01.2006, 22:31

Отвечает: Schmak
Здравствуйте, Sassoft!
Самое простое:
edit1.text:=floattostr(x);
Можно воспользоваться и функцией с большими возможностями floattostrf:
floattostrf(Value:extended;Format:TFloatFormat;Precision,Digits:integer):string;
Value-число
Format-формат числа, может принимать значения ffExponent, ffFixed, ffGeneral, ffNumber и ffCurrency
Precision,Digits- общее кол-во цифр в числе и кол-во цифр после запятой

---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 07.01.2006, 10:03


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное