Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Program obliczający przejechany dystans, wynagrodzenie oraz spalone paliwo + dodawanie nowej trasy. Program do ETS 2


Rekomendowane odpowiedzi

Opublikowano

Witam, nie wiem, czy napisałem to w dobrym dziale, ale wydaję mi się, że tak.

Otóż mam w głowie projekt pewnego programu, który chciałbym stworzyć, ale jednak nie za bardzo wiem jak się za to zabrać.

Program miałby na podstawie podanych tutaj:

 

 

bOBklHk.png

 

 

danych, obliczał ile spaliliśmy paliwa, przejechali kilometrów oraz ile pieniędzy zarobiliśmy (liczba kilometrów * ustalona stawka). 

 

 

 

5lPmXvi.png

 

 

 

Program musiałby też stworzyć listę tras, które przejechaliśmy. Mniej więcej na tej zasadzie:

 

 

 

pGMwkNh.png

 

 

 

Liczę na waszą pomoc, gdyż ja najzwyczajniej nie wiem jak się za to zabrać.

Opublikowano

Proste działanie matematyczne, oblicz ile spalasz litrów na kilometr oraz ile kosztuje jeden litr paliwa. Z tego co wiem waga pojazdu nie wpływa na zużycie paliwa w ETS2.
Danne takie jak : Data i godzina, przejechany dystans, waga oraz procent uszkodzeń będą musiały być wpisywane ręcznie. Po wprowadzeniu danych oraz zakończeniu obliczeń program wysyła "stringa" do listbox'a.

 

Dorzucam pomysł od siebie, stwórz profile kierowców i za każdy przejechany dystans niech nalicza się doświadczenie na koncie. W przyszłości możesz połączyć to z bazą danych.

Powodzenia.

Opublikowano

Proste działanie matematyczne, oblicz ile spalasz litrów na kilometr oraz ile kosztuje jeden litr paliwa. Z tego co wiem waga pojazdu nie wpływa na zużycie paliwa w ETS2.

Każda ciężarówka ma inne spalanie. Spalanie zmienia się również zależnie od ciężkości ładunku oraz prędkości z jaką się poruszamy. Więc ta wartość również musiałaby być wpisywana ręcznie i sumowana.

 

Dodatkowo średnio ogarniam VB i nie za bardzo wiem jak to wszystko zrobić i jak się za to zabrać. :/

Opublikowano

Na początek zrób listę ciężarówek. Jaką mają pojemność, ile ważą, ile kosztuje do nich paliwo, ile tego paliwa w sobie pomieszczą itp itd. Da to nam przybliżone spalanie bo i tak nie obliczymy średniej prędkości z jaką jechaliśmy.
Następnie zbierz informacje o przejeździe: Jaką ciężarówką był wykonywano kurs, jaka jest waga ładunku, jaki dystans przebyliśmy. Jak wszystko to zapiszesz w pamięci aplikacji zostanie tylko proste równanie.

 

Zakładając że nasza ciężarówka ma spalanie 10l na 100km, przejechaliśmy 800km a cena paliwa wynosi 5zł za litr.

800km / 10l = 80km

80km x 5zł = 400zł

Opublikowano

Na początek zrób listę ciężarówek. Jaką mają pojemność, ile ważą, ile kosztuje do nich paliwo, ile tego paliwa w sobie pomieszczą itp itd. Da to nam przybliżone spalanie bo i tak nie obliczymy średniej prędkości z jaką jechaliśmy.

Następnie zbierz informacje o przejeździe: Jaką ciężarówką był wykonywano kurs, jaka jest waga ładunku, jaki dystans przebyliśmy. Jak wszystko to zapiszesz w pamięci aplikacji zostanie tylko proste równanie.

 

Zakładając że nasza ciężarówka ma spalanie 10l na 100km, przejechaliśmy 800km a cena paliwa wynosi 5zł za litr.

800km / 10l = 80km

80km x 5zł = 400zł

