Więc zrobiłem nową formę na której mam różne komponenty: ColorBar, ChceckBox itp.
Chcę aby po wciśnięciu przycisku "OK" opcje wchodziły w życie w edytorze i były zapamiętane przy następnym użyciu programu.
Maci jakieś pomysły ? Bo ja nic nie moge wymyślić.
Może zapis do pliku binarnego i skorzystanie również z metod WriteComponent
, ReadComponent
klasy TStream
.
Najłatwiej skorzystać ze sposobu, który podał @olesio; jak chcesz, to możesz się także pobawić plikami typowanymi lub INI.
Mam taki kod, w którym chciałem zapisać do pliku cały PageControl, ale coś nie idzie:
var
FileStream : TFileStream;
begin
if FileExists('setup.txt') then // jezeli istnieje plik
FileStream := TFileStream.Create('biblioteka\system.ini', fmOpenWrite) else
FileStream := TFileStream.Create('biblioteka\system.ini', fmCreate); //w przeciwnym wypadku stworz plik
FileStream.WriteComponent(PageControl0); // zapisz ustawienia komponentu TButton
FileStream.Free;
end;
Co to znaczy nie idzie i czy tak na prawdę trudno użyć google i wpisać delphi ReadComponent
uzyskując w nim gotowy przykład na stronie: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/Classes_TStream_ReadComponent.html ? A w ogóle to zacznij od pisania jakiś prostych programów dotyczących podstaw tego języka oraz podstawowy zakres zastosowanych metod i komponentów, bo ciągle tylko o coś pytasz, nie szukasz sam, no totalne, niczym nieusprawidliwione lenistwo. Coś tylko idzie nie tak to od razu smarujesz na forum ;/ Póki nie opanujesz umiejętności korzystania z google i podstaw to się nadal za pewne będziesz "motał" w tym co sobie "narzucisz" chcąc coś napisać nowego dla siebie.
DiKey11 napisał(a)
Chcę aby po wciśnięciu przycisku "OK" opcje wchodziły w życie w edytorze i były zapamiętane przy następnym użyciu programu.
Maci jakieś pomysły ? Bo ja nic nie moge wymyślić.
Ja zwykle sposobów jak mrówków;
Podałem Ci w poprzednim temacie sposób na zapisanie całego komponentu do pliku, ale nie stosujesz się do moich wskazówek i zamiast skorzystać z klasy TMemoryStream
i jej metod to kombinujesz z TFileStream
...
Najłatwiej będzie skorzystać z plików INI, masz do tego moduł INIFiles
i klasę TINIFile
; zaplanuj sobie strukturę takiego żebyś wiedział ile jest opcji i jak je nazwać; Podczas kliknięcia w btnOk
stwórz sobie taki obiekt, zapisz do odpowiednich kluczy informacje o wszystkich komponentach i zamknij plik;
Możesz to zrobić trochę inaczej, mianowicie stworzyć okno dialogowe z ustawieniami; Podczas wciśnięcia przycisku btnOk
przesyłasz do głownego okna specjalnie przygotowaną strukturę z wszystkimi ustawieniami; Przy zamknięciu programu zapisujesz taką strukturę do pliku z ustawieniami, a podczas rozruchu aplikacji wczytujesz - proste; Dalej idąc gdy otworzysz okienko z ustawieniami załaduj sobie do okienka strukturę z modułu okna-rodzica i ustaw kontrolkom odpowiednie właściwości;
Stworzenie własnego okienka nie jest trudne, a jego kod też nie jest zbyt długi; Jeśli chcesz wiedzieć więcej na temat własnych okien dialogowych polecam zapoznać się z artykułem Własne okna dialogowe mojego autorstwa; Wszystkie potrzebne informacje na ten temat znajdziesz w nim;
Jednak patrząc na treść twoich postów widać, że jeszcze dużo nie wiesz na temat Delphi i ogólnie programowania, więc tak jak koledzy napisali wcześniej - zacznij czytać i uczyć się z kursów - za dużo zadajesz pytań a za mało czytasz i szukasz w Google; Bez porządnego kursu niewiele dasz radę zrobić i będziesz w kółko o totalne podstawy pytać nas na forum - trochę to bez sensu;
furious programming napisał(a):
Jednak patrząc na treść twoich postów widać, że jeszcze dużo nie wiesz na temat Delphi i ogólnie programowania, więc tak jak koledzy napisali wcześniej - zacznij czytać i uczyć się z kursów - za dużo zadajesz pytań a za mało czytasz i szukasz w Google; Bez porządnego kursu niewiele dasz radę zrobić i będziesz w kółko o totalne podstawy pytać nas na forum - trochę to bez sensu;
Sam go ( i nie tylko go) karmisz gotowcami... Może się zdecyduj w którą stronę działasz.
To google karmi tym gotowcem. Ja tylko pokazałem mu jak można znaleźć. I chyba "na fali" czepiania się Użytkownika @kAzek oberało się mi w międzyczasie również i mnie. Ale proponuję: nie ciągnijmy offtopicu, bo będę sam musiał sam przenieść temat ponownie za własny offtopic albo bez takiej adnotacji lub w ostareczności z adnotacją infromującą o stanie autora wątku, bo widząc kolejne pytania zadawane przez @DiKey11 mam - wybaczcie, ale niestety poważne wątpliwości czy czasem pomyśli zanim cokolwiek napisze ;/ A i podsumowując. Nie podsyłam już gotowców w postaci swoich kodów źródłowych z exekami gotowych do uruchomienia i wszystko podane na tacy w postaci na ogół archiwum *.rar. Także @-123oho musisz tolerować to, że czasami komuś już podeśle link do google, ale i pomarudzę (no bo co, Ty możesz - to ja też ;)) przy okazji o konieczności również samodzielnej nauki i szukania. Taki już jestem. No i chyba musicie to tolerować, tak jak pewnie niektórzy muszą tolerować "Twój styl bycia", bo inaczej musieli by w ogóle nie czytać tego forum ;)
Także @-123oho musisz tolerować to, że czasami komuś już podeśle link do google
Jak przeżyłem twoje gotowce (skompilowane i z wirusami w skryptach) to już wszystko wytrzymam :D .
Taki już jestem. No i chyba musicie to tolerować, tak jak pewnie niektórzy muszą tolerować "Twój styl bycia", bo inaczej musieli by w ogóle nie czytać tego forum
Ja wiem że jakbym sam był na tym forum to by też nie było fajnie więc wyznaję zasadę "balans to podstawa".
Jeszcze nie mogę się powstrzymać na offtopic:
kAzek napisał(a)
zapewniam cię że bez ciebie forum istniało i by istniało nadal
Ale nie byłoby tak ciekawie!
-123oho napisał(a)
Sam go ( i nie tylko go) karmisz gotowcami...
Co jest gotowcem? To, że napisałem, że może skorzystać z plików INI, typowanych czy binarnych to nie znaczy, że dałem gotowca! Pare razu dałem gotowy kod jakiegoś algorytmu i to był gotowiec - gotowy do wklejenia w edytorze; Kodów już od dawna nie rozdaję, sprawdź jak nie wierzysz;
-123oho napisał(a)
Może się zdecyduj w którą stronę działasz.
Działam cały czas w jedną stronę - podpowiadam jak można dany problem rozwiązać i daję linki do tematów, które autor wątku musi przeczytać, żeby wiedzieć jak dany algorytm napisać; Jeśli według Ciebie to są gotowce, to 99% odpowiedzi na takie pytania na tym forum to gotowce...
Co jest gotowcem? To, że napisałem, że może skorzystać z plików INI, typowanych czy binarnych to nie znaczy, że dałem gotowca! Pare razu dałem gotowy kod jakiegoś algorytmu i to był gotowiec - gotowy do wklejenia w edytorze; Kodów już od dawna nie rozdaję, sprawdź jak nie wierzysz;
Nie mówiłem o tym temacie ale w ogóle o Tobie i autorze. Strona na której są gotowce to też gotowiec. Ale skoro tak się zapierasz to zobaczę raz jeszcze, proszę bardzo.
Działam cały czas w jedną stronę - podpowiadam jak można dany problem rozwiązać i daję linki do tematów, które autor wątku musi przeczytać, żeby wiedzieć jak dany algorytm napisać; Jeśli według Ciebie to są gotowce, to 99% odpowiedzi na takie pytania na tym forum to gotowce...
Nie, za gotowce uważam dawanie całego kodu który rozwiązuje problem lub dawanie linków zawierających rozwiązanie albo jego większość. Ale z drugiej strony gotowiec gotowcowi nierówny, zależy to również od problemu. Nie mniej bardzo się cieszę że zapewniasz mnie że nie dajesz gotowców.
Ale chodziło mi tutaj bardziej o coś innego: Najpierw dajesz opisy rozwiązania na wysokim poziomie, a potem stwierdzasz że kolega powinien zacząć od googla. Tutaj mi chodziło 'zdecyduj się w którą stronę działasz'.
-123oho napisał(a)
Nie mówiłem o tym temacie ale w ogóle o Tobie i autorze. Strona na której są gotowce to też gotowiec. Ale skoro tak się zapierasz to zobaczę raz jeszcze, proszę bardzo.
Nie podałem ani jednej strony, z której mógłby pobrać gotowy kod, tylko do kursów (np. o plikach INI czy własnych oknach dialogowych);
-123oho napisał(a)
Nie, za gotowce uważam dawanie całego kodu który rozwiązuje problem lub dawanie linków zawierających rozwiązanie albo jego większość.
Mam nadzieję, że chodzi Ci o kod, nie o kurs jak taki kod napisać; Bo podając link do tematu o plikach INI podaję rozwiązanie, ale kodu stamtąd nie skopiuje - dlatego mimo wszystko musi poczytać, a tym samym nauczyć się ich obsługi;
-123oho napisał(a)
Ale chodziło mi tutaj bardziej o coś innego: Najpierw dajesz opisy rozwiązania na wysokim poziomie, a potem stwierdzasz że kolega powinien zacząć od googla. Tutaj mi chodziło 'zdecyduj się w którą stronę działasz'.
Napisałem tak, ponieważ nie mam pewności co do tego, że autor nie łyknie tego tematu; To tylko moje daleko idące insynuacje, których nie mogę potwierdzić, nie mniej jednak odczuwam, że autor wątku nie bardzo orientuje się w temacie programowania (dlatego odsyłam do kursów), ale mogę się mylić (stąd podałem link do artykułu o tworzeniu włanych okien dialogowych);
No nic, zobaczymy co na to autor, czy zawiesi swoją działalność, czy pouczy się i przedstawi rozwiązanie problemu;