Есть файл Test.txt состоящий из 10 строк, каждая строка такого содержания: фамилия:имя:год рождения:улица:дом:квартира:телефон : - это разделитель. И есть запись и массив на эту запись
Код
Type TBase = Record Family:string; Name:string; Year:integer; Street:string; Dom:integer; kvar:integer; Tel:integer; End;
var Spisok: Array[1..10] of TBase;
Подскажите пожалуйста, как заполнить поля записи из этого файла. Т.е. меня интересует, как выделить из строки например фамилию и записать ее в поле family, имя в name и т.д..
мисс_граффити, можно и так, но как бы не получилось "из пушки по воробьям"... Если разделитель только один, я бы сделал вот так, наверное:
Type TBase = Record Family:string; Name:string; Year:integer; Street:string; Dom:integer; kvar:integer; Tel:integer; End;
function strInt(s: string): integer; var X, err: integer; begin val(s, X, err); strInt := X; end; function get_str(s: string; n: integer): string; var i, start, finish: integer;
function next: integer; begin next := start + pos(':', copy(s, start, 255)) end;
begin start := 1; for i := 1 to pred(n) do start := next; finish := next;
var Spisok: Array[1..10] of TBase; i: integer; s: string;
begin s := 'Family:Name:1990:Street:10:12:12345'; with spisok[1] do begin family := get_str(s, 1); name := get_str(s, 2); year := strInt(get_str(s, 3)); street := get_str(s, 4); dom := strInt(get_str(s, 5)); kvar := strInt(get_str(s, 6)); tel := strInt(get_str(s, 7)); end; writeln; end.
Здесь заполнение одной записи... Идея понятна?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.