Mógłbyś dać jakieś wskazówki jak rozpocząć robienie całego tego programu? 

Opublikowano

Czego nie rozumiesz? Zasada programu nie jest skomplikowana, wystarczą podstawy podstaw. Na początek umieść komponenty jakich potrzebujesz.. I tak jak pisałem wyżej, zrób listę ciężarówek.

Opublikowano

Jeżeli to ma być program tylko statystyczny wypełniany jakimiś danymi to od samego początku oparłbym to wszystko na bazie danych zrobionej w Access'ie.

- Bardzo dobra przejrzystość

- Łatwość w obsłudze

 

W takiej bazie mógłbyś spokojnie mieć tabelę z ciężarówkami, ich wagami, zużyciem paliwa.

Kolejna tabela to mogłyby być Miasta.

Dodatkowa tabela z robotami i wynagrodzeniem.

Na koniec tabela trzymająca końcowe statystyki.

 

Tutaj przykładowy program wykorzystujący bazę danych:

https://github.com/geoff-pitman/eBookDatabase-in-VB

 

Bez problemu można go przerobić na to czego potrzebujesz.

Opublikowano

Jeżeli to ma być program tylko statystyczny wypełniany jakimiś danymi to od samego początku oparłbym to wszystko na bazie danych zrobionej w Access'ie.

- Bardzo dobra przejrzystość

- Łatwość w obsłudze

 

W takiej bazie mógłbyś spokojnie mieć tabelę z ciężarówkami, ich wagami, zużyciem paliwa.

Kolejna tabela to mogłyby być Miasta.

Dodatkowa tabela z robotami i wynagrodzeniem.

Na koniec tabela trzymająca końcowe statystyki.

 

Tutaj przykładowy program wykorzystujący bazę danych:

https://github.com/geoff-pitman/eBookDatabase-in-VB

 

Bez problemu można go przerobić na to czego potrzebujesz.

Nie zrozumieliście chyba - spalanie zależy od wagi ładunku, który przewozimy, prędkości, a nawet opon. Spalone paliwo jest pokazywane na ekranie podsumowującym zlecenie, to raczej była by strata czasu na robienie programu, który ma sam to obliczać.

Opublikowano

Skoro spalanie jest już wyliczone zostaje tylko wprowadzić wszystko do "bazy danych". Użytkownik Theoo przedstawił już zaawansowany sposób. Ja jako że jestem leniwym stworzeniem proponuję użyć po prostu listboxa i kilku textboxów.

Stwórz nowy setting's  Project > Proporties > Settings

W name "list1"    Type>Browse>mscorlib>System.Collections>ArrayList.

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ListBox1.Items.Add("Pojazd: " & ComboBox1.SelectedItem & "Towar: " & TextBox1.Text & "Wynagrodzenie: " & TextBox2.Text)
        My.Settings.list1 = New ArrayList(ListBox1.Items)
        My.Settings.Save()
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.ListBox1.Items.AddRange(My.Settings.list1.ToArray())
    End Sub
Opublikowano

Teraz usuń tą linię, odpal program, dodaj coś do listboxu, zamknij i wstaw z powrotem tą linię. Albo dodaj kawałek kodu który sprawdza czy list1 nie jest pusty.

Opublikowano

Teraz usuń tą linię, odpal program, dodaj coś do listboxu, zamknij i wstaw z powrotem tą linię. Albo dodaj kawałek kodu który sprawdza czy list1 nie jest pusty.

Zrobione. Zrobiłem również bazę danych z dostępnymi w grze miastami i ładunkami. 

Jak podpiąć tą bazę danych do programu i zrobić, aby dostępne w niej miasta i ładunki były dostępne w dwóch osobnym ComboBox'ach, albo CheckedListBox'ach?

Opublikowano

Wszystko zależy od tego w jakim formacie jest "baza danych". Domyślam się że nie w MySql.

Opublikowano

Wszystko zależy od tego w jakim formacie jest "baza danych". Domyślam się że nie w MySql.

