ďťż
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 |