| 
			| 
					
						| TGrey[WoLf] | 
								|  | «  : 06-01-2007 03:53 »  |  | 
 
 Добрый день. Хочу спросить, как я могу осуществить 1 проект. У меня на форме расположены: 3 Lable, 1 Timer, 1 Button.И вот при нажатии на кнопку Lable->captions, должны изменяться на рызные числа(буквы), до тех пор, пока не будет нужная комбинация.
 Меня интерисует ,как ето осущевствить способом просто Rnd и Rnd из уже заданых чисел(букв).
 
 Сам я все сделал, кроме подстановки чисел(букв). Если можно подскажите по етой части.
 |  
						| 
								|  |  
								| « Последнее редактирование: 06-01-2007 08:34 от Finch » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Finch 
								СпокойныйАдминистратор    Offline 
								Пол:    
								Пролетал мимо
								
								
								
								
								
							 | 
								|  | « Ответ #1 : 06-01-2007 09:00 »  |  | 
 
 TGrey[WoLf], Я поменял название темы. Согласись,  что тот кто будет искать подобный вопрос. Тема "Помогите" ему ничего не даст при поиске. Из твоего путаного объяснения, я понял что тебе нужно из чисел, получаемых генератором, составлять какие либо комбинации знаков.  Ну первое, что приходит на ум: #include <stdlib.h>#include <stdio.h>
 #include <time.h>
 
 void SetRND(char ch[5]) // делаем комбинацию из 4 знаков
 {
 char kom[16]="asdlir13578cxmk";   //Тут твоя комбинация знаков
 for(int i=0; i<4; i++) ch[i]=kom[rand() % 15];
 ch[4]=0;
 }
 
 int main()
 {
 char ch[5];
 srand(time(0));
 SetRND(ch);
 printf("%s\n",ch);
 return 0;
 }
 |  
						| 
								|  |  
								| « Последнее редактирование: 06-01-2007 09:26 от Finch » |  Записан | 
 
 Не будите спашяго дракона.              Джаффар (Коша) |  |  | 
	| 
			| 
					
						| TGrey[WoLf] | 
								|  | « Ответ #2 : 07-01-2007 01:24 »  |  | 
 
 Да, действительно не поможет) В преть буду стараться называть темы, как положено.
 Но а всеже, как мне етот код использовать в обработчике кнопки?
 Мне же надо, чтоб после нажатия кнопки captions изменялись до определенного момента.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #3 : 07-01-2007 12:53 »  |  | 
 
 TGrey[WoLf], не понятно - тебе результат нужно получить, или эффект? |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| TGrey[WoLf] | 
								|  | « Ответ #4 :  08-01-2007 01:38 »   |  | 
 
 New=>Aplication На форму кидаю кнопку и 3 лейбла. В событиях кнопки захожу в событие OnClick и туда надо вписать код, чтобы лейблы генерировали разные числа.  Я б и сам сделал, но незнаю как в БСБ делать Rnd   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #5 : 08-01-2007 11:56 »  |  | 
 
 У тебя хелпов нет?Вроде бы rand() - ф-ия стандартная...
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| TGrey[WoLf] | 
								|  | « Ответ #6 : 09-01-2007 01:40 »  |  | 
 
 Rand() не действует.... И ни в 1 хелпе или книге неуказывалось, как делать случайные числа. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #7 : 09-01-2007 04:51 »  |  | 
 
 Вот простейший код в стройке, в таймере генерятся случайные числа: //---------------------------------------------------------------------------
 #include <vcl.h>
 #pragma hdrstop
 
 #include "Unit1.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init)
 #pragma resource "*.dfm"
 TForm1 *Form1;
 
 //---------------------------------------------------------------------------
 __fastcall TForm1::TForm1(TComponent* Owner)
 : TForm(Owner)
 {
 }
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::Button1Click(TObject *Sender)
 {
 randomize();
 Timer1->Enabled=TRUE;
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::Timer1Timer(TObject *Sender)
 {
 int r=random(100);
 Label1->Caption=IntToStr(r);
 if(r==50)
 Timer1->Enabled=FALSE;
 }
 //---------------------------------------------------------------------------
 
 //---------------------------------------------------------------------------
 
 #ifndef Unit1H
 #define Unit1H
 //---------------------------------------------------------------------------
 #include <Classes.hpp>
 #include <Controls.hpp>
 #include <StdCtrls.hpp>
 #include <Forms.hpp>
 #include <ExtCtrls.hpp>
 //---------------------------------------------------------------------------
 class TForm1 : public TForm
 {
 __published:   // IDE-managed Components
 TButton *Button1;
 TTimer *Timer1;
 TLabel *Label1;
 void __fastcall Button1Click(TObject *Sender);
 void __fastcall Timer1Timer(TObject *Sender);
 private:   // User declarations
 public:      // User declarations
 __fastcall TForm1(TComponent* Owner);
 };
 //---------------------------------------------------------------------------
 extern PACKAGE TForm1 *Form1;
 //---------------------------------------------------------------------------
 #endif
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #8 : 09-01-2007 08:30 »  |  | 
 
 Header File
 stdlib.h
 
 Category
 
 Math Routines
 
 Syntax
 
 #include <stdlib.h>
 int rand(void);
 
 Description
 
 Random number generator.
 
 rand uses a multiplicative congruential random number generator with period 2 to the 32nd power to return successive pseudo-random numbers in the range from 0 to RAND_MAX. The symbolic constant RAND_MAX is defined in stdlib.h.
 
 Return Value
 
 rand returns the generated pseudo-random number.
 Header File
 stdlib.h
 
 Category
 
 Math Routines
 
 Syntax
 
 #include <stdlib.h>
 void srand(unsigned seed);
 
 Description
 
 Initializes random number generator.
 
 The random number generator is reinitialized by calling srand with an argument value of 1. It can be set to a new starting point by calling srand with a given seed number.
 
 Return Value
 
 None.
 |  
						| 
								|  |  
								| « Последнее редактирование: 09-01-2007 08:31 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| TGrey[WoLf] | 
								|  | « Ответ #9 : 10-01-2007 01:36 »  |  | 
 
 Да, спасибо мне 1 хороший человек по ICQ помог. Вот только для быстрой генерации чисел он добавил  Randomize(); в __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
 {
 Randomize;
 }
И вот только вместо   Я писал   Еффект идет РНД до 9. В чем разница етих способов? |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| nikedeforest | 
								|  | « Ответ #10 : 10-01-2007 02:18 »  |  | 
 
 Функция Randomize() необходима. Она инициализирует генератор случайных чисел, вызов ее обязателен. Функция rand() - random number generator возвращает псевдо-случайное число в пределах от 0 до RAND_MAX. Значение RAND_MAX можешь поглядеть в подключаемой библиотеке.
 Оператор % возвращает остаток от деления. Чувствую, что необходимо пояснить, что такое остаток от деления. Поясню примерами, аннологию поймешь. На твоем примере
 256%10=6
 100%10=0
 32%10=2
 ////////
 256%100=56
 100%100=0
 32%100=32
 Этот оператор относится к синтаксису языка С, что говорит о том, что ты его плохо знаешь.
 Тебе здесь помогло кучу хороших человеков, но ты это увы не понял.
 
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ещё один вопрос ... |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #11 : 10-01-2007 04:55 »  |  | 
 
 В чем разница етих способов? rand - функция от Microsoft Random - от Borland, думаю на основе rand Random, думаю, несколько удобнее. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #12 : 10-01-2007 06:38 »  |  | 
 
 zubr, ошибаешься: rand() - ф-ия из стандартной библиотеки С. |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| zubr 
								Гость
 | 
								|  | « Ответ #13 : 10-01-2007 16:43 »  |  | 
 
 RXL, согласен, это меня заклинило. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| nikedeforest | 
								|  | « Ответ #14 : 11-01-2007 10:30 »  |  | 
 
 Дело в том, что он обе функции написал с большой буквы. Функции библиотек языка С с маленькойц пишутся. Может это обертки, которые в конечном итоге используют стандартную библиотеку? Я просто Билдер никогда не использовал, если что не так   |  
						| 
								|  |  
								|  |  Записан | 
 
 ещё один вопрос ... |  |  | 
	| 
			| 
					
						| TGrey[WoLf] | 
								|  | « Ответ #15 : 14-01-2007 02:08 »  |  | 
 
 Ну, а что вы хотите... Я только учусь! Поетому и задаю ети глупые вопросы(глупые для вас, поскольку вы уже знаете, как и что).Да, действительно random(x) мне больше по душе.
 А пишу большими буквами, не потому что незнаю, как писать, а потому что привык так писать.
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |