zmajd88 @ 23.01.2008. 13:19
Jel zna neko kako da sabiram i oduzimam vreme?
Imam dva textbox-a i u njima vreme u formatu hh:mm
Kako da sada te vrednosti saberem ili oduzmem?
Predrag Glumac @ 23.01.2008. 13:25
Konvertuj vrednosti i textBox-ova u DateTime. DateTime ima metode AddHours i AddMinutes. Ili drugi textBox konvertuj u timeStamp tip i koristi Add metodu od DateTime.
zmajd88 @ 23.01.2008. 15:19
hvala... problem je samo sto ne znam kako to da uradim.
Ako mozes neki primer da postujes kako da konvertujem...
Predrag Glumac @ 23.01.2008. 16:02
DateTime.Parse(textBox1.Text) ili DateTime.TryParse(textBox1.Text). I zapamti: MSDN je tvoj prijatelj

zmajd88 @ 23.01.2008. 16:36
hvala...
ma ne znam ja msdn da koristim... meni treba samo ovo da zavrsim i toliko, necu se baviti ovim:)
hvala jos jednom.
sallle @ 23.01.2008. 17:40
a moze i vako:
Code:
public string Saberi(String a, string b)
{
int ia = System.Convert.ToInt32(a.Split(':')[0]) * 60 + System.Convert.ToInt32(a.Split(':')[1]);
int ib = System.Convert.ToInt32(b.Split(':')[0]) * 60 + System.Convert.ToInt32(b.Split(':')[1]);
int c = ia + ib;
return String.Format("{0:D2}:{1:D2}", c / 60, c % 60);
}
usput nije lose izvrsiti proveru da li ulazni stringovi zadovoljavaju format (npr regex klasom)
i treba hvatati izuzetke (Convert.ToInt32 ih baca)
mmix @ 23.01.2008. 18:24
DateTime je suvise nezgodan za ovu primenu jer ukljucuje i obavezan datum. Predrag ti je dao deo resenja, preko TimeStampa, sa tim sto mozes komotno da koristis operatore + i - koje timestamp podrzava da sabiras i oduzimas vremena:
Code:
TimeSpan x1 = TimeSpan.Parse("12:11");
TimeSpan x2 = TimeSpan.Parse("2:15");
TimeSpan add = x1 + x2;
TimeSpan sub = x1 - x2;
Console.WriteLine(add);
Console.WriteLine(sub);
Izlaz:
14:26:00
09:56:00
zmajd88 @ 23.01.2008. 18:45
hvala, nisam se nadao na brzim odgovorima;)
zmajd88 @ 25.01.2008. 15:29
... jos jedan problem sa vremenom... tj. datumom.
Imam datetimepicker i hocu da iz njega upisem vreme u .mdb bazu, ali nece da se upise.
Pokusavao sam sledece
datetime vreme = datetime.parse(datetimepicker.text.tostring());
datetime vreme = datetime.parse(datetimepicker.value.toshortdatestring());
datetime vreme = datetime.parse(datetimepicker.value.tostring());
pokusavao sam i samo text iz datetimepicker da stavim u bazu
"insert into datum (vreme) values (" + datetimepicker.text.tostring() + ")";
"insert into datum (vreme) values (" + datetimepicker.text + ")";
"insert into datum (vreme) values (" + datetimepicker.value.tostring() + ")";
pokusavao sam i mnogo drugih gluposti koje su mi padale na pamet... ali bezuspesno.
Moze li neko da mi da konkretno i jednostavno resenje( ako jednostavno postoji)
kao npr. sto je mmix pokazao sa timestamp, samo sto nema datestamp;)
u bazu sam postavio date\time za kolonu vreme, pokusao sam i sa text.
sallle @ 25.01.2008. 15:44
da bi upisivao u bazu, prvo moras da se nakacis (pogledaj malo ado.net, a sigurno ima i po forumu). Otprilike ovako nekako treba da izgleda...
Code:
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = " " // vidi na www.connectionstrings.com konekcioni string za access
OleDbCommand komanda = new OleDbCommand();
komanda.CommandText = "insert into ...";
komanda.Connection = conn;
try
{
conn.Open();
komanda.ExecuteNonQuery();
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
finaly
{
conn.Close();
}
zmajd88 @ 25.01.2008. 15:50
konektujem se ja na bazu, sve je to ok.
mogu da upisujem iz textbox ili listbox u bazu ali nemogu da upisem iz datetimepicker
mogu ja da napravim i tri comboboxa, jedan za dan, drugi za mesec treci za godinu ali ja bih hteo preko
datetimepicker.
sallle @ 25.01.2008. 16:05
datetimepicker.Value.Date (pored Date imas jos varijanti: Day, Hour, Year...)
zmajd88 @ 25.01.2008. 16:44
nece...
gresku sam uploadovao uz poruku
string komStringOdmor = "insert into Odmor (JMBG, Od, Do) values (" + comboBox1.Text + "," + dateTimePicker1.Value.Date + "," + dateTimePicker2.Value.Date + ")";
ovu gresku mi pokazuje i na prethodne pokusaje.
Predrag Glumac @ 25.01.2008. 16:56
Datume u queryu ogradi sa tarabama (#). Mozda ce ti praviti problem zbog formata datuma (dd.MM.yyyy). Najbolje je da stavis parametre i nema glava da te boli

zmajd88 @ 25.01.2008. 17:04
mozes li malo to jasnije, molim te... ja sam glup za ove stvari.
kakvi parametri?
aleksandarpopov @ 25.01.2008. 20:07
zmajd88 @ 25.01.2008. 20:50
Hvala aleksandre, ovo mi je bas pomoglo.
Samo sam stavio navodnike(') na pocetku i na kraju i sad radi:)
zmajd88 @ 26.01.2008. 15:05
Hoce li neko da mi pomogne da resim ovaj zadnji problem?
imam 4 tabele, login, logof, ulaz i izlaz. Login i log of se uvek popunjavaju a ulaz i izlaz samo
kada neko privatno napusti firmu, znaci upisuje se vreme kad izadje i udje.
e sad ja trebam da napravim da iz aplikacije, koju ste mi pomogli da napravim, vidim radno vreme radnika
za 1 dan i za mesec dana.
u sve 4 tabele se upisuje vreme u formatu hh:mm, u pitanju je .mdb baza.
znaci logof - login - ulaz + izlaz ili ako ne moze sa + onda (logof - login) - (ulaz - izlaz)
Ako moze neko da mi objasni kako to da uradim konkretno jer ne kapiram bas ovaj C#...
nije to za mene.
Unapred hvala.
zmajd88 @ 27.01.2008. 14:40
izgleda da nema niko ko to zna i hoce da pomogne...
u svakom slucaju hvala.
zmajd88 @ 29.01.2008. 19:01
Ako neko ume da uradi sta mi treba a nece besplatno neka mi se javi na mejl da se dogovorimo za cenu.
dalibors27 @ 31.01.2008. 11:54
to lako mozes da uradis na sledeci nacin:
prvo napravi datareader i komandu pomocu koje ce da cita bazu,
zatim iskoristi "if" da izvuces redove koji ti trebaju sa datumom (vremenom),
posle toga datume konvertujes DateTime dt1 = DateTime.Parse((...).ToShortDateString());
Da bi sabirao ili oduzimao vremena konvertuj ih u TimeSpan na slican nacin kao sto ti je objasnio mmix.
Ako ti i dalje nije jasno kontaktiraj me mejlom.
sallle @ 31.01.2008. 18:24
ja bih vozio 3 tabele za evidenciju.
1. tabela - vodi evidenciju o ljudima trenutno u firmi
2. tabela - arhiva svih intervala
3. tabela - arhiva svih eventova (ulaz/izlaz - stavis neki bit da govori jel ulaz ili izlaz)
ulazak osobe u firmu:
-insert into tabela1 values...
-insert into tabela3 values...
izlazak osobe iz firme:
-select * from tabela1 where @osoba = osoba_id
-insert into tabela2 (podaci iz gornjeg selecta, datetime.now, duzina_intervala...)
-insert into tabela3
-delete from tabela1
i koristio bih neki sql server i stored procedure...
Copyright (C) 2001-2008 by www.elitesecurity.org. All rights reserved.