![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Подскажите пожалуйста в чем ошибка,вот описание проблемы:
Мне нужно создать в Делфи программу-тест которая считывает вопросы и ответы из типизированного файла, считываю вопросы загоняю их в Label и RadioButton первый вопрос и ответы вбиваются нормально,а при следующих присваиваниях часть техта "съедается" идет смещение на некоторое число позиций, Что делать? |
#2
|
|||
|
|||
![]() Пожалуйста помогите завтра с утра уже сдавать надо!!!!(((((((
|
#3
|
|||
|
|||
![]() код в студию.
А то ответ будет - ошибка в 255 строке... |
#4
|
|||
|
|||
![]() Весь код скинуть не смогу уже удалил эту часть в тексте программы. Напишу часть образца:
Код:
type student=record; vopros:string[200]; otvet1:string[30]; otvet2:string[30]; otvet3:string[30]; otvet4:string[30]; otvet:integer; end; var t:student; i,k:integer; f:file of student; begin AssignFile(f,'sport'); Reset(f); Seek(f,i); readln(f,t); s:=t.vopros; Label1.Caption:=s; s:=t.otvet1; RadioButton1.Caption:=s; s:=t.otvet2; RadioButton2.Caption:=s; s:=t.otvet3; RadioButton3.Caption:=s; s:=t.otvet4; RadioButton4.Caption:=s; i:=i+1; CloseFile(f); end; |
#5
|
|||
|
|||
![]() там еще проверка конца файла стоит,эта операция работает нормально,да и присвоение каждый раз идет ток часть текста куда то съедается....может все дело в описании длины строк?
|
#6
|
|||
|
|||
![]() неужели никто ничего не может подсказать?
|
#7
|
|||
|
|||
![]() возможно. у тебя же на ответ всего 30 символов отведено.
плюс, не забудь, что RadioButton автоматически не меняет размер, поэтому часть текста может обрезаться по границе компонента. |
#8
|
|||
|
|||
![]() но ведь вопрос вбивается B Label и все равно части текста нет...
можешь написать образец как считывать и переприсваивать с обычного текстого файла,ну например через обычные условия проверки конца строки и конца файла? |
#9
|
|||
|
|||
![]() Код:
var L : TStringList; I, N : Integer; begin L := TStringList.Create; L.LoadFromFile('myfile.txt'); For I := 0 To (L.Count div 6) Do Begin label1.Caption := L[I*6]; RadioButton1.Caption := L[I*6 + 1]; RadioButton2.Caption := L[I*6 + 2]; RadioButton3.Caption := L[I*6 + 3]; RadioButton4.Caption := L[I*6 + 4]; N := StrToInt(L[I*6 + 5]); End; end; |
#10
|
|||
|
|||
![]() выходит след-я ошибка:
Project Test.exe raised exeption class EConvertError with message 'Что такое математика' is not a valid integer value'.Process stopped.Use step or run to continue |
#11
|
|||
|
|||
![]() Формат файла:
Код:
вопрос ответ1 ответ2 ответ3 ответ4 номер_правильного_ответа проверь. так должно быть для всех вопросов. Если ответов < 4 то делать пустые строки... |