Jump to content

UniCalendarPanel am-pm sorunu


pro_imaj

Recommended Posts

Merhaba;

 

Ekteki dosyadaki gibi UniCalendarPanel ile Gün yada hafta sekmesine geldiğimde  saatleri am/pm şeklinde gösteriyor oysa ben 10:00 ve 22:00 gibi göstermesini istiyorum bununla birlikte resimdeki Today yazısını da Türkçeleştiremedim bunların yolu var mıdır böyle mi kullanmalıyım.

 

Teşekkürler.

post-2787-0-68893500-1462961511_thumb.jpg

Link to comment
Share on other sites

Merhaba Buğra Bey;

 

Aşağıdaki komut ile kaydedilen bilgileri ben database alan alan yazmak istiyorum bunu nasıl yaparım acaba
 
UniCalendarPanel1.Events.SaveToFile(FName);
 
 
*Ekteki dosyadaki her bir alanı tabloya ayrı ayrı yazmak.
Link to comment
Share on other sites

Merhabalar

 

O dosyayı oluşturup bilgileri geri oradan okumak yerine aşağıdaki koda benzer bir biçimde yapabilirsiniz.

  for I := 0 to  UniCalendarPanel1.Events.Count-1 do
  begin
    Database.Append;
    Database.FieldByName('CalendarId').AsString := UniCalendarPanel1.Events.Item[I].CalendarId;
    Database.FieldByName('Title').AsString := UniCalendarPanel1.Events.Item[I].Title;
    Database.FieldByName('Title').AsDateTime := UniCalendarPanel1.Events.Item[I].StartDate;
    Database.FieldByName('Title').AsDateTime := UniCalendarPanel1.Events.Item[I].EndDate;
    Database.FieldByName('Title').AsString := UniCalendarPanel1.Events.Item[I].Reminder;
    Database.FieldByName('Title').AsBool := UniCalendarPanel1.Events.Item[I].IsAllDay;
    Database.Post;
  end;

ya da daha mantıklı bir yöntem olarak her eventi oluşturduğunuz anda database'e yazabilirsiniz.

Link to comment
Share on other sites

Merhaba Buğra Bey;

Cevabınız için çok teşekkür ederim.

Tittle aynı olan işler olduğunda kullanıcı title değiştirdiğinde bunu algılayıp tabloyu güncellemek çok zor.

Her işlem için bir ID verse çok daha mantıklı olur, böylelikte tabloda güncelleme yaparken ID alanına göre güncellemiş oluruz.

 

Şu durumda kullanıcı bütün alanlarını aynı girdiği iki iş olsa bu ayır edilemiyor.

Veya kullanıcı işlerin başlıkları değiştiğinde de ayırt edilemiyor.

Link to comment
Share on other sites

Örnek;

1-Kullanıcı ilk kaydı ekledi ve kaydet deyince bizde tabloya verileri ekledik.

2-Kullanıcı kaydettiği veriye tıklayarak tarih saat ve başlık bilgilerini değiştirdiğinde tabloda güncellenmesi gereken kayıt key bilgileri kalktığı için tabloda güncellenemeyecek.

Link to comment
Share on other sites

  • Administrators



TUniCalendarEvent = class(TPersistent)
protected
function GetEventId: Integer; virtual; abstract;
procedure SetCalendarId(Value: Integer); virtual; abstract;
function GetCalendarId: Integer; virtual; abstract;
procedure SetTitle(Value: string); virtual; abstract;
function GetTitle: string; virtual; abstract;
procedure SetStart(Value: TDateTime); virtual; abstract;
function GetStart: TDateTime; virtual; abstract;
procedure SetEnd(Value: TDateTime); virtual; abstract;
function GetEnd: TDateTime; virtual; abstract;
procedure SetLocation(Value: string); virtual; abstract;
function GetLocation: string; virtual; abstract;
procedure SetNotes(Value: string); virtual; abstract;
function GetNotes: string; virtual; abstract;
procedure SetUrl(Value: string); virtual; abstract;
function GetUrl: string; virtual; abstract;
procedure SetIsAllDay(Value: Boolean); virtual; abstract;
function GetIsAllDay: Boolean; virtual; abstract;
procedure SetReminder(Value: string); virtual; abstract;
function GetReminder: string; virtual; abstract;
procedure SetIsNew(Value: Boolean); virtual; abstract;
function GetIsNew: Boolean; virtual; abstract;
public
procedure Assign(Source: TPersistent); override;

