Witam. Potrzebuję zdefiniować tablicę z której będę wyszukiwał czas biegu i zwracał jej index jako ilość punktów zdobytych przez zawodnika. Te czasy potrzebuję wprowadzić w formacie mm:ss,00 czyli do setnych sekund. Prosiłbym o pomoc jak to zrobić, pozdrawiam.
Jak zdefiniować czas w formacie mm:ss,00?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
error91 napisał(a):
var date = DateTime.Now.ToString("mm:ss.ff");
a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 395
croveanowsky napisał(a):
error91 napisał(a):
var date = DateTime.Now.ToString("mm:ss.ff");a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?
Zrob listę List<DateTime> . Dopiero przy wyświetlaniu rób .ToString("mm:ss.ff"). Od biedy możesz też zapisywać stringi, ale to gorsze rozwiązanie.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
error91 napisał(a):
croveanowsky napisał(a):
error91 napisał(a):
var date = DateTime.Now.ToString("mm:ss.ff");a jak zrobić z tego tablicę? i jak wpisywać w niej dane w takim formacie?
Zrob listę
List<DateTime>. Dopiero przy wyświetlaniu rób.ToString("mm:ss.ff"). Od biedy możesz też zapisywać stringi, ale to gorsze rozwiązanie
static void lista()
{
List<DateTime> list = new List<DateTime>();
list.Add(6, 00, 12);
list.Add(4, 38, 20);
}
Wyskakuje błąd, że wprowadzam 3 argumenty. Oddzielanie kropkami tudzież dwukropkiem nic nie daje
@up ok trzeba było tak list.Add(new DateTime(6, 00, 12));
- Rejestracja: dni
- Ostatnio: dni
- Postów: 395
static void lista() { List<DateTime> list = new List<DateTime>(); list.Add(6, 00, 12); list.Add(4, 38, 20); }Wyskakuje błąd, że wprowadzam 3 argumenty. Oddzielanie kropkami tudzież dwukropkiem nic nie daje
Dlaczego do listy która trzyma obiekty DateTime chcesz dodać liczby po przecinku?
DateTime ma kilka konstrutkorów, które możesz tutaj wykorzystać
https://msdn.microsoft.com/en-us/library/xcfzdy4x(v=vs.110).aspx
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2442
Może najpierw zapoznaj się z podstawami, bo takie strzelanie kodem nic nie da: https://msdn.microsoft.com/pl-pl/library/system.datetime(v=vs.110).aspx
var date = new DateTime(2008, 5, 1, 8, 30, 52);
zresztą IDE podpowiada co ma być pisząc list.Add(....
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
public void lista()
{
List<DateTime> list = new List<DateTime>();
list.Add(new DateTime(6, 00, 12));
list.Add(new DateTime(4, 36, 40));
list.Add(new DateTime(4, 34, 60));
list.Add(new DateTime(4, 32, 80));
list.Add(new DateTime(4, 31, 00));
list.Add(new DateTime(4, 29, 20));
}
private void textBox52_TextChanged(object sender, EventArgs e)
{
y = DateTime.Parse(textBox52.Text);
list.OrderBy(x => x);
foreach (var record in list)
{
if (record >= y)
{
double index = Array.IndexOf(list, record);
textBox51.Text = Convert.ToString(index);
textBox51.BackColor = textBox51.BackColor;
sc1 = Double.Parse(textBox51.Text);
}
}
}
Mam takie coś ale wywala błąd "The name 'list' does not exist in the current context". Domyślam się, że to problem klasy którą zdefiniowałem dla listy. Jak to naprawić?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 395
Eh.. textBox52_TextChanged nie ma dostępu do tej listy.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 14
error91 napisał(a):
Eh..
textBox52_TextChangednie ma dostępu do tej listy.
Mógłbyś mi dać większą podpowiedź co powinienem zmienić? W ogóle nie rozumiem dlaczego akurat przy tworzeniu listy muszę tworzyć nowe zdarzenie, a na przykład przy tworzeniu tablicy już nie.
Spróbowałem inaczej i stworzyłem tablicę
DateTime[] x = new DateTime[6]
{
new DateTime(6, 00, 12), new DateTime(4, 36, 40), new DateTime(4, 34, 60), new DateTime(4, 32, 80),
new DateTime(4, 31, 00), new DateTime(4, 29, 20)
};
Aczkolwiek teraz wywala błąd "Parametry Year, Month i Day opisują element DateTime, którego nie można zaprezentować."
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2442
Aczkolwiek teraz wywala błąd "Parametry Year, Month i Day opisują element DateTime, którego nie można zaprezentować."
No, a czy widziałeś kiedyś miesiąc, który posiada numer zero w kalendarzu? :) Albo numer 36? O_o! Albo dzień miesiąca o numerze 60?
y = DateTime.Parse(textBox52.Text);
Gołe Parse - wyjątek murowany. Wpisywanie nieprawidłowych danych w Textbox'a nie jest sytuacją wyjątkową. TryParse Twoim przyjacielem.
Mógłbyś mi dać większą podpowiedź co powinienem zmienić? W ogóle nie rozumiem dlaczego akurat przy tworzeniu listy muszę tworzyć nowe zdarzenie, a na przykład przy tworzeniu tablicy już nie.
Coś tutaj strasznie mieszasz, bo jedno z drugim nie ma nic wspólnego.
"The name 'list' does not exist in the current context"
Jeżeli chcesz mieć dostęp do obiektu w różnych metodach klasy to zrób z niego np. pole prywatne.
PS: Serio, IDE nie podpowiada Ci co masz wstawiać jako argumenty metod czy jako obiekty do list, czy cokolwiek w ogóle? Robisz tak podstawowe błędy w miejscach gdzie IDE jak byk podpowiada co wstawiać.