Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 14:39   #1
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
Вопрос Хранение истории браузера

Всем привет.

Хочу сделать хранение истории в браузере, есть наработки:

Код:
  DateSeparator      := ' ';
  ShortDateFormat    := 'dd/mmm/yy';

  DateTimeToString(formattedDateTime, 'ddddd', Date);

  if fileexists(formattedDateTime+'.dat') then
  begin
    assignfile(f,formattedDateTime+'.dat');
    Append(f);
    writeln(f, edURL.Text);
    closefile(f);
  end;
История у меня хранится в файле с названием сегодяшней даты в виде "1 Декабрь 09.dat", почему dat, а не txt? Да штоб никто не догадался!! Шутка..

Вообщем есть есть проблемы, во-первых каждый сайт дважды записывается в историю и во-вторых, неудобно подгружать историю в браузер для просмотра.

Поэтому спрашиваю вас, как лучше это всё реализовать?
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 01.12.2009, 18:13   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Вообще это лучше в БД хранить. Т.к. через определенное время дней в истории накопится очень много. Но можно и в файлах, как тебе удобнее так и делай, пока это не принципиально, ты ведь учишься.

Записывай один раз и он будет записываться один раз, банально, но это так. Запускай отладчик и вперед.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 01.12.2009, 18:21   #3
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mutabor, как тебе такой вариант удаления устраевших файлов истории? Только подскажите кто рибудь как удалять файлы.

Код:
  DateSeparator      := ' ';
  ShortDateFormat    := 'dd/mmm/yy';

  DateTimeToString(formattedDateTime, 'ddddd', Date-10);

  if fileexists(formattedDateTime+'.dat') then
  begin
    Удаление файла
  end;
"Записывай один раз и он будет записываться один раз", в том то и проблема, я и так один раз записываю, но в файле записи повторяются.

И вообще как мне подгружать историю в браузер, наиболее удобным способом? Чтобы можно было открывать историю к примеру за последние десять дней.
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 01.12.2009, 18:32   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
mutabor, как тебе такой вариант удаления устраевших файлов истории?
Работать будет, не напутай только с датами. Кстати в браузере должна быть возможность выбора за какой период хранить историю.

Цитата:
Только подскажите кто рибудь как удалять файлы.
Поиск по форуму/справка дельфи/гугл тебе подскажут. Это банальный вопрос, уже сто раз задавали.

Цитата:
И вообще как мне подгружать историю в браузер, наиболее удобным способом? Чтобы можно было открывать историю к примеру за последние десять дней.
Как вариант, создать десять стринглистов, загрузить их из соответсвующих файлов и показывать когда надо пользователю. Если бы ты через базу делал, то тогда делать запрос по нужной дате, и в программу вообще грузить не надо изначально.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 01.12.2009 в 18:34.
mutabor вне форума Ответить с цитированием
Старый 01.12.2009, 18:45   #5
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mutabor, я с базой даных вообще ни разу не работал, поэтому пока не хочу трогать этот непочатый край. Я хотел сделать вместо 10-ти стринглистов 10 лэйблов и мемо, названия лейблов загружать из файла, и в соответсвии с датой загружать историю. Но на практике получился геморой полнейший.

И вот почему, хотел использовать такой код чтоб хранить даты в файле, т.е. при запуске браузера проверяется есть ли такая дата файле и если нет - записывается, не знаю почему но всё время вылазили ошибки. Потом я этот код удалил, а щас вот по памяти написал:

Код:
AssignFile(f, 'History.dat');
   Reset(f);
    for i:=1 to 10 do
    begin
      Readln(f, History);
      if pos(History, formattedDateTime)=0 then
      begin
        AssignFile(f, 'History.dat');
        Append(f);
        Writeln(f, formattedDateTime);
        CloseFile(f);
      end;
    CloseFile(f); 
    end;
Переделал вот так:
Код:
procedure TfrmMyBrowser.Button1Click(Sender: TObject);
var
  t: TextFile;
  i: integer;
  formattedDateTime: string;
  History: string;
begin
  DateSeparator      := ' ';
  ShortDateFormat    := 'dd/mmm/yy';
  DateTimeToString(formattedDateTime, 'ddddd', Date);
  Memo1.Lines.LoadFromFile('History.dat');
  for i:=0 to Memo1.Lines.Count-1 do
  begin
    if pos(formattedDateTime, Memo1.Lines.Text)=0 then
    begin
      AssignFile(t, 'History.dat');
      Append(t);
      Writeln(t, formattedDateTime);
      CloseFile(t);
    end;
  end;
end;
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли

Последний раз редактировалось Marsel737; 01.12.2009 в 19:05.
Marsel737 вне форума Ответить с цитированием
Старый 01.12.2009, 19:29   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Я хотел сделать вместо 10-ти стринглистов 10 лэйблов и мемо
Это уже совсем изврат. С листами - чуть меньший изврат

Все зависит от того как ты хочешь выводить пользователю эту историю, может быть и сразу в визуальный контрол грузить ее, TreeView например, без промежуточных списков. Вариантов масса. Определись сначала как это должно выглядеть со стороны пользователя.

p.s. Мне например нравилась история в FF 2.х версий.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 01.12.2009, 19:45   #7
Marsel737
Форумчанин
 
Аватар для Marsel737
 
Регистрация: 09.11.2009
Сообщений: 669
По умолчанию

mutabor, всё, сделал "по-извращенски" - 10 лэйблов, если чё потом переделаю, главное что скелет есть, марафет в конце наведу
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли
Marsel737 вне форума Ответить с цитированием
Старый 05.05.2018, 16:12   #8
Алексей369
Новичок
Джуниор
 
Регистрация: 05.05.2018
Сообщений: 1
По умолчанию

А какие компоненты добавлять?
Алексей369 вне форума Ответить с цитированием
Старый 05.05.2018, 21:10   #9
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Любой "браузерный" компонент TWebBrowser, TChromium, TNecroPoster...
eoln вне форума Ответить с цитированием
Старый 10.05.2018, 17:47   #10
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Кто-то откопал древнюю археологическую тему.
Кто ты, о великий проктолог?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 10.05.2018 в 20:51.
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли удалить свои темы из истории форума Syltan О форуме и сайтах клуба 12 28.11.2009 18:48
Хранение дисков Levsha100 Свободное общение 24 04.02.2009 15:58
10 худших ошибок в программировании в истории человечества Alex21 Свободное общение 3 14.04.2008 01:47
написание программы-справочника по истории djusi Помощь студентам 0 03.12.2007 22:01