artykuły

Dodanie daty i godziny w MEMO

2010-08-04
18:16:00
Avatar
Raven
Data publikacji:
20:16, 4 August 2010
Witam na samym początku zaznaczam że jestem początkujący. Mam pytanie mianowicie chciałbym żeby mój program przy każdym uruchomieniu wpisywał w MEMO datę i czas coś w rodzaju loga później mógłbym przeglądać ile razy i w którym dniu program został uruchomiony. Może jest jakaś możliwość na innym komponencie nie na Memo ? Pozdrawiam i z góry dziękuje za pomoc.
Avatar
Lukas
Strona domowa
Data publikacji:
11:59, 22 August 2010
Witam, na początku chciałbym przeprosić, że odpowiadam z pewnym opóźnieniem - miałem urlop. Wracając do pytania, oczywiście że jest to możliwe - i nie potrzeba do tego żadnych specjalnych komponentów. Wystarczy przy każdym zamykaniu programu zapisywać zawartość komponentu Memo do pliku, a przy każdym uruchamianiu wczytywać plik oraz dodawać nową datę. Aby to zrobić, kliknij pojedynczo formę i w Inspektorze Obiektów, w zakładce Events (zdarzenia) kliknij dwukrotnie pole OnClose, pojawi się Edytor Kodu, do którego wprowadź linię: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Memo1.Lines.SaveToFile('memo.txt'); end; Przejdź jeszcze raz do Inspektora Obiektów (zakładka Events) i kliknij tym razem dwukrotnie przy polu OnCreate, po czym, w Edytorze Kodu wprowadź takie instrukcje: procedure TForm1.FormCreate(Sender: TObject); var dt: TDateTime; begin dt := Now(); if FileExists('memo.txt') Then Memo1.Lines.LoadFromFile('memo.txt'); Memo1.Lines.Add('Data: '+DateToStr(dt)+', Czas: '+TimeToStr(dt)); end;
Avatar
Raven
Data publikacji:
18:34, 31 August 2010
Dziękuje bardzo za odpowiedź już myślałem że nikt mi nie pomoże jeszcze raz dziękuję bardzo za pomoc super że jest taka stronka i ktoś kto może pomóc POZDRAWIAM !
Avatar

Data publikacji:
22:31, 26 July 2013
Wiem ze odkop, dlatego potraktujcie ten post jako oznaczony etykietą "dla potomnych" :) Wgłębiając się w źródła procedur LoadFromFile() oraz SaveToFile() (Ctrl + lewy klawisz na nazwę procedury) widzimy że tak na prawdę to jest utworzenie strumienia (zarezerwowanie pamięci), wczytanie tekstu do niego, następnie ze strumienia jako string do memo. Następnie drugi raz to samo tylko po to żeby dodać jedną linijkę. Czyli dla tej jednej linijki, Twój program Raven wczyta cały plik który może mieć nawet tysiące linijek. Moja rada, nie używać procedur LoadFromFile() i SaveToFile() i co za tym idzie strumieni, tylko prostych niskopoziomowych metod jak Reset, Rewrite, Assign oraz zmiennej typu File lub TextFile.




Zaloguj się aby dodać post.
Dexter