|
Вопрос # 5 421/ вопрос открыт / |
|
Здравствуйте, эксперты!
требуется сохранить информацию из массива в string list, а затем в файл при этом если в файле есть данные то перед сохранением новых их надо загрузить в программу отсортировать и сохранить все отсортированные с новыми.
информация это запись с параметрами имя игрока время в минутах, время в секундах .
предыдущая статистика загружается в массив записей.
счетчик колва пробелов нужен т.к. информация в файле хранится как
Петров min= 4 sec= 2 <-в конце строки тоже пробел
судя по тому что сохраняется только одна запись целиком, ошибка где то в той части кода, которая для не пустого файла. но понять ее не могу.
помогите пожалуйста.
знаю что и код г. и что переменные дурацкие. но надо сделать...
Приложение: Переключить в обычный режим- stat:=TStringList.Create;
- stat.LoadFromFile('statistika.txt');
- //qw:=1;
-
-
- begin {**}
-
-
-
-
-
- begin {4*}
-
-
-
- begin
-
-
- else
-
-
- 1: stmas[i+1].name:=slovo;
- 3: stmas[i+1].MinTime:=strtoint(slovo);
- 5: stmas[i+1].SecTime:=strtoint(slovo);
-
- slovo:='';
- inc(kolprob);
- end; {3*}
-
-
- end;
- end; {4*}
- end{**}
-
- begin
- qw:=1;
-
-
- end;
-
-
- if (stmas[i].MinTime>stmas[i+1].MinTime) or
((stmas[i].MinTime=stmas[i+1].MinTime)and(stmas[i].SecTime>stmas[i+1].SecTime)) then
- begin
- prom:=stmas[i+1];
- stmas[i+1]:=stmas[i];
- stmas[i]:=prom;
- end;
- end; }
-
-
- memo2.Lines[i+1]:=stmas[i].name+' '+inttostr(stmas[i].MinTime)+' '+inttostr(stmas[i].secTime);
- // memo2.Lines[1]:=stmas[0].name+' '+inttostr(stmas[0].MinTime)+'
'+inttostr(stmas[0].secTime);
- // memo2.Lines[1]:=player.name+' '+inttostr(player.MinTime)+' '+inttostr(player.secTime);
-
-
- stat.add(stmas[i].name+' min= '+inttostr(stmas[i].MinTime)+' sec= '+inttostr(stmas[i].SecTime)+'
');
-
- stat.savetofile('statistika.txt');
- stat.Free;
-
 |
Вопрос задала: MerryJane (статус: Посетитель)
Вопрос отправлен: 17 июня 2011, 22:06
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Короче, обещание я сдержал, класс написал. Исходник его и демо-программу прицепляю к ответу. Кто хочет посмотреть в онлайне - вот ссылка на код класса.
Демо-программа выглядит вот так:

Сортировка работает по клику на заголовках колонок.
На написание всего этого безобразия ушло примерно 3 часа. Код особо не гонял (времени не хватило), возможны баги. Если чо - пиши, исправлю.
Сам ini-файл выглядит вот так:
[Header]
Count=12
[Player_0]
Name=Ангела Доротеевна Меркель
Time=0:10:00
Count=2
Total=100500
[Player_1]
Name=Елизавета II, Елизавета Александра Мария Виндзор
Time=3:33:33
Count=2
Total=65
[Player_2]
Name=Ким Чен Ир
Time=4:00:00
Count=3
Total=4534
[Player_3]
Name=Лукашенко Александр Григорьевич
Time=6:06:06
Count=2
Total=777
[Player_4]
Name=Махмуд Ахмадинежад
Time=0:00:31
Count=3
Total=2345
[Player_5]
Name=Медведев Дмитрий Анатольевич
Time=0:38:00
Count=2
Total=23
[Player_6]
Name=Муаммар бен Мухаммед Абу Меньяр Абдель Салям бен Хамид аль-Каддафи
Time=13:13:13
Count=3
Total=6676
[Player_7]
Name=Обама Барак Хуссейнович
Time=0:25:00
Count=3
Total=100500
[Player_8]
Name=Путин Владимир Владимирович
Time=1:00:00
Count=2
Total=15
[Player_9]
Name=Ху Дзыньтао
Time=0:25:00
Count=2
Total=3487
[Player_10]
Name=Чавес Уго Рафаэлевич
Time=0:10:00
Count=3
Total=36456
[Player_11]
Name=Янукович Виктор Фёдорович
Time=0:45:00
Count=2
Total=100
Как видишь, его можно править вручную в любом текстовом редакторе. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 20 июня 2011, 14:42
Оценка за ответ: 5
Комментарий к оценке: огромное спасибо за огромную помощь(=
|
Мини-форум вопроса
Всего сообщений: 28; последнее сообщение — 21 июня 2011, 20:26; участников в обсуждении: 3.
Страницы: [« Предыдущая] [1] [2]
|
min@y™ (статус: Доктор наук), 19 июня 2011, 17:01 [#21]:
Цитата (MerryJane):
эм.. а еще я никогда с этими ini файлами не работала они читаем сами по себе? ну то есть через блокнот открою и там будет нормальный русский язык, а не какая нибудь символика?
Да. Глянь в книжку, там всё есть.
Цитата (MerryJane):
просто я уже делала через файл записей а вывод статистики в обычное мемо. преподаватель послал.. сказал что файл должен быть текстовый читаемый и редактируемый. что бы при желании можно было отправить куда нибудь в инет, показать комунибудь и проч.
Не ссать! Всё будет. Завтра с утра на работе сделаю. У меня щас там затишье, работы нету, скучно.
XML, кстати, тоже можно в блокноте править. Но для тебя это слишком круто будет. Сделаю ini-файл.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
MerryJane (статус: Посетитель), 19 июня 2011, 17:04 [#22]:
min@y™: (= круто
ура ура ура наконец то все заработает)...
|
|
min@y™ (статус: Доктор наук), 19 июня 2011, 17:09 [#23]:
Срок сдачи когда?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
MerryJane (статус: Посетитель), 19 июня 2011, 17:45 [#24]:
вторник потом он в отпуск
|
|
bugmenot (статус: 3-ий класс), 19 июня 2011, 21:57 [#25]:
я разочарован
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
MerryJane (статус: Посетитель), 21 июня 2011, 16:45 [#26]:
спасибо большое за помощь у нас перенесисдачу на 27 число поэтому с лабой на выходных разберусь..
сейчас по ка к другому экзамену поготовлюсь.
огрооооооомное спасибо)
|
|
min@y™ (статус: Доктор наук), 21 июня 2011, 17:05 [#27]:
Рано радуешься. Посмотрим, как ты это всё сдашь!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
MerryJane (статус: Посетитель), 21 июня 2011, 20:26 [#28]:
еще как сдам если смогу подключить))) главное что бы работало а в логике и остальном разберусь(=
спасибо еще раз
|
Страницы: [« Предыдущая] [1] [2]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|