Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   У меня проблемка с делфи… (https://forum.antichat.xyz/showthread.php?t=24009)

Dmitriy507 15.09.2006 14:43

У меня проблемка с делфи…
 
Привет!
У меня проблемка с делфи…
Короче вот:

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 отображал ход выполнения вышеизложенной операции.

[hidden] 15.09.2006 14:52

Что-то я вопроса не понял.. А был ли мальчик? (с)

Если нужно сделать вывод с новой строки, то Memo1.Text := ...... + #10#13 попробуй.

Utochka 15.09.2006 16:14

Струдом понял че за хрень тебе нужна.

memo1.Lines.Add() - написал на память так что проверь

на счет прогресс бара. В начале цикла пишешь вот так
ProgressBar1.Position:=0;
потом надо присвоить прогрессбару какой то максимальный результат (число).
потом вот так ProgressBar1.Position:=i; - тоесть после каждого прохода цикла прибавляет какое то n-ое число чтобы прогресс рос.

Объяснил на пальцах)) честно говоря сам плохо понял что написал, почитай доки там все есть

[hidden] 15.09.2006 16:29

NeX, а после присваивания ProgressBar1.Position := i; надо тогда уж обязательно вызывать Application.ProcessMessages; , иначе никакого вывода не будет, обновление интерфейса имеет низкий приоритет выполнения..

А вот что за Gauge... нафига?

gemaglabin 15.09.2006 16:38

[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...


Dmitriy507 15.09.2006 21:01

извините что так понятно обьяснил...(
что вы тут подсказали я все поробывал...
одно не правельно
сначало генерируется массив букв. пароль например... потом оно добовляется в мемо1 под строчкой 0, затем генерируется второе значение и записывается в строчку 1.....
а в вашем механизме оно записывается по буквам...
и с прогресс баром тож тромба он в конце остонавливается на 80-99 по разному... не доходя до 100.... ошибка в -1 его надо было убрать...
вот...
Memo1.Text := Memo1.Text + Ang[random(length(ang)+1)]ЗДЕСЬ СДЕЛАТЬ ENTER;
заранее спасибо!

зы
всем кто помог в конце составлю плюсы!

[hidden] 15.09.2006 22:03

[ДУБЛЬ 2]

Memo1.Text := Memo1.Text + Ang[random(length(ang)+1)] + #10#13;

А как ты ProgressBar используешь? Как _именно_?

Кстати, а чем тебе не нравится метод Memo1.Lines.add('строка'); ?

Dmitriy507 16.09.2006 09:16

не не то он генерирет правельно но с одиными знаками...
как бы обьяснить....
эта фигня похожа на генератор паролей... пароли генерируются в список...вот...
с прогресом усе ясно....
может лучше использовать ListBox1?


Время: 16:40