Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.08.2008, 00:00
drkane drkane вне форума
Прохожий
 
Регистрация: 02.05.2008
Сообщения: 31
Репутация: 10
По умолчанию ф-ция случайного выбора

народ, кто нибудь пробовал эту процедуру:
Код:
var
  int   : Integer;
  i     : Integer;
begin
  ShowMessage('Первые 5 фиксированных чисел');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);  
    ShowMessage('int = '+IntToStr(int));
  end;
  Randomize;
  ShowMessage('');
  ShowMessage('Следующие 5 случайных чисел');
  for i := 1 to 5 do
  begin
    int := 1 + Random(100);   
    ShowMessage('int = '+IntToStr(int));
  end;
end;
переделать в функцию? объектная она работает замечательно, а в виде функции ну никак! 4 дня бьюсь, так изменю, этак изменю... ни в какую...
Ответить с цитированием
  #2  
Старый 21.08.2008, 00:10
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

А что у тебя не получается? Или что тебе нужно чтобы получилось? Уточни плиз
Ответить с цитированием
  #3  
Старый 21.08.2008, 02:31
drkane drkane вне форума
Прохожий
 
Регистрация: 02.05.2008
Сообщения: 31
Репутация: 10
По умолчанию

этот код - объектная процедура. я хочу переделать ее в ф-цию NumFunc(j:integer):integer где j допустим можно использовать как random(j). мне все равно где j там будет лишь бы заработало...
а в самой процедуре будет так
Код:
if NumFunc(10) = 5 then begin
примерно так
Ответить с цитированием
  #4  
Старый 21.08.2008, 02:37
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Чесно, либо я перепил пенного, либо хочу спать, но тебя я реально не понимаю))) Толком с расстановкой можешь объяснить?
Куда ты хочешь передавать функцию
Код:
NumFunc(j:integer):integer
???
И в какой процедуре должно быть так:
Код:
if NumFunc(10) = 5 then begin
???
Ответить с цитированием
  #5  
Старый 21.08.2008, 06:41
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
Randomize;
......
function CommonNumeric(var OutBuff:Array Of Byte):Byte;
var I:Byte;
begin
  For I:=1 To 5 Do
    OutBuff[I-1]:=1+Random(100);
  Result:=I;
end;
Usage this function
Код:
var Common:Array[0..4]Of Byte;
      Count,Index:Byte;
begin
  Count:=CommonNumeric(Common);
  For Index:=0 To Count-1 Do
    ShowMessage(IntToStr(Common[Index]));
end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 21.08.2008, 22:02
drkane drkane вне форума
Прохожий
 
Регистрация: 02.05.2008
Сообщения: 31
Репутация: 10
По умолчанию

M.A.D.M.A.N., я твой код пытался подогнать, но все аналогично не работает... вот как я хочу:
Код:
function randomall(i1:integer):integer;
var
  int: Integer;
begin
  randomize;
  begin
    int := 1 + Random(i1);
    result:= int;
  end;
end;

procedure privet(P:pchar);stdcall;

var
  s:string;
  int:integer;
begin
  s:= strpas(P);
  int:= randomall(strtoint(s));
  showmessage(inttostr(int));

end;
как мне переделать ф-цию?

Последний раз редактировалось drkane, 22.08.2008 в 00:16.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025