[Gambas-user] Re: Gambas-user digest, Vol 1 #1716 - 6 msgs
GuruLounge - MailLists
maillists at ...1367...
Tue Feb 21 09:30:54 CET 2006
Cool! There's hope :D
Thanx for the reply,
Jeff
On Tue, 2006-02-21 at 07:56 +0000, Marcel Beekman wrote:
> @GuruLounge - Runtime
>
> > After a bit of futzing around I managed to get my apps to work on my
> > other machines via YUM gambas-runtime* and gambas-gb-qt*. It installed
> > quite a bit of extra packages though.
>
> For Vector Linux Joe1962 has build a runtime package (Gambas 1.0.14 stable).
> We could do that for the top 10 distro's.
>
> Kind regards,
>
> Marcel
>
>
> @Benoit Minisini - DatePicker
>
> > Does anyone have the time to make an equivalent of the DatePicker control, but
> > entirely in Gambas?
> >
> > It would be cool :-)
>
> You can use the code of the datepicker I've written for my latest project.
> Create a form with a panel called pnlCalendar and four buttons for next/prev year and next/prev month.
>
> Kind regards,
>
> Marcel
>
>
> Code:
>
> ' Gambas class file
> PRIVATE iMonth AS Integer
> PRIVATE iThisMonth AS Integer
> PRIVATE iThisYear AS Integer
> PRIVATE iYear AS Integer
> PRIVATE iDay AS Integer
> PRIVATE dToday AS Date
>
> PUBLIC SelectedDate AS String
>
> PUBLIC SUB btnDay_Click()
>
> DIM sIdInfo AS String
>
> sIdInfo = LAST.Text
> SelectedDate = Right("0" & sIdInfo, 2) & "-" & Right("0" & Str(iMonth+1),2) & "-" & iYear
> ME.Hide
> END
>
> PRIVATE FUNCTION GetMonthDays(iMonth AS Integer) AS Integer
>
> DIM aiMonth[12] AS Integer
> DIM bLeap AS Boolean
> DIM iLeap AS Integer
>
> aiMonth[0] = 31
> aiMonth[1] = 28
> aiMonth[2] = 31
> aiMonth[3] = 30
> aiMonth[4] = 31
> aiMonth[5] = 30
> aiMonth[6] = 31
> aiMonth[7] = 31
> aiMonth[8] = 30
> aiMonth[9] = 31
> aiMonth[10] = 30
> aiMonth[11] = 31
>
> iLeap = (iYear) MOD 4
> bLeap = FALSE
> IF iLeap = 0 THEN
> bLeap = TRUE
> ENDIF
>
> IF iMonth = 1 AND bLeap = TRUE THEN
> RETURN 29
> ELSE
> RETURN aiMonth[iMonth]
> ENDIF
> END
>
> PRIVATE FUNCTION GetMonthName(iMonth AS Integer) AS String
>
> DIM asMonth[13] AS String
>
> asMonth[0] = "Januari"
> asMonth[1] = "Februari"
> asMonth[2] = "Maart"
> asMonth[3] = "April"
> asMonth[4] = "Mei"
> asMonth[5] = "Juni"
> asMonth[6] = "Juli"
> asMonth[7] = "Augustus"
> asMonth[8] = "September"
> asMonth[9] = "Oktober"
> asMonth[10] = "November"
> asMonth[11] = "December"
>
> RETURN asMonth[iMonth]
>
> END
>
> PRIVATE FUNCTION GetDayName(iDay AS Integer) AS String
>
> DIM asDay[7] AS String
>
> ' dutch abrev.
> asDay[0] = "Zo"
> asDay[1] = "Ma"
> asDay[2] = "Di"
> asDay[3] = "Wo"
> asDay[4] = "Do"
> asDay[5] = "Vr"
> asDay[6] = "Za"
>
> RETURN asDay[iDay]
>
> END
>
>
> PUBLIC SUB Button1_Click()
>
> ME.close
>
> END
>
> PRIVATE SUB DisplayMonthYear()
>
> lblMonth.Text = GetMonthName(iMonth) & " " & iYear
>
> END
>
> PRIVATE SUB ShowDays()
>
> DIM lblDay AS Label
> DIM i AS Integer
>
> FOR i = 0 TO 6
> lblDay = NEW Label(pnlCalendar)
> lblDay.X = i * 40 + 60
> lblDay.Y = 20
> lblDay.Width = 41
> lblDay.Height = 28
> lblDay.Font.Italic = TRUE
> lblDay.Font.Size = 12
> lblDay.BackColor = &Hccccff&
> lblDay.Border = 1
> lblDay.Alignment = 4
> lblDay.Text = GetDayName(i)
> NEXT
> END
>
>
> PRIVATE SUB ClearCalendar()
>
> DIM hControl AS Control
>
> FOR EACH hControl IN pnlCalendar.Children
>
> Object.Call(hControl, "Delete")
>
> NEXT
>
> END
>
>
> PRIVATE SUB BuildCalendar()
>
> DIM i AS Integer
> DIM iStart AS Integer
> DIM iEnd AS Integer
> DIM lblDay AS label
> DIM btnDay AS button
> DIM iY AS Integer
> DIM iPos AS Integer
> DIM iPrevMonth AS Integer
> DIM iNextMonth AS Integer
>
> ClearCalendar()
> ShowDays()
> DisplayMonthYear()
>
> Button2.Text = "<< " & (iYear - 1)
>
> iPrevMonth = iMonth - 1
> IF iMonth = 0 THEN iPrevMonth = 11
> Button3.Text = "< " & Left(GetMonthName(iPrevMonth),3) & "."
> iNextMonth = iMonth + 1
> IF iMonth = 11 THEN iNextMonth = 0
> Button4.Text = Left(GetMonthName(iNextMonth),3) & ". >"
> Button5.Text = (iYear + 1) & " >>"
>
> iStart = WeekDay(Date(iYear,iMonth+1,1))
> iEnd = GetMonthDays(iMonth)
>
> ' days of prev month
> FOR i = 0 TO iStart - 1
> lblDay = NEW Label(pnlCalendar)
> lblDay.X = i * 40 + 60
> lblDay.Y = 47
> lblDay.Width = 41
> lblDay.Height = 28
> lblDay.BackColor = &Hcccccc&
> lblDay.Border = 1
> lblDay.Alignment = 4
> lblDay.Text = ""
> NEXT
>
> ' show the days of this month
> iY = 47
> iPos = iStart - 1
> FOR i = 0 TO iEnd
> iPos = iPos + 1
> IF iPos = 7 THEN
> iPos = 0
> iY = iY + 27
> ENDIF
>
> btnDay = NEW Button(pnlCalendar) AS "btnDay"
> btnDay.X = iPos * 40 + 60
> btnDay.Y = iY
> btnDay.Width = 41
> btnDay.Height = 28
> btnDay.Font.Bold = TRUE
> btnDay.Font.Size = 12
> IF iDay = i AND iMonth = iThisMonth AND iYear = iThisYear THEN
> btnDay.BackColor = &H00ff00&
> ELSE
> btnDay.BackColor = &Hffffff&
> ENDIF
> ' btnDay.Alignment = 4
> btnDay.Text = Str(i+1)
> NEXT
>
> ' days of next month
> IF iPos > -1 THEN
> FOR i = iPos TO 6
> lblDay = NEW Label(pnlCalendar)
> lblDay.X = i * 40 + 60
> lblDay.Y = iY
> lblDay.Width = 41
> lblDay.Height = 28
> lblDay.BackColor = &Hcccccc&
> lblDay.Border = 1
> lblDay.Alignment = 4
> lblDay.Text = ""
> NEXT
> ENDIF
>
> END
>
>
>
> PUBLIC SUB Form_Open()
>
> dToday = Now()
> iYear =Year(dToday)
> iMonth = Month(dToday) - 1
> iDay = Day(dToday) - 1
> iThisMonth = iMonth
> iThisYear = iYear
>
> BuildCalendar()
>
> END
>
> ' next year
> PUBLIC SUB Button5_Click()
> iYear = iYear + 1
> BuildCalendar()
> END
>
> ' prev year
> PUBLIC SUB Button2_Click()
> iYear = iYear - 1
> BuildCalendar()
> END
>
> ' next month
> PUBLIC SUB Button4_Click()
> iMonth = iMonth + 1
> IF iMonth = 12 THEN iMonth = 0
> BuildCalendar()
> END
>
> ' prev month
> PUBLIC SUB Button3_Click()
> iMonth = iMonth - 1
> IF iMonth = -1 THEN iMonth = 11
> BuildCalendar()
> END
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
--
.^.
/V\
/( )\
^^-^^
Linux Advocate
More information about the User
mailing list