Robiłem ją w programie GS-Base. Możliwe formaty zapisu: dbf, xml, htm, html, txt, pdf, csv, tsv, tab

 

 

OzDdgvb.png

 

 

Opublikowano

Wkleiłeś kod w "nicość". Musi coś go wywołać, postaw przycisk kliknij w niego dwa razy i tam wklej kod.

Opublikowano

Zrobiłem tak jak pisałeś, errory znikły, jednak w wybranym CheckedTextBox'ie nic nie ma, po naciśnięciu tego przycisku również jest zero reakcji.

EDIT: Zrobiłem również panel rejestracji i logowania. Jak mogę zrobić, aby dodane konta zapisywały się do bazy danych i aby przed włączeniem się głównej części programu (panel dodawania tras) wyświetlał się właśnie ten panel logowania?

 

Panel rejestracji:

Public Class Form3

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        My.Settings.Login = TextBox1.Text
        My.Settings.Hasło = TextBox2.Text
        My.Settings.Save()
        MsgBox("Konto dodane pomyślnie!", MsgBoxStyle.Information, "Register")
        Me.Hide()
        Form2.Show()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
End Class

Panel logowania:

Public Class Form2

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = My.Settings.Login And
        TextBox2.Text = My.Settings.Hasło Then
            Form1.Show()
        Else
            MsgBox("Zły login i/lub hasło", MsgBoxStyle.Information, "Error")

        End If
    End Sub
End Class

Setinngs'y:

WHNmkE8.png

 

Opublikowano

 w wybranym CheckedTextBox'ie nic nie ma, po naciśnięciu tego przycisku również jest zero reakcji.

 

Jakiego przycisku? Jakiej reakcji się spodziewasz skoro nie ma na niej kodu. Powinieneś wczytać wszystko z xml'a. Inaczej jedynym rozwiązaniem jest dodanie wszystkiego ręcznie.

6sd1vu.jpg

Opublikowano

Jakiego przycisku? Jakiej reakcji się spodziewasz skoro nie ma na niej kodu. Powinieneś wczytać wszystko z xml'a. Inaczej jedynym rozwiązaniem jest dodanie wszystkiego ręcznie.

6sd1vu.jpg

Z tym sobie już poradziłem dziś w nocy. Problemem pozostają wciąż 2 rzeczy: Wysyłanie każdej trasy do bazy danych i to:

 

EDIT: Zrobiłem również panel rejestracji i logowania. Jak mogę zrobić, aby dodane konta zapisywały się do bazy danych i aby przed włączeniem się głównej części programu (panel dodawania tras) wyświetlał się właśnie ten panel logowania?

 

Panel rejestracji:

Public Class Form3

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        My.Settings.Login = TextBox1.Text
        My.Settings.Hasło = TextBox2.Text
        My.Settings.Save()
        MsgBox("Konto dodane pomyślnie!", MsgBoxStyle.Information, "Register")
        Me.Hide()
        Form2.Show()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub
End Class

Panel logowania:

Public Class Form2

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = My.Settings.Login And
        TextBox2.Text = My.Settings.Hasło Then
            Form1.Show()
        Else
            MsgBox("Zły login i/lub hasło", MsgBoxStyle.Information, "Error")

        End If
    End Sub
End Class

EDIT: Panel logowania działa jak powinien, ale tylko w pewnym stopniu, tzn. że odpalam program, pojawia się okno logowania, naciskam "rejestracja", dodaję swoje nowe konto, naciskam "Zarejestruj", pojawia się z powrotem panel logowania no i wpisuję tam dane, które podałem przy rejestracji i wyskakuje komunikat "Zły login i/lub hasło", po czym pojawia się główne okno programu, czyli panel dodawania tras. 

Zauważyłem też, że jak nie utworzę konta i nacisnę "zaloguj się" nic się nie dzieje, czyli jest dobrze. Po dodaniu konta i zalogowaniu wyskakuje tylko ten napis "Zły login i/lub hasło".

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...