Jump to content


Photo

UniCalendarPanel am-pm sorunu

UniCalendarPanel

  • Please log in to reply
13 replies to this topic

#1 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 11 May 2016 - 10:13 AM

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.

Attached Files


  • 0

#2 Bugra Yener Sahinoglu

Bugra Yener Sahinoglu

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 163 posts

Posted 11 May 2016 - 12:27 PM

Merhabalar;

 

Maalesef şimdilik birşey yapamıyoruz. Sorunu not aldık ileriki sürümlerde çözmeye çalışacağız.


  • 0

#3 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 11 May 2016 - 12:38 PM

Çok teşekkür ederim, umarım kısa sürede yapılabilir bir taleptir.

 

İyi çalışmalar.


  • 0

#4 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 12 May 2016 - 02:13 PM

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.

  • 0

#5 Bugra Yener Sahinoglu

Bugra Yener Sahinoglu

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 163 posts

Posted 13 May 2016 - 10:42 AM

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.


  • 0

#6 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 13 May 2016 - 02:33 PM

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.


  • 0

#7 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 13 May 2016 - 02:41 PM

Ö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.


  • 0

#8 Farshad Mohajeri

Farshad Mohajeri

    Administrator

  • Administrators
  • 9947 posts

Posted 13 May 2016 - 03:57 PM

EventId var zaten atlanmış o.


  • 0

#9 Farshad Mohajeri

Farshad Mohajeri

    Administrator

  • Administrators
  • 9947 posts

Posted 13 May 2016 - 03:57 PM


  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;

  • 0

#10 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 14 May 2016 - 11:49 PM

Cevaplar için çok teşekkür ederim.

Fazlasıyla işimi gördü.

 

İyi çalışmalar dilerim.


  • 0

#11 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 27 July 2016 - 07:34 AM

Merhaba;

 

İlk mesajdaki düzenleme yapıldı mı acaba?

 

Teşekkürler.


  • 0

#12 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 27 November 2017 - 08:59 PM

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('');
            }
        });
}

  • 0

#13 Farshad Mohajeri

Farshad Mohajeri

    Administrator

  • Administrators
  • 9947 posts

Posted 01 December 2017 - 05:46 AM

Artık  Ext JS 6.5'a geçiyoruz ve oradaki Calendar komponenti tamamen farklı ve Sencha tarafından yeniden yazılmış. Bu tür sorunların çözümü daha kolay olacak diye umuyorum.


  • 0

#14 pro_imaj

pro_imaj

    Advanced Member

  • uniGUI Subscriber
  • PipPipPipPip
  • 539 posts

Posted 01 December 2017 - 05:59 AM

Teşekkürler, diğer bütün componentlerde de yenilikler için 6.5 sabırsızlıkla bekliyoruz.

 

İyi çalışmalar.


  • 0





Also tagged with one or more of these keywords: UniCalendarPanel

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users