vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest piątek, 17 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

[VB6] Odczyt z tabeli wartości i liczenie średniej


otwartyotwarty rozpoczął: Gravis postów: 5



napisał: Gravis
postów: 3


umieszczony:
6 grudnia 2010
13:04

  
Dzięki wielkie, zdaje się że wszystko jest w porządku - to się okaże jak oddam projekt ;) pozdrawiam
napisał: Trebor
postów: 1209


umieszczony:
5 grudnia 2010
18:20

  
Jeśli masz prawidłowe wyniki to porównaj z wyliczeniami z kodu.
Można zamiast dwa razy przebiegać po pliku zapisać dane w tablicy, chociaż zysk z tego żaden.
Sub OdczytPliku()

Dim i As Long, suma As Double, liczba As Double
Dim srednia As Double, wariancja As Double, odchylka As Double
i = 0
'Otwieramy plik
Open "C:\Documents and Settings\Admin\Pulpit\test.txt" For Input As #1

'odczytujemy w pętli dane z pliku
Do While Not EOF(1)
     Input #1, liczba
suma = suma + liczba
    i = i + 1
Loop
Close #1
srednia = suma / i
MsgBox srednia
'-------------------------------------------------------
Open "C:\Documents and Settings\Admin\Pulpit\test.txt" For Input As #1
Do While Not EOF(1)
     Input #1, liczba
wariancja = wariancja + (srednia - liczba) ^ 2
Loop
Close #1
wariancja = wariancja / i
MsgBox wariancja
odchylka = wariancja ^ 0.5
MsgBox odchylka
End Sub

napisał: Gravis
postów: 3


umieszczony:
5 grudnia 2010
17:06

  
nazwa pliku rozmiar
Zapocet2010.pdf 72.20 kB

Wielkie dzięki za pomoc - faktycznie to działa...

Sprawa wygląda tak, że mam "projekt" napisać program bowiem jestem teraz na studiach w Czechach i zadanie jest po Czesku a ja nigdy nie programowałem z VB, a w języku czeskim to już całkiem jazz x)

W załączniku jest pdf gdzie jest treść zadania - tam są jeszcze 2 wzory których muszę użyć w tym programie - mógłbyś tam zerknąć jakie to linijki trzeba dopisać, żeby to działało poprawnie? Dodam, że mam je w C++ ale nie wiem jak to przełożyć do tego mojego programu...
napisał: Trebor
postów: 1209


umieszczony:
5 grudnia 2010
16:19

  
Trafiłeś na forum VBA jednak jeśli chodzi o Twoje pytanie to nie powinno to mieć większego znaczenia. Sprawdź takie rozwiązanie (po dostosowaniu do Twoich warunków)
Sub OdczytPliku()

Dim i As Long, suma As Double, liczba As Double
i = 0
'Otwieramy plik
Open "C:\Documents and Settings\Admin\Pulpit\test.txt" For Input As #1

'odczytujemy w pętli dane z pliku
Do While Not EOF(1)
     Input #1, liczba
suma = suma + liczba
    i = i + 1
Loop

Close #1
MsgBox suma / i
End Sub

napisał: Gravis
postów: 3


umieszczony:
5 grudnia 2010
13:17

  
Witam!
Zacznę od tego, że to moje pierwsze kroki z VB także proszę nie wieszać od razu na mnie psów jak coś napiszę źle itd...

Piszę program który będzie odczytywał plik tekstowy który sam wskażę, gdzie dane będą zapisane w nowych linijkach np.

1
2
3
i tak do konca ostatniej zapisanej linijki

a następnie program wyliczy średnią arytmetyczną z tych linijek i wyświetli wynik w tekstboxie..

Na chwile obecną mam już wybór pliku i odczytuje te wartości tylko nie wiem jak zrobić pętlę by te wartości zapisywał do jakichś kolejnych zmiennych a później dodał je wszystkie i podzeilił przez ich ilość ( wyliczył średnią arytmetyczną )

Kod:
Private Sub Command1_Click()

Dim oDlg As New Class1
Dim WindowHandle As Long
Dim strPath As String
Dim strExtension As String
Dim w As Double

WindowHandle = oDlg.GetWindowHandle("ThunderDFrame", Me.Caption)
strExtension = "Plik tekstowy(*.txt)" & Chr(0) & "*.txt"

strPath = Trim(oDlg.OpenDialog(WindowHandle, strExtension, 1, "Otwórz"))
If strPath = "" Then Exit Sub

Set oDlg = Nothing

Dim vTab() As String


OdczytPliku strPath, vTab


End Sub



Kod:

Sub OdczytPliku(strPlik As String, ByRef vTab() As String)

Dim i As Long
i = 0
'Otwieramy plik
Open strPlik For Input As #1

'odczytujemy w pętli dane z pliku
Do While Not EOF(1)
    ReDim Preserve vTab(0 To i)
    Input #1, vTab(i)
    i = i + 1
Loop

Close #1

End Sub







Czy dobrze to robię? Ktoś może mi pomóc?


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z