Помощь - Поиск - Пользователи - Календарь
Полная версия: Массив Record
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Олег
Есть тип рекорд вида:

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
А зачем?

Вот так сортируется массив записей по любому полю:
Сортировка записи с процедурой
Lapp
Цитата(Олег @ 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 ...

Но только это громоздкий способ..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.