ďťż

88257_1

Lemur zaprasza

Strona: [  >  ]  z  1     










Autor
Temat: Coś robię nie tak, ale nie wiem co?











gibcio







Typ:
neutral

Postów: 39

Zarejestrowany: Oct 2004





Coś robię nie tak, ale nie wiem co?


Mam coś takiego: Po wpisaniu słowa "Budzik" program uruchamia kontrolkę Timer o nazwie "Budzik"
Dim D As Integer
Dim strPlik As String
strPlik = App.Path & "\Ustawienia.ini"
Private Sub Text1_KeyPress(vbKeyReturn As Integer)
If Text1.Text = "Budzik" Then
Text2.Text = "    Podaj godzinę w formacie: " & "010" & " albo 21:30"
Text1.Text = ""
Budzik.Enabled = True
End If

Zawartość kontrolki Budzik_Timer:

Private Sub Budzik_Timer()
D = WritePrivateProfileString("Budzik", "Podana godzina", CStr(Me.Text1.Text), strPlik)
Pomiar
End Sub

Po wpisaniu godziny program zapisuje ją do pliku
i wywoływana jest procedurka Pomiar, oto jej składnia:

Private Sub Pomiar()
Dim Text1 As Integer
Text1 = GetPrivateProfileInt("Budzik", "Podana godzina", 0, strPlik)
If Text1 = Time Then
Text2.Text = ""
Label3.Caption = "BUDZIK ! ! !"
End If
End Sub
I tutaj ma być odczytana godzina i porównana z bierzącą, jeśli jest taka sama to w Label3 ma się pojawić napis "BUDZIK ! ! !", ale tak nie jest nic się nie odczytuje bnajmniej nie pokazuje w Label3 i nigdzie. Proszę pomóżcie!!







01-12-2004 22:57



 
      

1654622














DJK






Typ:
neutral

Postów: 871

Zarejestrowany: Feb 2004







Hmmm a co ma ci pokazać jak przed odpaleniem Timera zerujesz Text1



_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie






02-12-2004 00:09



 
    














gibcio







Typ:
neutral

Postów: 39

Zarejestrowany: Oct 2004







W
Private Sub Text1_KeyPress(vbKeyReturn As Integer)
wymazałem
Text1.Text = ""
i po naciśnieciu Eneter pokazyje mi jeden.







02-12-2004 15:29



 
      

1654622














marcin_an

Forumowicz






Typ:
neutral

Postów: 1265

Zarejestrowany: Mar 2004







Może zmiana nazwy zmiennej z Text1 na inną by pomogła? Masz już kontrolkę o tej samej nazwie.

Poza tym do pliku zapisujesz TEKST, odczytujesz LICZBĘ i porównujesz z CZASEM... postaraj się zachować jeden format...
Funkcja TIme zwraca ci wartosć Typu Date, porównujesz ją z liczbą, która nie wiadomo właściwie jaka jest, bo pobierasz ją z pliku, gdzie została zapisana w formie tekstu z ":" w środku... tekst z ":" w środku nie będzie traktowany jako liczba.


[Post edytowany dnia 02-12-2004 16:16 przez marcin_an]


_____________________________________________
Popieram losmaca:
1) Ludzie, dbajcie o polszczyznę!!! 
2) Ludzie, zadawajcie kompletne pytania, a nie - rzucacie ochłapy i trzeba się domyślać o co chodzi!!!
___
NOWE FORUM






02-12-2004 16:13



 
    














DJK






Typ:
neutral

Postów: 871

Zarejestrowany: Feb 2004







Może najpiew zobacz czy godzina jest poprawnie zapisana w pliku



_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie






02-12-2004 16:37



 
    














DJK






Typ:
neutral

Postów: 871

Zarejestrowany: Feb 2004







GetPrivateProfileInt - a co to ma być - jak ci ma zwrócić czas jak ta funkcja zwraca INTEGERA tzn gdy masz 16:142 to zwróci ci tylko 16

Zastosuj GetPrivateProfileString



_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie






02-12-2004 16:54



 
    














gibcio







Typ:
neutral

Postów: 39

Zarejestrowany: Oct 2004







GetPrivateProfileString
tam trzeba określić bufor gdzie ma być umieszczona wartość klucza jak mam to zrobić. Resztę już wiem.







02-12-2004 18:45



 
      

1654622














DJK






Typ:
neutral

Postów: 871

Zarejestrowany: Feb 2004







Dim RetVal As String * 255, v As Long

v = GetPrivateProfileString(Section, Key, "", RetVal, 255, Filename)
Godzina = Left(RetVal, v)

Section - "Budzik"
Key - Podana godzina"
FileName - twój plik

Abyś lepiej zrozumiał "Retval As String * 255" określa maksymalny rozmiar zmiennej RetVal

Oczywiście nie musi to być 255 bo jak uzywasz tej funkcji tylko do odczytu godziny, która zawsze będzie miała 8 znaków to mozesz zamiast 255 napisać

Retval As String* 8

i w funckcji też zamiast 255 wpisać 8

Acha - jeszcze jedno

Godzina = Left(Retval,v) możesz pominąć jeżeli zastosujesz liczbę 8 bo "v" zwraca ci liczbę znaków jakie zostały odczytane z pliku Ustawienia czyli w twoim wypadku zawsze będzie 8.

np.

Plik Retval As String * 8:

Znak -> 1 2 3 4 5 6 7 8
Godzina 1 6 : 1 4 : 3 3

odczytujesz godzinę i v = 8 bo odczytano 8 znaków

Moznaby pisać i pisać


Pozdrawiam


[Post edytowany dnia 02-12-2004 19:51 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie






02-12-2004 19:42



 
    














gibcio







Typ:
neutral

Postów: 39

Zarejestrowany: Oct 2004







Działa wielkie dzięki







03-12-2004 17:34



 
      

1654622













Wszystkich odpowiedzi: 8 :: Maxymalnie na stronę: 20










Strona: [  >  ]  z  1     
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza