Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизЧисла Найти похожие ветки
← →
Mozgan (2006-09-03 10:51) [0]Всем привет!
Подскажите пожалуйста, как можно в Edit1 засунуть сгенерированные числа? На форме есть кнопка и Edit. Как сделать, чтобы вся длина едита заполнилась случайными числами?
Я начал работу вот так, но что-то дальше не получается :(
var i,j,f: integer;
begin
randomize;
f:=0;
for i:=0 to 10 do
begin
j:= random(10)+1;
for f:=0 to length(edit1.Text)do
Edit1.Text:=IntToStr(j+length(Edit1.Text));
end;
← →
SerJaNT © (2006-09-03 10:54) [1]Я думаю что надо сначала определить ширину одного символа, потом относительно ширины edit1 расщитать кол-во смиволов (edit1.width/SymbolWidth).
← →
Mozgan (2006-09-03 10:57) [2]Ширина мне не нужна. Шрифт и стиль значения не имеют. Мне просто для примера нужно :)
← →
DprYg © (2006-09-03 11:04) [3]
> Как сделать, чтобы вся длина едита заполнилась случайными
> числами?
> Ширина мне не нужна. Шрифт и стиль значения не имеют.
То есть получается, что тебе все равно сколько чисел в едите будет
написано?
← →
Mozgan (2006-09-03 11:09) [4]А.. понял о чем ты имеешь в виду. Извини.
Предположим, что 10 чисел (например: 5136978012).
Вот именно это мне и нужно сгенерировать. По сей момент копаю в коде - темнота. Не получается.
И ещё, может хранить во временную переменную типа string?
← →
DprYg © (2006-09-03 11:14) [5]Edit1.Text := "";
Randomize;
for i := 1 to 10 do
Edit1.Text := Edit1.Text + IntToStr(Random(10)); ?
← →
SerJaNT © (2006-09-03 11:15) [6]А еще проще контролировать кол-во символов еще до того как они появятся в edit1.
Например, так
randomize();
for i:=0 to 500 do begin
str := str + IntToStr(random(9));
if Length(str) > 10 then break;
end;
edit1.text := str;
примерно так.
← →
Mozgan (2006-09-03 11:17) [7]Вот блин! Все так просто а башка не соображает...
Спасибо тебе за помощь?
И один последний вопрос относительно темы.
Предположим нужно отдельно буквы сгенерить.
Нужно как я понимаю указать множетсво этх букв?
← →
SerJaNT © (2006-09-03 11:18) [8]Тут тебе поможет функция Chr(). Инфу смотри в справке.
← →
SerJaNT © (2006-09-03 11:20) [9]Ой, блин, не Chr, тебе же надо букву! Сорри. Да, тогда можно сделать массив и тоже рандомом из него извлекать символы.
← →
Mozgan (2006-09-03 11:24) [10]То есть так копать ты мне велишь, брат!
← →
SerJaNT © (2006-09-03 11:28) [11]Можно и так Edit1.Text := Chr(random(255));
но тогда могут появится не только буквы, но и спец символы, а если только буквы, то можно либо через массив, либо определенные диапазоны ASCII кодов.
← →
Mozgan (2006-09-03 11:32) [12]можно либо через массив
Покажи пожалуйста пример. Тема очень интересная для меня!
← →
DprYg © (2006-09-03 11:39) [13]Создаешь массив. Заполняешь символами(можно вручную). Генерируешь
случайное число(но чтобы не вышло за границу массива). И берешь элемент массива с этим номером. Все.
← →
SerJaNT © (2006-09-03 11:41) [14]примерно так:
var MyArray: array[0..9] of String;
...
randomize();
MyArray[0]:="А";
MyArray[1]:="Б";
...
MyArray[9]:="Р";
edit1.text := MyArray[random(9)];
← →
DprYg © (2006-09-03 11:41) [15]Вместо массива можно строку использовать
← →
DprYg © (2006-09-03 11:42) [16]
> var MyArray: array[0..9] of String;
?
← →
SerJaNT © (2006-09-03 11:43) [17]> ?
Что?
← →
Palladin © (2006-09-03 11:44) [18]
Function RandomStr(n:Integer):String;
const
a:String="abcdefghijklmnopqrstuvwxyz";
var
i,k:Integer;
Begin
k:=Length(a);
SetLength(Result,n);
For i:=1 to n Do Result[i]:=a[Random(k)+1];
End;
← →
SerJaNT © (2006-09-03 11:44) [19]Ну можно Char написать
← →
DprYg © (2006-09-03 11:53) [20]
> a:String="abcdefghijklmnopqrstuvwxyz";
Да, именно это я и имел ввиду в [15]
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.049 c