Problem początkującego- część 2.

0

Witam ponownie.
Dzisiaj nurtuje mnie kolejny problem, mianowicie:

Chciałbym stworzyć plik tekstowy, w którym zapisywane by były dane wejściowe do programu, oraz żeby w tym pliku po zakończeniu działania programu (przyciskiem close) zostały zapisane ostatnie wpisy.

Może sprecyzuję:
Prosty przykład:
Mam pole edit i przycisk close.
jak uruchomię program i wpiszę wartość w polu edit, to chciałbym żeby po zamknięciu program mi to wpisał do pliku, oraz, żeby przy kolejnym uruchomieniu wpis w polu edit pochodził z poprzedniego uruchomienia.
Tylko nie chodzi mi tu o zapisywanie plików ręczne, tylko jakieś automatyczne, żeby nie trzeba było tego obsługiwać jakimiś dodatkowymi menu, czy przyciskami.
Dzięki za ewentualne odpowiedzi.

P.S.
C.D.N....

0

Wykorzystaj do tego pliki *.INI
Opis w dziale Artykuły :-)

0

spróbuj skorzystać z rejestru w przypadku kontrolki edit
chyba ze chcesz zapisac dużą ilość tekstu to uzyj komponent np. memo
i w procedurze cloce wpisz memo1.save tofile('c:\plik.txt')

0

a w formshow : memo1.lines.loadfromfile('c:\plik.txt');

0

spróbuj skorzystać z rejestru w przypadku kontrolki edit

...hej, hej, jakiego rejestru? Ja nic nie rozumiem....Z memo nie mogę skorzystać, bo to chodzi o wiele pól edycji.
Chciałbym gdzieś zobaczyć jakiś prościutki przykładzik a później to sobie mozolnie na swój programik poprzekładam.

Jeszcze trochę opiszę:

Jest okno, są jakieś wpisy, obliczam coś z tych wpisów. Jest wynik. Chodzi mi o to, żeby te wpisy przy zamknięciu programu zostały gdzieś zapisane (w jakimś pliku .dat, czy .txt), żebym miał tak: znowu uruchomiam program i w polach edycji są wpisy z ostatniego uruchomienia. Tylko tyle. Dla mnie aż tyle :)

Dzięki

0

Przeczytaj artykuły i wybierz sobie optymalny sposob zapisu..
Ja osobiscie polecam INI..po co smiecic w rejstrze..

0

Osobiście radzę: przeczytaj kurs na temat plików tekstowych i używaj ich do zapisywania tekstu i odczytywania go z pliku, to nie jest trudne, jeżeli nie znasz się na plikach .INI to ci się to przyda.

0

Osobiście radzę: przeczytaj kurs na temat plików tekstowych i używaj ich do zapisywania tekstu i odczytywania go z pliku, to nie jest trudne, jeżeli nie znasz się na plikach .INI to ci się to przyda.

A jak myslisz skad latwiej odczytac zapisane ustawienia programu lub inne dane?
w plikach txt musisz szukac linijka po linijce..
a pliki ini maja wlasne sekcje i wartosci ..
Wiec znacznie,znacznie latwiej operowac na plikach INI

0

A czy nie lepiej zapisać to do rejstru?
Jeśli się zdecydujesz:

dopisujesz do uses Registry;

dla przycisku close;
var
Reg: TRegistry;
begin
try
reg := TRegistry.Craete;
reg.OpenKey(<font color="blue">'programik'</span>, True);
reg.WriteString(<font color="blue">'wartość'</span>, Edit1.text);
finally
Reg.Free;
close;
end;

potem w OnActivate lub OnShow:

var
Reg: TRegistry;
Key: Bolean;
begin
Key := Reg.OpenKey(<font color="blue">'programik'</span>, False);
if not Key then
Edit1.Text := ''
else
Edit1.Text := Reg.ReadString(<font color="blue">'wartość'</span>);
end;

0

... pliki ini maja wlasne sekcje i wartosci ..
Wiec znacznie,znacznie latwiej operowac na plikach INI

Dzięki wielkie wszystkim. Właśnie poczytałem, zrobiłem, chodzi cacy. Tego właśnie szukałem, nie sądziłem, że to takie proste i przyjemne.
INI jest git.

Pozdrawiam.

P.S. Jeszcze się tu będę zgłaszał i to pewnie nie raz.

0

Tylko uważaj przy zapisie dużych tekstów do INI, bo początkujący się dziwią, czemu im obcina na początku.

0

INI jest git.

Zalezy dla kogo. pliki ini to trochę przestarzła metoda zapisu. prawie kazda książka proponuje zapis do rejestru a nie do pliku txt czy ini.

0

Może i przestarzała metoda, ale jak wspomniał LOFIX po cholere zaśmiecać i tak już zapchany rejestr [glowa]

0

Tylko uważaj przy zapisie dużych tekstów do INI, bo początkujący się dziwią, czemu im obcina na początku.

Jest jakieś ograniczenie w długości i ilości wpisów? Czy o co chodzi?
Ten INI potrzebny mi jest głównie do zapisu kilku, może kilkunastu wpisów z Edit-ów. Są to niewielkie ilości znaków. Chyba mi nic nie powcina, ale dzięki za przestrogę.

0

Może i przestarzała metoda, ale jak wspomniał LOFIX po cholere zaśmiecać i tak już zapchany rejestr [glowa]

No a po co zaśmiec ać już i tak jeszcze bardziej zapchany dysk twardy?

0

Tak czy tak, każdy wybiera to co mu najlepiej pasuje [browar]

0

Może i przestarzała metoda, ale jak wspomniał LOFIX po cholere zaśmiecać i tak już zapchany rejestr [glowa]

No a po co zaśmiec ać już i tak jeszcze bardziej zapchany dysk twardy?

Ale dam glowe ze latwiej potem skasowac plik ini niz grzebac w rejestrze..
nie oszukujmy sie..ile ci ten plik zajmie miejsca? 3GB? :-)

0

LOFIX ma całkotiwa racje, rejestru windows nie ma co zaśmiecac, a tu raczej nie można mówić o zaśmiecaniu dysku, przeciez wszystko jest w folderze programu, więc gdzie tu zaśmiecanie? ile tenplik zajmuje? może pare kb.

[dopisane]
Jeszcze jedno :-)
<font color="green">A jak myslisz skad latwiej odczytac zapisane ustawienia programu lub inne dane?
w plikach txt musisz szukac linijka po linijce..
a pliki ini maja wlasne sekcje i wartosci ..
Wiec znacznie,znacznie latwiej operowac na plikach INI</span>

LOFIX, mi nie chodziło o to, wiadomo że INI jest leprze, mi chodziło o zapisanie tylko treści MEMO, to chyba wiadomo że tu można bez niczego skorzystać z plików .txt. Do zapisywania ustawień sam używam INI.

0

jeśli dasz kumplowi ten program (używającu INI albo Rejestru) to mu działaź nie będzie (chyba że zrobisz instalke)
propozycja:

Procedure zapis;
var plik:text;
begin
assignfile(plik,'dane.dat");
rewrite(plik);
writeln(plik,memo1.text);
closefile(plik);
end;

0

jeśli dasz kumplowi ten program (używającu INI albo Rejestru) to mu działaź nie będzie (chyba że zrobisz instalke)...

To nie jest tak, że program sam generuje przy pierwszym uruchomieniu ten pliczek? Jeśli tak, to tylko kwestia wprowadzenia danych pierwszy raz, a dalej to już będzie samo pobierało. Czy się może mylę?

1 użytkowników online, w tym zalogowanych: 0, gości: 1