 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.18
|
Objavljeno: Čet Sep 27, 2007 9:13 am Naslov sporočila: |
|
|
Shranjevanje podatkov v INI datoteke je stvar, ki sega v čase kremenčkov oziroma Windowsov serije 3+. Problem, ki ga vsaj jaz vidim je, da INI ne sledi objektnemu programiranju in pri shranjevanju bolj kompleksnih podatkovnih struktur, kaj hitro trčiš v njegove omejitve.
Sodoben način shranjevanja so XML datoteke. Prijazne do programerja in končnega uporabnika. Vsebino lahko na enostaven način pogledaš in takoj vidiš, kdo ga serje. Enostavno povezljiva tudi z WEB aplikacijami, kjer si lahko tako shranjene podatke na zelo enostaven način ogleduješ tudi preko internet explorerja.
Zelo uporabne tudi pri izmenjavi podatkov med različnimi programi. Imajo eno zelo lepo lastnost in sicer, da v sebi združujejo tako informacijo o tipu podatka, kakor tudi o vrednosti podatka samega (v zeloooo zeloooooo omejenem obsegu je to sicer tudi INI).
Ko se enkrat navadiš na XML je vse ostalo zgodovina.
|
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.30
|
Objavljeno: Čet Sep 27, 2007 9:42 am Naslov sporočila: |
|
|
Ni nujno, da so sodobne stvari tudi boljse. Vsaka stvar ima svoj namen.
INI ni prijazen do progamerja?
Ne rabis neke umetnosti, pises in beres stringe.
Do koncnega uporabinka? Je zapleten za pogledat? Za popravljat?
Tajnici je vseeno, ostali pa lepo odprejo notepad. Mogoce je pri tebi kaksen cuden ini, vendar tekst datoteke v stilu:
[Objekt]
Lastnost=vrednost
pa res niso zapletene.
Ne zastopim pa, kaj ima sranje tukaj, ko pa si zelis samo shraniti zadnjo pozicijo okna, preden se zapre. To je pac primer, ki se obravnava v tej temi.
INI datoteke so zelo lustkana stvar, raje bi videl INI kot pa razkopavanje po registry-u ali pa pisanju parserja za XML za nek nezapleten problem.
|
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.65 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Čet Sep 27, 2007 9:54 am Naslov sporočila: |
|
|
ime_komponente.setfocus; (Primer: MaskEdit1.SetFocus;) je tisto pravo. Premakne se na omenjeno komponento.
ime_komponente.enabled:=false; //onemogoči komponento (na primer osenči gumb, je viden, ni pa uporaben)
ime_komponente.enabled:=true; //nazaj aktivira komponento
ime_komponente.visible:=false; //skrije komponento
ime_komponente.visible:=true; //nazaj prikaže komponento
Jur
Nazadnje urejal/a jur Čet Sep 27, 2007 10:05 am; skupaj popravljeno 3 krat |
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.18
|
Objavljeno: Čet Sep 27, 2007 10:03 am Naslov sporočila: |
|
|
Glitch je napisal/a: |
INI datoteke so zelo lustkana stvar, raje bi videl INI kot pa razkopavanje po registry-u ali pa pisanju parserja za XML za nek nezapleten problem. |
Tega tvojega stavka "ali pa pisanju parserja za XML" pa ne razumem najbolje. Tudi za INI datoteke ne pišeš parserja, temveč uporabljaš že obstoječe knjižnice.
Popolnoma ista stvar je z XML!!!
V končni fazi potrebuješ bolj ali manj isto število kodnih vrstic, s tem, da imaš pri XML bistveno več možnosti, saj lahko posamezne lastnosti elementov poljubno gnezdiš in s tem povečuješ samo preglednost shranjenega.
Kot sem že gor napisal, tudi INI je O.K. v kolikor si zadovoljen z njegovimi omejitvami. Po mojem mnenju pa zadostuje bolj ali manj za zelo osnovne potrebe.
|
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.61 Kraj: Kranj - struževo
|
Objavljeno: Čet Sep 27, 2007 1:58 pm Naslov sporočila: |
|
|
Proteus, če že navijaš za XML in njegov bojda obstoječ parser, prosim če objaviš tudi kakšen primer kode... hvala.
LP.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14677 Aktiv.: 61.80
|
Objavljeno: Čet Sep 27, 2007 2:12 pm Naslov sporočila: |
|
|
Resnici na ljubo - včasih se mi spet stoži po nostalgiji. Clipper iz pred dvajset let je znal zbasat vse uporabljene spremenjivke v datoteko z eno ukazno vrstico.
"SAVE ALL to 'datoteka.mem' Nazaj si vse dobil z RESTORE from datoteka.
Enako je z vnosnimi polji. Spremenjivki, ki je pripadala določenem polju si le dodelil tip pa je v njo priletelo točno tisto kar si potreboval brez pretvarjanja. Tukaj pa vse izhaja iz stringa ...
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.61 Kraj: Kranj - struževo
|
Objavljeno: Čet Sep 27, 2007 2:17 pm Naslov sporočila: |
|
|
Silvo je napisal/a: |
Tukaj pa vse izhaja iz stringa ... |
Če uporabljaš INI file, je konverzija iz numeričnega formata v string in nazaj povsem avtomatična. Uporabiš pač funkcijo za branje in pisanje števil (npr. integer).
Poleg tega ni nikoli potrebe za shranjevanje vseh spremenljivk. Ponavadi je samo par pomembnih.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.65 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Čet Sep 27, 2007 2:30 pm Naslov sporočila: |
|
|
Silvo je napisal/a: |
...Tukaj pa vse izhaja iz stringa ... |
Ne, ne. Pravzaprav je string tukaj postranska zadeva. V datoteke lahko zapisuješ (in bereš) tudi cela števila, byte, realna števila, skratka popolnoma vse.
Jur
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14677 Aktiv.: 61.80
|
Objavljeno: Čet Sep 27, 2007 2:36 pm Naslov sporočila: |
|
|
aly je napisal/a: |
Silvo je napisal/a: |
Tukaj pa vse izhaja iz stringa ... |
Če uporabljaš INI file, je konverzija iz numeričnega formata v string in nazaj povsem avtomatična. Uporabiš pač funkcijo za branje in pisanje števil (npr. integer).
Poleg tega ni nikoli potrebe za shranjevanje vseh spremenljivk. Ponavadi je samo par pomembnih. |
Glej moti me sledeče. Vse kar prileti z Edit polje je tipa string. MaskEdit sicer reši dobršen del naloge. Lokalno lahko omejiš, da string ne vsebuje nečesa, česar ne potrebuješ oz. ne sme biti v nizu.
Kako dalje? Je bolje vse spremenjivke tipa string pretvoriti recimo v odzivni proceduri "OnChange" v ustrezne javne spremenjivke oz jih pretvarjati sproti, ko jih potrebuješ?
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
jur Član


