Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> О радиокнопках, Пара вопросов о радиокнопках 
:(
    Опции темы
Georg4
Дата 15.12.2002, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 961
Регистрация: 2.11.2002

Репутация: 0
Всего: 10



Делаю я прогу в ней радиокнопка должна поменять название 42 раза,  ну я беру считываю построчно из текстового файла строки , записываю в массив и элементи массива присваиваю имени кнопки.
Все хорошо, да что-то не выходит!!!!
Помогите!?:;;"**(


--------------------
Никто и никогда не должен решать одну проблему дважды
PM MAIL ICQ   Вверх
Vit
  Дата 15.12.2002, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Типичная ошибка в 13й стоке программы.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Medved
Дата 15.12.2002, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Да, точно, точку с запятой забыл поставить..... :p

Ну а если серьезно..... ты сказал, что присваиваешь имени радиокнопки, а ты попробуй присваивать не имени, а свойсву Caption....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Georg4
Дата 17.12.2002, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 961
Регистрация: 2.11.2002

Репутация: 0
Всего: 10



Да я и так присваиваю Caption только нифига, пашет но при нажатии кнопки Кэпшн пропадает и самое странное когда несколько раз нажимаешь на кнопку(обычную, не радио которой я задаю эту программу) в кэпшене радиокнопки мигают строчни фаила, но только мигают на 0,1 секунды беспоряжочно вобщем бардак полный


--------------------
Никто и никогда не должен решать одну проблему дважды
PM MAIL ICQ   Вверх
dr.ZmeY
Дата 17.12.2002, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Если ты всё правильно сделал, то ошибки быть не должно... Покажи код...


--------------------
PM MAIL WWW ICQ Skype   Вверх
dr.ZmeY
Дата 17.12.2002, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Код

...
 private
   { Private declarations }
   rnd              : integer;
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
Const MeS: array [0..7] Of String = ('первый','второй',
                                  'третий','четвёртый',
                                  'пятый','шестой',
                                  'седьмой','ХВАТИТ :)');


{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
rnd:= random (3);
IF rnd= 2 then RadioButton1.Caption:=(mes[random(8)]);
end;
...


Я так понял, ты что то в этом роде хочешь? Я массив сделал, но что мешает из файла читать?


--------------------
PM MAIL WWW ICQ Skype   Вверх
Medved
Дата 18.12.2002, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Модератор: если хочешь чтобы тебе помогли, приведи отрывок кода, где по твоему мнению может скрываться ошибка

В конце концов, мы же не экстрасенсы, чтобы увидеть, что ты там написал....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Georg4
Дата 18.12.2002, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 961
Регистрация: 2.11.2002

Репутация: 0
Всего: 10



Код выглядит приблизительно так

procedure TForm1.Button1Click(Sender: TObject);
var
f1:textfile;
s1:shortstring;
i:integer;
b:array[1..42]of string;
 begin
assignfile(f1,'f1.txt.');
reset(f1);
while not eof (f1) do
for i:=1 to 42 do
   Begin
 readln(f1,s1);
 b[i]:=s1;
radiobutton1.Caption:=s1;
end;
end;


--------------------
Никто и никогда не должен решать одну проблему дважды
PM MAIL ICQ   Вверх
Medved
Дата 18.12.2002, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Попробуй сделать так, и посмотри, что получиться:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
   f1:textfile;
   s1:shortstring;
   i:integer;
   b:array[1..42]of string;
begin
   assignfile(f1,'f1.txt.');
   reset(f1);
   while not eof (f1) do
   for i:=1 to 42 do
       begin
           readln(f1,s1);
           b[i]:=s1;
           radiobutton1.Caption:=s1;
           ShowMessage(s1);
       end;
end;


я только добавил строчку ShowMessage(s1), после твоей строки radiobutton1.Caption:=s1;




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 18.12.2002, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Если в файле что-то есть то она у тебя и меняется, только прорисовываться ты ей не даёшь, попробуй так:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
 f1:textfile;
 s1:shortstring;
 i:integer;
 b:array[1..42]of string;
begin
 assignfile(f1,'f1.txt.');
 reset(f1);
 while not eof (f1) do
   for i:=1 to 42 do
     Begin
       readln(f1,s1);
       b[i]:=s1;
       radiobutton1.Caption:=s1;
       application.processmessages;
       sleep(300);
     end;
end;



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
neutrino
Дата 19.12.2002, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



А может для этой задачи использовать ТStrings? Там есть и функция считывания из файла. Ну, впрочем, можешь делать как Vit сказал, только необязательно в массив записывать эти строки. И зачем цикл в цикле? Или я чего-то не догоняю? Если тебе надо именно 42 строки считать, так применяй for, если все до конца файла, то while not eof(f1) do .......


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 19.12.2002, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Я не стал оптимизировать код, так как ясно что это просто кусок чего-то и многие строки просто удалены, но если это не так, то конечно же этот кон надо очень существенно переработать в плане оптимизации.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
dr.ZmeY
Дата 19.12.2002, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Я одно не пойму, зачем в массив 42 раза заносить 42-ю строку??? Присвоение данных в массив через двойной цикл, оригинально однако...


--------------------
PM MAIL WWW ICQ Skype   Вверх
Medved
Дата 20.12.2002, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата

Я одно не пойму, зачем в массив 42 раза заносить 42-ю строку Присвоение данных в массив через двойной цикл, оригинально однако...

А ты хоть пробывал его запускать? Код то рабочий....все правильно заноситься....да вот только на экране не успевает обновляться.... (хотя код оптимизировать ох, как надо....)




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
dr.ZmeY
Дата 20.12.2002, 06:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Политолог
****


Профиль
Группа: Участник Клуба
Сообщений: 3892
Регистрация: 26.3.2002
Где: ..::STALINGRAD::. .

Репутация: нет
Всего: 60



Ну я бы предложил бросить на форму memo, и в массив заность через него, а к радиокнопке присваивать значения уже из массива, тогда можно это делать по нажатию кнопки...
Код

procedure TForm1.Button1Click(Sender: TObject);
var
f1:System.Text; s1:shortstring;
i:integer; b:array[0..41]of string;
begin
assignfile(f1,'f1.txt');
reset(f1);
while not eof (f1) do begin
  readln(f1,s1);
  Memo1.Lines.Add(s1);
end; CloseFile(f1);
for i:=0 to 41 do begin
   b[i]:=Memo1.Lines[i];
end;

radiobutton1.Caption:=b[button1.Tag];
button1.Tag:= button1.Tag+1;
if button1.Tag>41 then button1.Tag:=0;
end;



--------------------
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.