|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.06.2007, 18:24 | #1 |
Пользователь
Регистрация: 13.06.2007
Сообщений: 12
|
Подскажите по Delphi!
Вот процедура! Она записывает данные о открытие программы один раз в ini файл! как сделать чтобы записывалось каждое открытие программы (что бы если открыли её 10 раз так чтоб и было 10 записей а не одна)?
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var dir:string; ConfigFile:TiniFile; begin dir:=GetCurrentDir; ConfigFile:=TIniFile.Create(dir+'\C onfig.ini'); ConfigFile.WriteInteger('START','Co untStart',n+1); ConfigFile.WriteString('START','Las tDate',DateToStr(Date)); ConfigFile.WriteString('START','Tim e',TimeToStr(Time)); ConfigFile.Free; end; |
21.06.2007, 19:02 | #2 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
Наверно нужно вначале прочитать из файла, сколько раз до этого уже запускалась программа:
N := ConfigFile.ReadInteger('START','Cou ntStart',0); а уже потом записывать новое значение: ConfigFile.WriteInteger('START','Co untStart',n+1); И еще, в коде есть строка dir:=GetCurrentDir; Если перед выходом из программы не контролировать текущий каталог, то файл может создаваться в совершенно разных местах и, соответственно, счетчик потеряет всякий смысл. Тогда уж лучше писать в тот каталог, где лежит программа: dir := ExtractFileDir(Application.ExeName) ; |
21.06.2007, 19:23 | #3 | |
Пользователь
Регистрация: 13.06.2007
Сообщений: 12
|
Цитата:
|
|
22.06.2007, 13:29 | #4 |
Пользователь
Регистрация: 13.06.2007
Сообщений: 12
|
Помогите плиззззззз!
|
22.06.2007, 14:05 | #5 |
Форумчанин
Регистрация: 22.06.2007
Сообщений: 414
|
Заведи себе файл *.log, и побайтно или строками записывай туда все запуски. *.ini это фал конфигурации, зачем его засорять? А в инишку записывай только последние параметры(последняя дата, время отрытия программы).
Нет невыполнимых задач, всё дело времени...
|
22.06.2007, 14:25 | #6 |
Пользователь
Регистрация: 13.06.2007
Сообщений: 12
|
все всем спасибо сделал!
|
22.06.2007, 14:29 | #7 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 270
|
Утебя данные пишутся в одни и те же ключи.
Чтобы данные писались в разные строки нужно назначать новые имена ключей наподабии такого: запуск1: ConfigFile.WriteString('START','Las tDate1',DateToSt r(Date)); ConfigFile.WriteString('START','Tim e1',TimeToStr(Ti me)); запуск2: ConfigFile.WriteString('START','Las tDate2',DateToSt r(Date)); ConfigFile.WriteString('START','Tim e2',TimeToStr(Ti me)); ... и т.д. Ну, а как программно менять имена ключей, надеюсь сообразишь сам
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько? (с) Библия. Вольный перевод с древнееврейского. |
05.09.2007, 23:01 | #8 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
Всё гениальное просто
допустим есть файл с расширением Ini (хотя кто как хочет может назвать, иногда это неважно. Т.к вам может хочется скрыть смысл файла, структура всё равно будет Ini`шная).
[START] date1=12.12.1999 Time1=15:22:15 Способ(Шаги): 1) Заводишь переменную типа TStrings для счёта запусков и нумерации. Допустим Ls :TStrings; Она потребуется для счёта записей в файле, путём загрузки имён всех секций: Код:
{ Делим на два, т.к. по две записи(Хотя в Ini файлах есть функции и процедуры для хранения и чтения дат и времени) } Код:
Код:
Последний раз редактировалось Alter; 05.09.2007 в 23:03. Причина: Забыл поставить один тэг CODE |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите где можно взять хорошую книгу по БД в Delphi 7 | Diimka | БД в Delphi | 1 | 14.12.2007 01:33 |
Подскажите код | Romuald | Microsoft Office Excel | 2 | 26.11.2007 13:53 |
Подскажите, как пользоваться Password Dialog в Delphi | Grigoriy7 | Помощь студентам | 2 | 01.10.2007 09:19 |
Delphi(Stringgrid) подскажите | zzzzz | Помощь студентам | 1 | 14.07.2007 11:51 |