» »

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!

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
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,..).

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

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..

Monster ::

...em ka DBgrid ne sortira avtomatsko ko klikneš na ime colluma?
Ka zaboga...

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Prenehanje pridobivanje informacij o vremenu

Oddelek: Operacijski sistemi
121287 (886) GTX970
»

[Visual Basic] Med sabo povezani formi

Oddelek: Programiranje
9662 (543) Utk
»

[VC++] Uporaba INI fajla v isti mapi kot exe ?

Oddelek: Programiranje
121263 (1117) Person
»

Visual Basic: aplikacija v več jezikih (obstaja kakšen plugin, ali komponenta, ki bi

Oddelek: Programiranje
101201 (1026) darkolord
»

VB6 problem

Oddelek: Programiranje
221501 (1124) StratOS

Več podobnih tem