Type block=Record Nick,City:string[10]; Score:byte; Goals:integer; Surname:string[10] End; File1=file of block; Var X:block; F:file1;
Необходимо сортировать в этом файле записи по введенному полю (Score, Goals итп) Вопрос: как перевести введенную строку в X.строка ? То бишь чтобы можно было начать поиск по эти значениям?
Автор: volvo 26.03.2007 16:54
А зачем?
Вот так сортируется массив записей по любому полю: http://forum.pascal.net.ru/index.php?s=&showtopic=7663&view=findpost&p=54239
Автор: Lapp 26.03.2007 17:07
Цитата(Олег @ 26.03.2007 12:51)
как перевести введенную строку в X.строка ?
Если я правильно понял, ты хочешь, чтобы когда юзер ввел с клавиатуры, например: "Goals" - программа выполнила сортировку по полю X.Goals. Верно?
Если так, то разочарую тебя. Узноать имя переменной во время исполнения программы невозможно. Ты должен запрограммировать специальный механизм соответствия, если хочешь, чтоб оно было. Например, можно предусмотреть дополнительные поля в записи, типа так:
Type block=Record Nick,City:string[10]; Score:byte; Goals:integer; Surname:string[10] NickName,CityName,ScoreName,GoalsName,SurnameName:string[10] End;
а в начале программы присвоить:
with X do begin NickName:='Nick'; CityName:='City'; ... end;
и дальше выполнять:
if s=NickName then {сортировка по NickName} else ...