Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 15 odgovora
  • 4.679 pregleda

Najnovija ↓

Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 00:56 · pre 223 meseca #1
Iz nekoliko razloga mi ne odgovara kontrola DateTimePicker:

-Ne moze da se pretvori u XP style uz pomoc manifest fajla kao za Common controls (ili moze??)
-Ne moze da se skloni strelica za padajucu listu ili updown, pa da bude kao obican textbox.
-Ne moze da bude prazan tj. mora uvek da stoji neki datum
-Nema locked property

Da li neko ima alternativu ili kod za obican textbox koji bi prihvatao datum kao DTPicker (naravno bez kalendara)?

Mozda bi to trebalo da ide sa maskeditbox-om ali meni to ne uspeva uopste.
Re: Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 01:29 · pre 223 meseca #4
Ako ti ne odgovara DateTimePicker iz razloga koje si naveo, mozes koristiti MaskEdit kontrolu sa npr. maskom "##.##.####" ali je onda na tebi da konvertujes i kontrolises upisane vrednosti (kontrola da li je upisani tekst uopste moguc datum i sl.)
Re: Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 03:50 · pre 223 meseca #6
Ne razumem cemu tolika frka...

Moze jednostavno da resi to sa text box-om:

Code:

Private Sub Text1_KeyPress(KeyAscii As Integer)

    If KeyAscii = 13 Then
        Text1.Text = Format$(Text1.Text, "DD/MM/YYYY")
        KeyAscii = 0 ' Da se ne bi culo "DING"
    End If
    
End Sub


Ili mozda ja nisam najbolje razumeo pitanje...
Re: Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 07:11 · pre 223 meseca #7
@stefanpn: nisi se bas udubio u problematiku, verovatno nisi bas puno pravio programe gde se zahteva unos datuma :)

DateTimePicker je svojevremeno kad je uveden sa VB 6 meni licno prilicno olaksao posao, mada sve one primedbe sto je Dejan naveo stoje (osim one da ne moze prazan: moze ako se stavi da je Checkbox = True i DateTimePicker1.Value = Null)

P.S. Ima tu i jedna mana koju nisi naveo: kada se datum promeni, postoji zadrska od par sekundi dok se novouneti datum ne prihvati, tj. dok DateTimePicker.Value ne dobije vrednost unetog datuma.
Re: Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 09:46 · pre 223 meseca #8
Ja umjesto mscomct.ocx imam mscomct2.ocx koja je dosla sa SP6 pa se nadam da mislimo na istu stvar.

Stavi DateTimePicker1 na picture kontrolu. Pictur1.BorderStyle = 0

Citat:
Dejan Jankovic: Iz nekoliko razloga mi ne odgovara kontrola DateTimePicker:
-Ne moze da se skloni strelica za padajucu listu ili updown, pa da bude kao obican textbox.


neka picture kontrola bude iste visine kao DateTimePicker1, a sirina neka joj bude manja za onu strelicu (prema dole) koju zelis sakriti.

Citat:
Dejan Jankovic:
-Nema locked property



picture enable postavi na false.

Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Pomoc za unos datuma (DateTimePicker ili ne) 14.06.2008. u 12:47 · pre 223 meseca #9
Citat:
goranvuc: Ako ti ne odgovara DateTimePicker iz razloga koje si naveo, mozes koristiti MaskEdit kontrolu sa npr. maskom "##.##.####"


Sa MaskEdit ne ide nikako (definitivno se cudno ponasa)

Citat:
goranvuc: 
P.S. Ima tu i jedna mana koju nisi naveo: kada se datum promeni, postoji zadrska od par sekundi dok se novouneti datum ne prihvati, tj. dok DateTimePicker.Value ne dobije vrednost unetog datuma.


Pa i to stoji a ima i jos;
kad je u formatu dd.MM.yyyy i kada se ukuca vise dana nego sto mesec ima (npr. 30.feb) po prelasku na mesec,
dan se vraca na predhodnu vrednost, tj. korisnik je primoran da prvo poromeni mesec pa da se vrati na unos za dane
Nisu bas imali razumevanja za nas format datuma kad su je pravili:(

Citat:
dava: Ja umjesto mscomct.ocx imam mscomct2.ocx koja je dosla sa SP6 pa se nadam da mislimo na istu stvar.


da ustvari mscomct2.ocx (greska u kucanju)

Citat:
dava: Stavi DateTimePicker1 na picture kontrolu. Pictur1.BorderStyle = 0
picture enable postavi na false.


Moze ovo, ali ne mogu da kazem da sam bas odusevljen - umesto jedne i jednostvnije kontrole sad imamo dve
Mada za ideju svaka cast
Re: Pomoc za unos datuma (DateTimePicker ili ne) 15.06.2008. u 19:44 · pre 223 meseca
izmenjeno 2 puta, poslednji put Dejan Jankovic 15.06.2008. u 21:58
  1. Dejan Jankovic15.06.2008. u 21:58zapis iz teksta poruke
  2. Dejan Jankovic15.06.2008. u 21:56zapis iz teksta poruke
#12
Posto ne nadjoh ono sto sam zeleo evo jedne zanimljive varijante
Code:


Private Sub txtDatum_KeyPress(KeyAscii As Integer)
Dim strValid As String

txtDatum.SelLength = 1 'Ovo je bitno
    
Select Case txtDatum.SelStart
Case 0 'D1
    strValid = "0123"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case 1 'D2

    strValid = "0123456789"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
    
Case 2 'Separator
    txtDatum.SelStart = txtDatum.SelStart + 1
    txtDatum.SelLength = 1
Case 3 'M1

    strValid = "01"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case 4 'M2

    strValid = "0123456789"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
    
Case 5 'Separator
    txtDatum.SelStart = txtDatum.SelStart + 1
    txtDatum.SelLength = 1
Case 6 'G1

    strValid = "12"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case 7 'G2

    strValid = "0123456789"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case 8 'G3

    strValid = "0123456789"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case 9 'G4

    strValid = "0123456789"
    If InStr(strValid, Chr(KeyAscii)) = 0 Then
        KeyAscii = 1
        txtDatum.SelLength = 0
    End If
Case Else
    KeyAscii = 1
    txtDatum.SelLength = 0
End Select

If KeyAscii = 13 Then 'Enter
'Konacna validacija
End If
End Sub

Naravno ovo treba jos malo doterati, ali mislim da u sustini moze da prodje
Trebalo bi jos srediti cut i paste kao i delete taster (jer ne izaziva KeyPress event)
Zanima me vase misljenje - ima li smisla ovo raditi?!
Re: Pomoc za unos datuma (DateTimePicker ili ne) 16.06.2008. u 08:44 · pre 223 meseca #13
Ako ces sam praviti kontrolu za unos datuma moraces se mnogo vise potruditi.
Evo datuma koji prodju tvoju validaciju:
21ć11.200
32.13.2008
30.02.2008

Onda, sta u slucaju da je u regional settings-u podesen razlicit format datuma?

Imas f-ju IsDate() koja vraca false ako datum nije validan.

Mozda je ipak jednostavnije staviti predvidjenu kontrolu.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Pomoc za unos datuma (DateTimePicker ili ne) 16.06.2008. u 13:40 · pre 223 meseca #15
21.1208
00.00.0000 (Isuse)
kako da upisem 10 mjesec?
kad se izbrise tacka kao da se ponovo doda?
upisem samo 12 i izadjem iz polja.
... uf necu dalje
Ovo je losije od onoga maloprije, pogrijesio si smjer razvoja :)

P.S. a da ipak uzmes gotovu kontrolu.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme