![]() |
![]() |
![]() |
|
Delphi 7 функция Random | ☑ | ||
---|---|---|---|---|
0
sky_ol
22.02.08
✎
11:05
|
подскажите как в делфи 7 сделать random ...нужно,чтобы в произвольном порядке по кнопке выводились имя,фамилия,отчество
|
|||
1
mikecool
22.02.08
✎
11:06
|
смотри справку по randomize
|
|||
2
sky_ol
22.02.08
✎
11:07
|
как-то не совсем понятно.. мне лучше на примере показать..
|
|||
3
Митор
22.02.08
✎
11:07
|
Ну насколько я помню создавай массив, выбирай строку массива randomize
ЗЫ Правда давно это было |
|||
4
Hadgehogs
22.02.08
✎
11:08
|
ППЦ
var a:byte; Randomize(); a:=Random(10); |
|||
5
sky_ol
22.02.08
✎
11:09
|
да это понятно..но у меня какие-то ошибки выдает...
и тип должен быть string...и перебор слов..это сделано..а потом хня какая-та |
|||
6
vde69
22.02.08
✎
11:11
|
(5)так счас телепат бот придет и ответит
|
|||
7
Безработынй
22.02.08
✎
11:14
|
Ну код выложи сюда посмотрим чё ты там наваяла
|
|||
8
wHammer
22.02.08
✎
11:14
|
На мастерах дельфи спроси, а то как-то не по профилю )
|
|||
9
Hadgehogs
22.02.08
✎
11:16
|
ППЦ
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var a:byte; begin a:=random(3); case a of 0: Caption:='Иванов'; 1: Caption:='Медведев'; 2: Caption:='Сидоров'; end; end; begin Randomize; end. |
|||
10
Hadgehogs
22.02.08
✎
11:18
|
Если компилятор ругнется на первую строку кода - это клиника.
Даже фотки не надо. |
|||
11
sky_ol
22.02.08
✎
11:18
|
//это мой последний бред))))
var Form1: TForm1; Edit1{.Text}:array [1..4] of String = ('Иванов', 'Петров', 'Сидоров', 'Яковлев'); Edit2{.Text}:array [1..4] of String = ('Иван', 'Сергей', 'Петр', 'Павел'); Edit3{.Text}:array [1..4] of String = ('Петрович', 'Иванович', 'Александрович', 'Сергеевич'); implementation uses Unit4; {$R *.dfm} procedure TForm1.Button5Click(Sender: TObject); begin for i:=1 to 4 do Edit1(i) := Random(4); Edit2(i) := Random(4); Edit3(i) := Random(4); end; |
|||
12
MMF
22.02.08
✎
11:21
|
(11) клиника
|
|||
13
Безработынй
22.02.08
✎
11:21
|
Начнем с этого
Edit1(i) := Random(4); Рандом возвращает число, а в эдите строка. |
|||
14
sky_ol
22.02.08
✎
11:22
|
и как тогда надо сделать?
|
|||
15
kot_bcc
22.02.08
✎
11:23
|
(10) Так я не понял, что в (9) не работает? Кстати - random вроде вещественная...
|
|||
16
sky_ol
22.02.08
✎
11:23
|
нет..вы мне про (11) скажите..что там менять и как
|
|||
17
Андрюха
22.02.08
✎
11:23
|
(11) Что это было?
|
|||
18
kot_bcc
22.02.08
✎
11:24
|
+(15) Я в том смысле, что компилятор, может, ругается просто?
|
|||
19
sky_ol
22.02.08
✎
11:24
|
часть кода...
как там правильно поменять? |
|||
20
MMF
22.02.08
✎
11:26
|
FIO := Edit1[round(Random(High(Edit1)))]
+ ' ' + Edit2[round(Random(High(Edit2)))] + ' ' + Edit3[round(Random(High(Edit3)))] |
|||
21
kot_bcc
22.02.08
✎
11:28
|
(19) это не часть кода. Это одна большая ошибка. Полный текст модуля нужен
|
|||
22
sky_ol
22.02.08
✎
11:33
|
//вот..и.после объявления массива надо вставить правильно функцию Random
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; Button5: TButton; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; Memo1: TMenuItem; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Memo2: TMemo; procedure Button5Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Edit1{.Text}:array [1..4] of String = ('???????', '??????', '??????', '???????'); Edit2{.Text}:array [1..4] of String = ('????', '??????', '????', '?????'); Edit3{.Text}:array [1..4] of String = ('????????', '????????', '?????????', '?????????????'); implementation uses Unit4; {$R *.dfm} procedure TForm1.Button5Click(Sender: TObject); begin end; writeln(FIO); procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; procedure TForm1.N7Click(Sender: TObject); begin AboutBox1.ShowModal; end; procedure TForm1.N6Click(Sender: TObject); begin close; end; end. |
|||
23
Андрюха
22.02.08
✎
11:34
|
Edit1{.Text}:array [1..4] of String - готично
|
|||
24
Ненавижу 1С
гуру
22.02.08
✎
11:34
|
(0) все, пятница, это твое первое творение на Делфи?
|
|||
25
sky_ol
22.02.08
✎
11:35
|
(23)...а чо там надо?
|
|||
26
Hadgehogs
22.02.08
✎
11:35
|
(23) а почему бы и нет?
|
|||
27
sky_ol
22.02.08
✎
11:35
|
(24)..ага
|
|||
28
Hadgehogs
22.02.08
✎
11:36
|
В общем задачу обрисуйте
|
|||
29
MMF
22.02.08
✎
11:37
|
Edit1.Text := Edit1[round(Random(High(Edit1)))];
Edit2.Text := Edit2[round(Random(High(Edit2)))]; Edit3.Text := Edit3[round(Random(High(Edit3)))]; идентификаторы - жесть |
|||
30
Андрюха
22.02.08
✎
11:37
|
Edit1: TEdit;
|
|||
31
sky_ol
22.02.08
✎
11:38
|
(28)ФИО нового сотрудника должно формироваться в результате случайной комбинации заранее предопределенного набора фамилий, имен и отчеств (минимум по 5 различных значений)
|
|||
32
Ненавижу 1С
гуру
22.02.08
✎
11:39
|
(26) а как вяжется с этим?
Edit1.Text := ''; |
|||
33
Hadgehogs
22.02.08
✎
11:40
|
Если есть Петров Иван Денисыч, может быть
Петров Игорь Денисыч? |
|||
34
MMF
22.02.08
✎
11:41
|
(32) компилятор схавает Edit1.Text := Edit1[, поскольку увидит индексированный доступ. Но как же больно будут бить автора старшие товарищи за такой код
|
|||
35
kot_bcc
22.02.08
✎
11:43
|
(22) Красиво:)))
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton; Button3: TButton; Button5: TButton; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; Memo1: TMenuItem; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Memo2: TMemo; procedure Button5Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Edit1:array [1..4] of String = ('Иванов', 'Петров', 'Сидоров', 'Яковлев'); Edit2:array [1..4] of String = ('Иван', 'Сергей', 'Петр', 'Павел'); Edit3:array [1..4] of String = ('Петрович', 'Иванович', 'Александрович', 'Сергеевич'); implementation uses Unit4; {$R *.dfm} procedure TForm1.Button5Click(Sender: TObject); var n:byte; begin try n=random(10); except Randomize;end; self.Edit1.Text:=Unit1.Edit1[round(random(high(Unit1.Edit1)))] self.Edit2.Text:=Unit1.Edit2[round(random(high(Unit1.Edit2)))] self.Edit3.Text:=Unit1.Edit3[round(random(high(Unit1.Edit3)))] end; //writeln(FIO); procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := ''; Edit2.Text := ''; Edit3.Text := ''; end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; procedure TForm1.N7Click(Sender: TObject); begin AboutBox1.ShowModal; Randomize; end; procedure TForm1.N6Click(Sender: TObject); begin close; end; end. |
|||
36
Hadgehogs
22.02.08
✎
11:45
|
(34) Ага, согласен, схавает...
Область видимости у переменных разная. Бить, долго бить. Хм, девушка, ну девушку можно и по другому... покарать. К плите, и не шагу к компьютеру! |
|||
37
tsr
22.02.08
✎
11:45
|
(9) Ругается на первую строчку кода
ППЦ |
|||
38
kot_bcc
22.02.08
✎
11:45
|
(37) Не настроил среду.
|
|||
39
Hadgehogs
22.02.08
✎
11:46
|
Там в (10) пояснение
|
|||
40
Ненавижу 1С
гуру
22.02.08
✎
11:47
|
(34) не схавал, только что проверил Delphi 7
var Edit1:array of string; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=Edit1[0]; //ругается: у класса нет индексированного свойства по умолчанию end; надо тогда писать так: Edit1.Text:=Unit1.Edit1[0]; |
|||
41
tsr
22.02.08
✎
11:47
|
(38) Не, там видимо в коде ошибка. Должно быть ПИПЕЦ
|
|||
42
Hadgehogs
22.02.08
✎
11:48
|
Блин, вот умеют же люди. Чую, ветка под сто будет. Я же вот спрошу чего - нибудь - молчат! Я не сексапилен?
|
|||
43
Андрюха
22.02.08
✎
11:49
|
(0) А что мешает просто завести массив или TStrings и тупо от туда дергать фамилии рандомом?
|
|||
44
Ненавижу 1С
гуру
22.02.08
✎
11:50
|
(42) ты наверное по 1С спрашиваешь, ты по Delphi или С++ спроси
|
|||
45
kot_bcc
22.02.08
✎
11:51
|
(41) Не настроил, говорю. Лицензионный русифицированный Дельфи 7 для фрибсд. Меню "Настройки-Главные-Общие-Специальные". Ставим галку напротив "Threat Free Pascal modules as aliens". Все работает.
|
|||
46
MMF
22.02.08
✎
11:51
|
(36) кто девушка-то? у аффтара мужжжжской пол в карточке
(35) self.Edit1.Text:=Unit1.Edit1[round(random(high(Unit1.Edit1)))] - тоже готично, ты из индусских програмеров что ли? чем больше буков, тем выше оплата? Ну и напоследок Edit1[int(random(high(Edit1))) + Low(Edit1)] поскольку Edit1{.Text}:array [1..4] |
|||
47
Митор
22.02.08
✎
11:53
|
(46) был женский, это наверное что-бы фотку не давать поменял(а)
|
|||
48
Hadgehogs
22.02.08
✎
11:54
|
(46) Бл$ буду, девушкой была... Показалось. Не, я не мог стоко выпить. Мужики, ну вы меня знаете, я не такой...
|
|||
49
kot_bcc
22.02.08
✎
11:56
|
(46) на (35)
1 - китаец 2 - про +1 забыл, я ж говорю, китаец 3 - "Unit1." я бы оставил, а вдруг заплатят?:)) |
|||
50
sky_ol
22.02.08
✎
12:43
|
(35) ругается на self
|
|||
51
sky_ol
22.02.08
✎
12:49
|
(35) все нормально.. точка с запятой не поставлены были в конце строк.. тех 3-х..
а почему этот рандом в имени иногда пустое значение ставит? |
|||
52
sky_ol
22.02.08
✎
12:49
|
т.е. в фамилии
|
|||
53
Hadgehogs
22.02.08
✎
12:54
|
Я бы посоветовал все ресурсы хранить (ФИО) хранить, скажем в ini файлах. И читать из него.
Модуль IniFiles смотрите |
|||
54
sky_ol
22.02.08
✎
12:55
|
ага..посмотрим..
|
|||
55
Ненавижу 1С
гуру
22.02.08
✎
13:04
|
(50) ты на (24) ответишь? и посмотри пост (40)
|
|||
56
kot_bcc
22.02.08
✎
14:44
|
(51),(52) Уже в (46) меня поправили
надо вместо self.Edit1.Text:=Unit1.Edit1[round(random(high(Unit1.Edit1)))] self.Edit2.Text:=Unit1.Edit2[round(random(high(Unit1.Edit2)))] self.Edit3.Text:=Unit1.Edit3[round(random(high(Unit1.Edit3)))] вставить self.Edit1.Text:=Unit1.Edit1[int(random(high(Unit1.Edit1)))+1]; self.Edit2.Text:=Unit1.Edit2[int(random(high(Unit1.Edit2)))+1]; self.Edit3.Text:=Unit1.Edit3[int(random(high(Unit1.Edit3)))+1]; |
|||
57
sky_ol
23.02.08
✎
23:29
|
(55) на пост (24)..ответ был положительный..см.выше..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |