![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
Делаю я прогу в ней радиокнопка должна поменять название 42 раза, ну я беру считываю построчно из текстового файла строки , записываю в массив и элементи массива присваиваю имени кнопки.
Все хорошо, да что-то не выходит!!!! Помогите!?:;;"**( -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Да, точно, точку с запятой забыл поставить.....
Ну а если серьезно..... ты сказал, что присваиваешь имени радиокнопки, а ты попробуй присваивать не имени, а свойсву Caption.... -------------------- |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: 0 Всего: 10 |
Да я и так присваиваю Caption только нифига, пашет но при нажатии кнопки Кэпшн пропадает и самое странное когда несколько раз нажимаешь на кнопку(обычную, не радио которой я задаю эту программу) в кэпшене радиокнопки мигают строчни фаила, но только мигают на 0,1 секунды беспоряжочно вобщем бардак полный
-------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Если ты всё правильно сделал, то ошибки быть не должно... Покажи код...
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Я так понял, ты что то в этом роде хочешь? Я массив сделал, но что мешает из файла читать? |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Модератор: если хочешь чтобы тебе помогли, приведи отрывок кода, где по твоему мнению может скрываться ошибка
В конце концов, мы же не экстрасенсы, чтобы увидеть, что ты там написал.... -------------------- |
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 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; -------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Попробуй сделать так, и посмотри, что получиться:
я только добавил строчку ShowMessage(s1), после твоей строки radiobutton1.Caption:=s1; -------------------- |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
А может для этой задачи использовать ТStrings? Там есть и функция считывания из файла. Ну, впрочем, можешь делать как Vit сказал, только необязательно в массив записывать эти строки. И зачем цикл в цикле? Или я чего-то не догоняю? Если тебе надо именно 42 строки считать, так применяй for, если все до конца файла, то while not eof(f1) do .......
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Я одно не пойму, зачем в массив 42 раза заносить 42-ю строку
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
А ты хоть пробывал его запускать? Код то рабочий....все правильно заноситься....да вот только на экране не успевает обновляться.... (хотя код оптимизировать ох, как надо....) -------------------- |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Ну я бы предложил бросить на форму memo, и в массив заность через него, а к радиокнопке присваивать значения уже из массива, тогда можно это делать по нажатию кнопки...
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Хотя код дейсвительно корявый...
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Вовсе не обязательно, если у человека было написано 200 строк кода, а он решил опубликовать только значимые для данного вопроса строки - то вот и результат, я вполне допускаю, что в оригинале между каждыми 2мя приведенными строками был десяток других и смысл тогда в таком построении мог быть вполне очевидный. Собственно не в корявости дело, код рабочий, визуальный элемент не меняет заголовок только из-за не выполнения прорисовки (сообщений формой) -------------------- 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 |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
РАБОЧИЙ КОД? Vit, ты не прав... Данные файла массиву так не присваиваются, хотя я тоже поленился и сделал это через memo, но всё равно, непонятно чего он хотел записать в массив, но явно не содержимое файла, те решения которые ты с Pegas'ом ему дали, не уверен что таковыми являются, единственное что вы сделали - это дали задержку, чтобы было видно, что капшен радиокнопки меняется, не уверен, что это то что нужно... Плюс он не закрыл файл, понимаю что это не ошибка, но всё же недочёт... Не ты не Pegas, ведать, не пробовали запускать этот код, (хотя я, честно говоря, тоже его не запускал), но код НЕРАБОЧИЙ...
Ладно, не буде превращать топик во флейм, извените.... |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ну если кто-то ленится, то я нет - не надо меня обвинять в ленности, я взял этот код, откомпиллировал в Delphi5 - всё абсолютно рабочее, всё присваивается, в этом коде формально, ошибок нет! Если он у тебя не работает то хочу услышать конкретное мнение почему? Помимо общей корявости я вижу только 2 существенных прокола этого кода:
1) Не отслеживается конец файла (если файл содержит больше или меньше 42 строк, то он читать файл будет, но скорее всего не так как хотел автор) - но как я говорил - я не уверен что дополнительные операторы не были стёрты, вот я и не берусь судить правильность результата 2) нет application.processmessages - поэтому не прорисовывается заголовок RadioButton. 2Snick_Y2K: посмотри внимательно на код По поводу мемо - это тоже очень коряво и не всегда работает: 1) зачем использовать мемо, если для этих целей достаточно TStringList 2) Если файл например 1 гигабайт то ни в мемо ни в TStringList ты его не загрузишь, а вот построчно загрузить первые 42 строки в массив - запросто. -------------------- 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 |
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
В том то и дело, что в массив он грузит 42 раза 42-ю строку (как по твоему это может в двойном цикле нормально записаться), мемо я сам из-за лени вставил, первое что подруку подвернулось. При чем тут application.processmessages и RadioButton.Cарtion? Думаешь он хочет просто на время , чтобы посмотреть что присвоилось? Или он по событию нажатия кнопки хочет изменить капшен... Это мы можем узнать только из уст автора топика...
|
|||
|
||||
| dr.ZmeY |
|
|||
|
Политолог ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3892 Регистрация: 26.3.2002 Где: ..::STALINGRAD::. . Репутация: нет Всего: 60 |
Вот вариант без мемо:
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Snick_Y2K ты пожалуйста запусти код, который я в начале топика привел, и я думаю все твои вопросы разом снимуться....
-------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Первым делом, что я сделал, прежде чем отвечать и развивать эту тематику, так это скомпилировал и запустил этот код..... Вы Snick_Y2K меня поражаете...... Как Вы можете так уверенно говорить, что код нерабочий, даже если Вы не пробовали его запускать? Дам Вам одни совет (хотя и не люблю это делать в таких случаях), впредь не пускайтесь в дисскусии, прежде чем не удостоверитесь, что Вы правы.... В этот раз Вы просто выставили себя, не в самом лучшем, для себя свете..... -------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
МОДЕРАТОР: Надеюсь больше не будем превращать тему во флейм.... топики по поводу рабочего или нерабочего кода, а так же не относящиеся к заданному вопросу, впредь будут удаляться.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |