stefan_sv Публикувано Януари 21, 2009 Report Share Публикувано Януари 21, 2009 Здравейте,Имам да правя задача на VB и ми е нужха помощЗадачата е следмата: При въведен ЕГН във вид на символен низ да се определи възрастта на даденото лице в години месеци и дни към 1.1.2009г.Ако може да ми кажете какда почна или да ми напищете кода аз другото го знам. Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 22, 2009 Author Report Share Публикувано Януари 22, 2009 Много е важно да успея да направя защото ми е за изпит Цитирай Link to comment Сподели другаде More sharing options...
crio Публикувано Януари 22, 2009 Report Share Публикувано Януари 22, 2009 Доколкото знам чрез DateDiff() функцията, или чрез subtract функцията от Date класът, може да изчислиш разликата между две дати в дни. Пример:DateDiff(DateInterval.Day, New Date(2008, 1, 1), New Date(2009, 1, 1)) 'Връща 366;Вече не знам как ще изчислиш месеците и годините. пп: Не е много културно да се дава зор. Форумът е безплатен, и не всеки има свободно време за да ти отговори. Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 22, 2009 Author Report Share Публикувано Януари 22, 2009 Благодаря и искам да се извиня за барзането моля да ме извиниш Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 22, 2009 Author Report Share Публикувано Януари 22, 2009 Ако може ми кажи как да преобразя ЕГН-то така че да определя на колко години е даденото лице. Намерих част от програмата но незнам как да преведа този код: =DATE(IF(INT(MID(A1;3;2))<20;MID(A1;1;2) +1900;IF(INT(MID(A1;3;2))<40;MID(A1;1;2) +1800;MID(A1;1;2)+2000));IF(INT(MID(A1;3;2))<20;MID(A1;3;2);IF(INT(MID(A1;3;2))< 40;MID(A1;3;2)-20;MID(A1;3;2)-40));MID(A1;5;2))от екселската формула във код на VB. Ако не сте много сардити ще ми помогнетели. Цитирай Link to comment Сподели другаде More sharing options...
crio Публикувано Януари 23, 2009 Report Share Публикувано Януари 23, 2009 Module Module1 Sub Main() Dim x As String, days As Integer Console.Write("EGN:") x = Console.ReadLine() days = DateDiff(DateInterval.Day, New Date(IIf(x.StartsWith("0"), Val("20" & Mid(x, 1, 2)), Val("19" & Mid(x, 1, 2))), Val(Mid(x, 3, 2)), Val(Mid(x, 5, 2))), New Date(2009, 1, 1)) Console.WriteLine("Days:" & days.ToString) Console.Read() End Sub End Module Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 23, 2009 Author Report Share Публикувано Януари 23, 2009 Добре това го разбрах но ако имам textbox и buton как да ги свържа, че като натисна бутона да ми извежда на каква възраст е лицето. Цитирай Link to comment Сподели другаде More sharing options...
crio Публикувано Януари 23, 2009 Report Share Публикувано Януари 23, 2009 В Click събитието на бутона, слагаш този код... Dim x As String, days As Integer x = TextBox1.Text days = DateDiff(DateInterval.Day, New Date(IIf(x.StartsWith("0"), Val("20" & Mid(x, 1, 2)), Val("19" & Mid(x, 1, 2))), Val(Mid(x, 3, 2)), Val(Mid(x, 5, 2))), New Date(2009, 1, 1)) MsgBox("Days:" & days.ToString) End Sub Подчертания текст, заменяш с името на TextBox контрола. Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 23, 2009 Author Report Share Публикувано Януари 23, 2009 ok ще го пробваи и ще видя да ли ще стане, ако има някакв проблем ще пиша пак Цитирай Link to comment Сподели другаде More sharing options...
stefan_sv Публикувано Януари 23, 2009 Author Report Share Публикувано Януари 23, 2009 Стана но изкарва само днитеЗнаеш ли наякакъв начимн да използвавм първо първи и втори символ като година за са може да я сравня с тази от задачата и така да месеците и дните нещо от този ви трябва да се получи: 23 години 3 месеца и 3 дни Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.