Zapis do souboru v Delphi
Zdravím.
Mam soubor.
Tady je kousek
user_pref("intl.charsetmenu.browser.cache", "ISO-8859-2, windows-1251, ISO-8859-1, windows-1250, UTF-8");
user_pref("network.cookie.prefsMigrated", true);
user_pref("network.http.max-persistent-connections-per-server", 4);
user_pref("network.proxy.backup.ftp", "moje proxy");
user_pref("network.proxy.backup.ftp_port", 3128);
user_pref("network.proxy.backup.gopher", "");
user_pref("network.proxy.backup.gopher_port", 0);
user_pref("network.proxy.backup.socks", "moje proxy");
user_pref("network.proxy.backup.socks_port", 3128);
user_pref("network.proxy.backup.ssl", "moje proxy");
user_pref("network.proxy.backup.ssl_port", 3128);
user_pref("network.proxy.ftp", "moje proxy");
user_pref("network.proxy.ftp_port", 3128);
user_pref("network.proxy.gopher", "moje proxy");
user_pref("network.proxy.gopher_port", 3128);
user_pref("network.proxy.http", "moje proxy");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "moje proxy");
user_pref("network.proxy.socks_port", 3128);
user_pref("network.proxy.ssl", "moje proxy");
user_pref("network.proxy.ssl_port", 3128);
user_pref("network.proxy.type", 1);
user_pref("nglayout.initialpaint.delay", 600);
Kdysi davno jsem si udělal batak přes ktery jsem nastaveni měnil
echo user_pref("network.proxy.ftp", "moje proxy");>>"%ffile%\prefs.js"
echo user_pref("network.proxy.ftp_port", 3128);>>"%ffile%\prefs.js"
Jak však na to v delphi, poradite
na co ti je delphi ked to ide urobit batakom?
V dephi sa to robi stejne jak v jakomkolvek inom programovacom jazyku, zavola sa funkcia na otvorenie suboru s prislusnymi parametrami (u teba tam bude najskor Append flag), funkcia na zapis do suboru, a funkcia na zavretie suboru.
Funkcie zavisia aj trochu od platformy, idealne je volat priamo WinAPI (CreateFile atd, viz MSDN) aby si mal istotu ze co to robi. Alebo si das do google delphi file functions.
No pokud chci to ted použivat v Delphi tak mi připada jako pěkna prasarna volat přes Delphi batak ne.
Otevřit ten soubor,načist po řadci do stringu a porovnat zda je ve stringu třeba user_pref("network.proxy.ftp" je jednoduche.
Jak ale se zapisem.
To bych musel každy načteny řadek uložit do noveho souboru a pak ten puvodni přepsat.
Proto jsem se obratil tady zda neni jednoduchší řešení.
Proč bys ho musel přepsat?
ja neviem co chces robit ale ten bat len pridava na konic suboru, tak preto som sa pytal naco ti je delphi - CO chces teraz robit inac jak v tom bat? Naco ti je vobec delphi?
Funkcie na pracu so subormi funguju tak ze ak chces zapisovat na koniec suboru tak otvoris povodny subor presunies sa (seek) na koniec suboru (alebo otvoris subor s flagom append) a zapisujes len to co sa ma tam pridat na koniec.
Ak chces nieco prepisovat bez posuvania znakov v zvysku suboru tak sa presunies (seek) na poziciu ktoru chces menit a zapisujes.
Ak chces prepisovat tak ze by sa zbytok suboru musel posuvat tak to sa robi tak ze sa subor nacita do pamate a zmeni sa v pamati co chces a nasledne sa subor prepise cely, alebo od miesta ktore treba menit az po koniec suboru apod. Cele to vzdy zavisi od toho jaky velky moze byt subor (kvoli pamati) a od pozadovanych operacii. Je to na programatorovi aby to urobil optimalne vzhladom na dane poziadavky a ne jak pako.
http://www.zive.cz/clanky/umime-to-s-delphi-24-dil --prace-se-soubory-podrobneji-1-cast/sc-3-a-102674 /default.aspx
Asi by som to riešil možno nejak takto:
Netvrdím, že neexistuje lepšie riešenie, ale toto je asi "najbezbolestnejšie"...
pme dik moc, to je vončo