Форум — Ответы ( К темам )
? | Иван: Работа с текстовым файлом при помощи TStringList (07-02-2003 11:18:46) |
Люди!,подскажите,у меня такая задача: В файл нужно записывать данные о пользователе:Имя-время файл не должен содержать больше 10-ти записей,причем они должны сортироваться(по возрастанию времени) Как это проще сделать? Почитал про TstringList,но там сортировка по алфавиту. Буду очень благодарен! | |
Павел (08-02-2003 21:27:47) | |
Смотря в каком виде и откуда Вы берете данные, с базы данных или получаете из формы. Если из базы данных, то и хранить удобнее в базе данных, а не в текстовом файле Если из формы, то можно организовать структуру или класс struct POLZ { TDateTime dt; AnsiString SName; ... // и другие данные о пользователе }; struct POLZ myPOLZ; struct POLZ mass[10]; Если заранее длина массива неизвестна, можно организовать не массив, а вектор структур #include <vector.h> vector <POLZ> myp; Данные получаем из формы: Дата — из компонетнта TDateTimePicker заносим в mass[i].dt Имя — из TEdit в mass[i].SName и т.д. потом организуете сортировку внутри структуры по dt и записываете структуру в файл int ih; ih = FileCreate("myFile.txt"); for(int i=0; i<10; i++) { AnsiString s = DateToStr(mass[i].dt) + mass[i].SName + ...; char buff[100]; for(int j=0; j<100; j++) buff[j]=0; strcpy(buff,s.c_str()); FileWrite(ih, buff ,100); } FileClose(ih); .... или TStringList *sl = new TStringList(); for(int i=0; i<10; i++) { AnsiString s = DateToStr(mass[i].dt) + mass[i].SName; sl->Add(s); } sl->SaveToFile("myFile.txt"); delete sl; .... |