Привет!
У меня проблемка с делфи…
Короче вот:
…
const ang: string='массив';
…
if CheckBox1.Checked then
for d := 1 to StrToInt(SpinEdit2.text) do// SpinEdit2 это сколько раз делается массив
if CheckBox1.Checked then
for a := 1 to StrToInt(SpinEdit1.text) do//количество символов в генерируемом
Memo1.Text := Memo1.Text + ang[random(length(ang)+1)];
Но вводилось он не кучей а после каждого ввода на новой строчке…
Как это сделать?
И ешо к это му же михонизму…
Нада чтоб элемент Gauge1 отображал ход выполнения вышеизложенной операции.
memo1.Lines.Add() - написал на память так что проверь
на счет прогресс бара. В начале цикла пишешь вот так
ProgressBar1.Position:=0;
потом надо присвоить прогрессбару какой то максимальный результат (число).
потом вот так ProgressBar1.Position:=i; - тоесть после каждого прохода цикла прибавляет какое то n-ое число чтобы прогресс рос.
Объяснил на пальцах)) честно говоря сам плохо понял что написал, почитай доки там все есть
NeX, а после присваивания ProgressBar1.Position := i; надо тогда уж обязательно вызывать Application.ProcessMessages; , иначе никакого вывода не будет, обновление интерфейса имеет низкий приоритет выполнения..
[hidden] Application.ProcessMessages; это плохой тон в програмировании.Идет перезагрузка всего TApplication и резко падает снижение скорости работы тогоже цикла.
По теме могу сказать
Код:
Memo1.Lines.Add(ang[random(length(ang)+1)]);
Или
Memo1.Text := Memo1.Text + Ang[random(length(ang)+1)]+#13#10;
А с прогрессбаром так
Код:
Gauge1.MaxValue := StrToInt(SpinEdit1.text);
For i := 0 to StrToInt(SpinEdit1.text) -1 do begin
[Gauge1.Progress := i;
Memo1...
извините что так понятно обьяснил...(
что вы тут подсказали я все поробывал...
одно не правельно
сначало генерируется массив букв. пароль например... потом оно добовляется в мемо1 под строчкой 0, затем генерируется второе значение и записывается в строчку 1.....
а в вашем механизме оно записывается по буквам...
и с прогресс баром тож тромба он в конце остонавливается на 80-99 по разному... не доходя до 100.... ошибка в -1 его надо было убрать...
вот...
Memo1.Text := Memo1.Text + Ang[random(length(ang)+1)]ЗДЕСЬ СДЕЛАТЬ ENTER;
заранее спасибо!
не не то он генерирет правельно но с одиными знаками...
как бы обьяснить....
эта фигня похожа на генератор паролей... пароли генерируются в список...вот...
с прогресом усе ясно....
может лучше использовать ListBox1?