procedure ReadFromStream(Stream: TStream); virtual; abstract;
procedure WriteToStream(Stream: TStream); virtual; abstract;

property EventId : Integer read GetEventId; // property CalendarId : Integer read GetCalendarId write SetCalendarId;
property Title : string read GetTitle write SetTitle;
property StartDate : TDateTime read GetStart write SetStart;
property EndDate : TDateTime read GetEnd write SetEnd;
property Location : string read GetLocation write SetLocation;
property Notes : string read GetNotes write SetNotes;
property Url: string read GetUrl write SetUrl;
property IsAllDay : Boolean read GetIsAllDay write SetIsAllDay;
property Reminder : string read GetReminder write SetReminder;
property IsNew : Boolean read GetIsNew write SetIsNew;
end;

 

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

Günlük ve haftalıkta 12 saat (am-pm) sorunu @Delphi Developer bahsetttiği şekilde çözdüm, aylık bazında görüntüde sorun devam ediyor.

 

 

MainForm -> ClientEvents -> UniEvents add function window.beforeInit

function window.beforeInit(sender)
{
 Ext.calendar.template.DayBody.override({
    
            constructor: function(config){
        
                Ext.apply(this, config);

                Ext.calendar.template.DayBody.superclass.constructor([
                    '<table class="ext-cal-bg-tbl" cellspacing="0" cellpadding="0">',
                '<tbody>',
                    '<tr height="1">',
                        '<td class="ext-cal-gutter"></td>',
                        '<td colspan="{dayCount}">',
                            '<div class="ext-cal-bg-rows">',
                                '<div class="ext-cal-bg-rows-inner">',
                                    '<tpl for="times">',
                                        '<div class="ext-cal-bg-row">',
                                            '<div class="ext-cal-bg-row-div ext-row-{[xindex]}"></div>',
                                        '</div>',
                                    '</tpl>',
                                '</div>',
                            '</div>',
                        '</td>',
                    '</tr>',
                    '<tr>',
                        '<td class="ext-cal-day-times">',
                            '<tpl for="times">',
                                '<div class="ext-cal-bg-row">',
                                    '<div class="ext-cal-day-time-inner">{.}</div>',
                                '</div>',
                            '</tpl>',
                        '</td>',
                        '<tpl for="days">',
                            '<td class="ext-cal-day-col">',
                                '<div class="ext-cal-day-col-inner">',
                                    '<div id="{[this.id]}-day-col-{.:date("Ymd")}" class="ext-cal-day-col-gutter"></div>',
                                '</div>',
                            '</td>',
                        '</tpl>',
                    '</tr>',
                '</tbody>',
            '</table>'
                ]);
            },

            // private
            applyTemplate : function(o){
                this.today = Ext.calendar.util.Date.today();
                this.dayCount = this.dayCount || 1;
        
                var i =0,
                    days = [],
                    dt = Ext.Date.clone(o.viewStart),
                    times = [];
            
                for(; i<this.dayCount; i++){
                    days[i] = Ext.calendar.util.Date.add(dt, {days: i});
                }

                // use a fixed DST-safe date so times don't get skipped on DST boundaries
                dt = Ext.Date.clearTime(new Date('5/26/1972'));
        
                for(i=0; i<24; i++){
                    times.push(Ext.Date.format(dt, 'G:i'));
                    dt = Ext.calendar.util.Date.add(dt, {hours: 1});
                }
        
                return this.applyOut({
                    days: days,
                    dayCount: days.length,
                    times: times
                }, []).join('');
            }
        });
}
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...