Forum » Programiranje » VB6 tezava
VB6 tezava
GaS ::
imam eno fprašanje; kako bi lahko v vb6 naredu cist enostavno stvar: imam en userform pa notr en button,ki ko kliknes nanj,se odpre color palette in potem se spremeni bgcolor od userform-a.zdej me pa zanima, kako bi naredu, da bi to barvo on shranil v neko datoteko (tako ala .ini) in bi kasneje ko bi program ponovno zagnal, bila barva ozadja shranjena?
hvala!
hvala!
Monster ::
ma to maš full mal kode.. malo fi pogledaj na MSDNju pa kje drugje tudi :) temo I/O manipulating.. file manipulating... sicer pa bi koda zgledala nekako
takole
takole
Ka zaboga...
Fim ::
Jaz bi zadevo poenostavil in bi podatek vedno ob spremembi zapisal v register ob startu programa pa bi ga iz registra prebral.
Vrednost se zapišejo v HKEY_CURRENT_USER\Softwear\VB and VBA program settings\.....)
Zapis v register:
SaveSetting App.Title, "Settings", "Barva Ozadja", varBarva
Branje iz registra:
varBarva = GetSetting(App.Title, "Settings", "Barva Ozadja", defaultBarva)
"Settings" je ime sekcije v registru, "Barva ozadja" pa je ključ, zadnji parameter pa je v prvem primeru variabla kjer si shranil nastavljeno barvo, v drugem pa default vrednost, če zapisa v registru še ni.
V helpu imaš lepo razložene parametre pa si jih še malo oglej, pa še pripadajoče funkcije (DeleteSettings, GetAllSettings,..).
Vrednost se zapišejo v HKEY_CURRENT_USER\Softwear\VB and VBA program settings\.....)
Zapis v register:
SaveSetting App.Title, "Settings", "Barva Ozadja", varBarva
Branje iz registra:
varBarva = GetSetting(App.Title, "Settings", "Barva Ozadja", defaultBarva)
"Settings" je ime sekcije v registru, "Barva ozadja" pa je ključ, zadnji parameter pa je v prvem primeru variabla kjer si shranil nastavljeno barvo, v drugem pa default vrednost, če zapisa v registru še ni.
V helpu imaš lepo razložene parametre pa si jih še malo oglej, pa še pripadajoče funkcije (DeleteSettings, GetAllSettings,..).
Slide ::
Že že fim samo pri tebi gre za poseganje v registre, kar sm pa proti.
Model enostavno uporabi eno datoteko kamor shranjuješ nastavitve. Kot naprimer vrednosti 0 ali 1 On ali Off, nima veze kaj, potem za barve določiš določene konstante za barve al pa uporabiš vrednost ki jo vrne RGB in to zapišeš v datoteko. In potem v Form_Load() odpri datoteko in preberi vse parametre in nastavi Form
Recimo da hočemo ozadje rdeče ok. Shraniš v datoteko konstatno ki jo vrne RGB za rdečo, ne vem iz glave kolk je. In zapišeš string Ozadje=x, kjer je x konstanta ki jo vrne RGB. Kako se piše v datoteko si preberi v MSDNu
na hitro
Open (path datoteke) For Output As #1
Print #1, (string)
Close #1
recimo da je datoteki ime settings.ini
potem v Form_Load() dodaj
Dim setT(1024) As String 'tabela za stringe iz datoteke
Open App.Path & "\settings.ini" For Input As #1
i=0
Do While Not EOF
'beri datoteko do konca
Line Input #1, setT(i)
i=i+1
Loop
Close #1
Tako si prebral vse iz datoteke
Potem pa v zanki poiščeš določeno konstanto iz tabele in jo uporabiš za nastavitev
Form.Backcolor = Right(setT(i),dol) kjer je dol dolžina konstante. in i določen string
Priznam da je komplicirano samo se izogneš registrom ki pa niso varni za poseganje. To je moje mnenje
Model enostavno uporabi eno datoteko kamor shranjuješ nastavitve. Kot naprimer vrednosti 0 ali 1 On ali Off, nima veze kaj, potem za barve določiš določene konstante za barve al pa uporabiš vrednost ki jo vrne RGB in to zapišeš v datoteko. In potem v Form_Load() odpri datoteko in preberi vse parametre in nastavi Form
Recimo da hočemo ozadje rdeče ok. Shraniš v datoteko konstatno ki jo vrne RGB za rdečo, ne vem iz glave kolk je. In zapišeš string Ozadje=x, kjer je x konstanta ki jo vrne RGB. Kako se piše v datoteko si preberi v MSDNu
na hitro
Open (path datoteke) For Output As #1
Print #1, (string)
Close #1
recimo da je datoteki ime settings.ini
potem v Form_Load() dodaj
Dim setT(1024) As String 'tabela za stringe iz datoteke
Open App.Path & "\settings.ini" For Input As #1
i=0
Do While Not EOF
'beri datoteko do konca
Line Input #1, setT(i)
i=i+1
Loop
Close #1
Tako si prebral vse iz datoteke
Potem pa v zanki poiščeš določeno konstanto iz tabele in jo uporabiš za nastavitev
Form.Backcolor = Right(setT(i),dol) kjer je dol dolžina konstante. in i določen string
Priznam da je komplicirano samo se izogneš registrom ki pa niso varni za poseganje. To je moje mnenje
GaS ::
OK super, bom probal obe moznosti, zdej me pa sam se zanima, kako bi lahko nekak sortiral DBGrid cim enostavneje po stolpcih, glede na to da je tabela tipa Table. Imam recimo 10 stolpcev in da bi sortiral npr. po imenu filma, ali ce so podanpisi al ne..pa ne da bi s ksnimi poizvedbami delal..
Slide ::
Moje znanje z DBGrid je zelo amatersko, samo enkrat sm pa delaw z sortiranjem baze in moraš uporabiti Index, s pomočjo katerega potem lahko delaš funkcije kot so najdi zapis in sortiranje zapisov v podatkovni bazi in potem samo izpiseš v DBGrid.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Prenehanje pridobivanje informacij o vremenuOddelek: Operacijski sistemi | 1287 (886) | GTX970 |
» | [Visual Basic] Med sabo povezani formiOddelek: Programiranje | 662 (543) | Utk |
» | [VC++] Uporaba INI fajla v isti mapi kot exe ?Oddelek: Programiranje | 1263 (1117) | Person |
» | Visual Basic: aplikacija v več jezikih (obstaja kakšen plugin, ali komponenta, ki biOddelek: Programiranje | 1202 (1027) | darkolord |
» | VB6 problemOddelek: Programiranje | 1501 (1124) | StratOS |