Pridružen-a: Pet 02 Dec 2005 14:45 Prispevkov: 5142 Aktiv.: 21.65 Kraj: [color=zelena]Ljubljana[/color]
|
Objavljeno: Čet Sep 27, 2007 2:43 pm Naslov sporočila: |
|
|
Aha, za to gre.
Edit komponenta je univerzalno namenjeno za vnašanje česarkoli, ne samo za vnašanje številk. Načeloma lahko narediš tudi svojo komponento (na primer numedit, ki bo procesirala in vračala samo številke. Pisanje/kreiranje komponent je približno toliko komplicirano, kot pisanje programa, nič več.
Jaz podatke pretvorim takrat, ko jih dejansko potrebujem. Nekako v tem smislu: x:= strtoint(edit1.text)*strtoint(edit2.txt). On_change procedura poskrbi samo to, da je številka pravilno vnešena (izloči črke).
Jur
Na netu našel en numedit. Ali je to to?
Opis: |
|
 Download |
Ime datoteke: |
NUMEDIT.zip |
Velikost datoteke: |
4.08 KB |
Downloadano: |
5 krat |
|
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.18
|
Objavljeno: Čet Sep 27, 2007 4:16 pm Naslov sporočila: |
|
|
aly je napisal/a: |
Proteus, če že navijaš za XML in njegov bojda obstoječ parser, prosim če objaviš tudi kakšen primer kode... hvala.
LP. |
Aly majhen Hint.
Kako pa uporabnik v tvojih aplikacija vidi nastavitve?
Potrebuješ uporabniški vmesnik, kjer lahko zadeve enostavno pregleduje in ker smo ljudje že v osnovi leni, mora biti izdelan na način, kjer z najmanj dosežeš največ (n.pr. par novih parametrov naj ne narekuje izdelavo nove forme ali prestrukturiranja obstoječe).
Če so podatki več-nivojski, potem potrebuješ nekaj v smislu, kot ti nudi n.pr. komponenta TTreeView.
Potem pa samo še funkciji XML2Tree in Tree2XML.
Vse ostalo pa
|
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.30
|
Objavljeno: Čet Sep 27, 2007 4:29 pm Naslov sporočila: |
|
|
Proteus je napisal/a: |
Kako pa uporabnik v tvojih aplikacija vidi nastavitve?
|
Za orto lenuhe kar z notepadom.
|
|
Nazaj na vrh |
|
 |
Proteus Član



Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1943 Aktiv.: 8.18
|
Objavljeno: Čet Sep 27, 2007 4:48 pm Naslov sporočila: |
|
|
Glitch je napisal/a: |
Za orto lenuhe kar z notepadom.  |
Z notepadom lahko brez problema editiraš tudi XML.
Seveda pa je to dober način, da zapravljaš popoldneve v razlaganju uporabnikom, kaj naj kam odtipkajo. Očitno imaš bolj malo izkušenj s končnimi uporabniki in njihovo inovativnostjo.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14677 Aktiv.: 61.80
|
Objavljeno: Čet Sep 27, 2007 5:44 pm Naslov sporočila: |
|
|
Še vedno "mešetram" z nizi ter številkami
Recimo decimalna maska '99,9' pusti vnesti le cifre lahko pa se vnese tudi presledek
(nisem raziskoval, če je to res chr32 skratka lahko se napiše recimo 10 ,9) pri tem program v nadaljevanju seveda crkne:
Project Project12.exe raised exception class EConvertError with message ''1 ,0' is not a valid floating point value'. Process stopped. Use
Step or Run to continue.
Poskusil sem proceduro Val ter funkcijo StrToFloat. Kako rešujete podobne težave?
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Glitch Član

Pridružen-a: Pet 07 Apr 2006 11:40 Prispevkov: 1477 Aktiv.: 6.30
|
Objavljeno: Čet Sep 27, 2007 6:09 pm Naslov sporočila: |
|
|
Proteus je napisal/a: |
Glitch je napisal/a: |
Za orto lenuhe kar z notepadom.  |
Z notepadom lahko brez problema editiraš tudi XML.
Seveda pa je to dober način, da zapravljaš popoldneve v razlaganju uporabnikom, kaj naj kam odtipkajo. Očitno imaš bolj malo izkušenj s končnimi uporabniki in njihovo inovativnostjo. |
Da zakljucim to debato, ker je nekako zasla.
1. Na orto lenuhe sem mislil programerje, katerim se ne da ukvarjati z vmesnikom za nastavitve. Ce pogledas danasnji software, je to kar precejsen procent programerjev. S to razliko, da imajo nastavitve v registryju. Tak komentar je bil misljen kot sala.
2. S koncnimi uporabniki imam nekaj izkusenj, tako da ne govorim kar tako. Seveda ne v tako veliki meri kot nekdo drug, seveda tudi ne tako malo.
3. Izgleda, kot da mislis, da imam(o) kaj proti XML. Prav nic, je zelo koristen (si nastel nekatere lastnosti, pa se se kaj najde). Ampak, kot sem povedal na zacetku: vsaka stvar ima svoj namen. INI datoteke so preproste, lepo definirane, obvladljive za programerja in uporabnika. Za potrebe v tem postu popolnoma zadostujejo. To, da so stare, ni pomembno. V koncni fazi so tudi nekatere ostale datoteke prastare in lepo funkcionirajo.
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 7 dni
Powered by phpBB © 2001, 2005 phpBB Group
|