Delphi, C++ Builder & .NET sgcUI'nin parçası

sgcPlanner, Delphi, C++ Builder & .NET için Zamanlayıcı, Gantt & Kanban

Aynı planın üç görünümü. Ekip için takvim, proje yöneticisi için Gantt grafiği, işi yapanlar için Kanban panosu olarak gösterin; hepsi tek bir veri nesnesine bağlıdır. Bir kartı Done sütununa sürükleyin, Gantt çubuğu ve takvim rengi hemen buna uyar.

VCL, FireMonkey, WinForms, WPF, AvaloniaWin64'te 10.000 görev 11 ms'de otomatik zamanlanırÜcretsiz .NET Community sürümüsgcUI Enterprise içinde yer alır
ProjectPlanner demosu: aynı görevler bir Kanban panosunda, bir Gantt grafiğinde ve bir Zamanlayıcıda

Tek Plan, Üç Görünüm

Ekip, proje yöneticisi ve işi yapanlar için on üç özellik. Kayıtlı olarak işaretlenen özellikler ücretsiz .NET Community sürümünde yoktur.

Tek Veri Modeli

Her görünüm aynı TsgcPlannerData'yı okur ve yazar.

Tek Veri Modeli

Üç görünüm, tek veri nesnesi, her zaman eşitlenmiş

Bir takvim, bir proje grafiği ve bir görev panosu asla birbiriyle çelişmemelidir. sgcPlanner, istediğiniz sayıda görünümü tek bir veri nesnesine bağlar. Böylece panoda Done sütununa sürüklenen bir kart Gantt'ta ve Zamanlayıcıda aynı anda Done renginde çizilir, Gantt'ta taşınan bir çubuk takvimdeki olayı taşır ve Zamanlayıcıda oluşturulan bir olay karta dönüşür. Her düzenleme tek bir güncellemedir, dolayısıyla her görünüm bırakma başına yalnızca bir kez yeniden çizilir.

  • TsgcPlannerData planı tutar ve her görünüm ona Data üzerinden işaret eder
  • BarColorMode pbcStatus, panonun yaptığı gibi Gantt çubuklarını duruma göre renklendirir
  • SyncSelection, seçili öğeyi SelectedId üzerinden paylaşır
  • Aynı model, hiçbir görünüm olmadan, bir serviste veya birim testinde de çalışır
  • Arapça ve İbranice için sağdan sola: Zamanlayıcı ve Kanban sütunları sağdan akar, Gantt görev gridi sağa geçer ve MirrorTimeline Gantt zaman eksenini de sağdan başlatır
Yardım konusunu okuyun
DataSetPlanner demosu: dataset satırları ve onlara bağlı plan görünümleri

Tek Veri Modeli

Bir TDataSet bağlayın, JSON kaydedin, PNG çizin

Planınız zaten bir veritabanında duruyor ve sgcPlanner onunla orada buluşur. Bir dataset kaynağı veri nesnesini FireDAC, TClientDataSet veya dbExpress gibi herhangi bir TDataSet'e bağlar, öğeleri, kaynakları ve bağımlılıkları yükler, dataset'lerdeki değişiklikleri izler ve görünümlerde yapılan düzenlemeleri geri yazar. JSON kalıcılığı her sürümde ve her platformda çalışır; arayüzsüz çizici ise herhangi bir görünümü bir sunucuda, Linux64 dahil, PNG veya SVG olarak çizer.

  • TsgcPlannerSource_DataSet alan adlarınızı ItemFields üzerinden eşler
  • SaveToFile ve LoadFromFile belgelenmiş JSON biçimini yazar ve okur
  • TsgcPlannerRenderer Zamanlayıcıyı, Gantt'ı veya Kanban'ı pencere olmadan çizer
  • Yalnızca DB birimini kullanır, bu yüzden VCL, FireMonkey ve konsol uygulamalarında çalışır
Yardım konusunu okuyun

Tek Veri Modeli

Plandaki her değişikliği geri alın ve yineleyin

Yanlış bir bırakma hiçbir planlamacının öğleden sonrasına mal olmamalıdır. Veri nesnesi, bir öğenin, kaynağın, durumun veya bağımlılığın her ekleme, silme, özellik değişikliği ve taşıma işlemini, kim yaparsa yapsın kaydeder: bir görünümde sürükleme, yerinde düzenleme, Smart Paste, zamanlama motoru veya kendi kodunuz. Veriye bağlı tüm görünümler tek bir geçmişi paylaşır ve tüm bir yeniden zamanlama geçişi gibi bir değişiklik grubu tek adımda geri alınır.

  • Undo, Redo, CanUndo ve CanRedo ile Data.Undo
  • BeginGroup ve EndGroup çok sayıda değişikliği tek adım yapar
  • UndoCaption ve RedoCaption sonraki adımı bir menü öğesi veya ipucu için adlandırır
  • Limit geçmişi sınırlar, OnChange ise düğmeleri günceller
Yardım konusunu okuyun

Tek Veri Modeli

Başlığı doğrudan görünümde yazın

Bir öğeyi yeniden adlandırmak için iletişim kutusu açmak insanları yavaşlatır. Yerinde düzenlemeyle F2, seçili öğenin başlığını üzerine yerleştirilen küçük bir düzenleyicide düzenler ve Zamanlayıcıda boş alanda sürükleyerek oluşturulan bir randevu başlık düzenleyicisini hemen açar; kullanıcı sürükler ve yazar. Zamanlayıcıda, Gantt'ta ve Kanban panosunda aynı şekilde çalışır ve her düzenleme geri alma geçmişine kaydedilir.

  • InplaceEdit bunu açar, varsayılan olarak kapalıdır
  • F2 seçili öğeyi düzenler, Enter kabul eder ve Escape iptal eder
  • BeginEdit düzenleyiciyi kendi menü öğenizden açar
  • IsEditing Ctrl+Z gibi form tuşlarına, kullanıcı yazarken beklemelerini söyler
Yardım konusunu okuyun

Zamanlayıcı: Toplantılar, Kişiler ve Odalar

TsgcVCLScheduler ve TsgcFMXScheduler, ayrıca .NET'te aynı görünümler.

TsgcVCLScheduler gün görünümü
TsgcVCLScheduler iş haftası görünümü
TsgcVCLScheduler hafta görünümü
TsgcVCLScheduler ay görünümü
TsgcVCLScheduler gündem görünümü
TsgcVCLScheduler kaynak zaman çizelgesi görünümü

Zamanlayıcı: Toplantılar, Kişiler ve Odalar

Yedi takvim görünümü, kişiler ve odalar yan yana

Kullanıcılar bir takvimin nasıl davranması gerektiğini zaten bilir; bu yüzden Zamanlayıcı onlara beklediği görünümleri sunar: gün, iş haftası, hafta, ay, yıl, gündem ve bir kaynak zaman çizelgesi. Yıl görünümü, her günü ne kadar yoğun olduğuna göre gölgelenmiş on iki mini ay gösterir ve çift tıklama o günü açar. Kişileri, odaları veya makineleri kendi renkleriyle kaynak olarak ekleyin ve günü ya da haftayı kaynağa göre gruplayın; böylece bir klinik her doktoru ayrı bir sütunda, bir atölye her yuvayı ayrı görür. Çalışma saatleri, görünen gün aralığı ve gezinme birer özellik ve tek satırlık çağrılardır.

  • View: psvDay, psvWorkWeek, psvWeek, psvMonth, psvYear, psvAgenda, psvTimeline
  • Renkle AddResource ve her kaynak için bir sütun açan Options.GroupByResource
  • DayStartHour, DayEndHour ve SlotMinutes zaman ızgarasını biçimlendirir
  • GoToday, Prior, Next ve ScrollToTime ile gezinilir

Kaynak Zaman Çizelgesi görünümü Kayıtlıdır; Community sürümünde bu görünüm bir uyarı gösterir.

Yardım konusunu okuyun

Zamanlayıcı: Toplantılar, Kişiler ve Odalar

Sürükleyerek oluşturun, taşıyın ve yeniden boyutlandırın

Toplantı ayarlamak onu çizmek gibi hissettirmelidir. Boş aralıklar üzerinde sürükleyin, Zamanlayıcı bir olay oluşturur ve OnItemCreate işleyiciniz başlığını belirler ya da aralığı reddeder. Bir olayı başka bir saate, güne veya kaynak sütununa sürükleyin ya da süresini değiştirmek için bir kenarından çekin; her taşıma aralık boyutuna oturur. Aynı hareketler diğer görünümlerde de çalışır: Gantt'ta çubuklar taşınır ve boyutlandırılır, panoda kartlar sütunlar arasında taşınır.

  • OnItemCreate yeni bir olayı adlandırır ya da reddeder
  • Taşıma ve boyutlandırma Options.SlotMinutes değerine oturur
  • İşaretçiyi bir önizleme izler, görünüm kenarlarında kayar ve Escape iptal eder
  • Fare, kalem ve dokunmatik; OnCardMoving panoda bir taşımayı veto edebilir
Yardım konusunu okuyun
Her Salı haftalık bir Salı stand-up'ının göründüğü ay görünümü

Zamanlayıcı: Toplantılar, Kişiler ve Odalar Yalnızca Kayıtlı

Standart kurallardan yinelenen toplantılar

Haftalık bir stand-up veya aylık bir değerlendirme bir kez girilmelidir. Bir öğeye iCalendar RRULE kuralı verin; Zamanlayıcı her tekrarı herhangi bir görünümde ve dönemde gösterir. Kural, Google Calendar, Outlook ve Apple Calendar'ın kullandığı RFC 5545 biçimindedir; bu yüzden yinelenen olaylar .ics dosyalarını içe veya dışa aktarırken kurallarını korur ve kodunuz veri nesnesinden herhangi bir tarih aralığının tekrarlarını isteyebilir, örneğin bir odayı çakışmalar için denetlemek amacıyla.

  • RecurrenceRule := 'FREQ=WEEKLY;BYDAY=TU' her Salı tekrarlar
  • Öğenin Start ve Finish değerleri ilk tekrarı belirler
  • GetOccurrences herhangi bir dönemin tekrarlarını döndürür
  • iCalendar dosyalarıyla içe ve dışa aktarılır

Community sürümü yinelenen bir öğeyi bir kez gösterir ve kuralını korur.

Yardım konusunu okuyun
Zamanlayıcıya birleştirilmiş bir tatil takvimiyle ICalSubscription demosu

Zamanlayıcı: Toplantılar, Kişiler ve Odalar Yalnızca Kayıtlı

Google Calendar, Outlook, CalDAV ve .ics, içe ve dışa

Kullanıcılarınızın randevuları zaten başka takvimlerde duruyor. TsgcPlannerICalendar, Google Calendar, Outlook ve Apple Calendar'ın biçimi olan .ics dosyalarını içe ve dışa aktarır. sgcPlannerWS köprüsüyle bir abonelik, resmi tatil listesi veya paylaşılan bir takvim gibi salt okunur herhangi bir .ics adresini izler; üç eşitleme bileşeni ise bir planı bir Google Calendar ile, Microsoft Graph üzerinden Microsoft 365 veya Outlook.com'un bir Outlook takvimiyle ya da Nextcloud, iCloud, Fastmail, Radicale veya herhangi bir CalDAV sunucusunun bir CalDAV takvimiyle iki yönlü senkron tutar. Her biri yalnızca son eşitlemeden beri olan değişiklikleri okur ve net bir çakışma kuralı vardır.

  • ImportFromFile ve ExportToFile ile TsgcPlannerICalendar
  • URL ve RefreshInterval ile TsgcPlannerICalSubscription, ETag ve If-Modified-Since kullanır
  • CalendarId, Direction ve AutoSyncInterval ile TsgcPlannerGoogleSync
  • CalendarId ve bir OAuth2 AccessToken ile TsgcPlannerGraphSync, Graph delta sorgusunu kullanır
  • CalendarURL, UserName ve Password ile TsgcPlannerCalDAVSync, eşitleme belirteçlerini ve ETag'leri kullanır
  • Çakışmada sonraki değişiklik kazanır, OnConflict ise başka türlü karar verebilir

Kayıtlı sürüm. Köprü bileşenleri ayrıca Kayıtlı bir sgcWebSockets gerektirir; .NET'te esegece.sgcPlanner.sgcWebSockets içindedirler.

Yardım konusunu okuyun

Zamanlayıcı: Toplantılar, Kişiler ve Odalar

Ertele ve kapat seçenekli hatırlatıcılar

Kimsenin hatırlamadığı bir toplantıya kimse katılmaz. Bir öğeye başlangıcından kaç dakika önce olacağını belirten bir hatırlatıcı verin; TsgcPlannerReminders vadesi gelen hatırlatıcıları bulur ve her biri için bir olay tetikler. Uygulamanız onu kendi zamanlayıcısından çağırır ve hatırlatıcının açılır pencere, toast veya ses olarak nasıl gösterileceğine karar verir. Yinelenen bir öğe her tekrarda yeniden hatırlatır ve bir hatırlatıcı ertelenebilir veya kapatılabilir.

  • Öğenin ReminderMinutes değeri: -1 yok, 0 başlangıçta
  • Check vadesi gelen her hatırlatıcı için OnReminder tetikler
  • Geçerli veya sonraki tekrar için Snooze ve Dismiss
  • JSON olarak kaydedilir ve geri alma geçmişine işlenir
Yardım konusunu okuyun

Zamanlayıcı: Toplantılar, Kişiler ve Odalar

Öğe başına saat dilimleri

Ofislere dağılmış ekipler toplantıları kendi yerel saatleriyle planlar. Her öğe kendi saat dilimini taşıyabilir; böylece New York'ta 10:00'a planlanan bir görüşme New York saatiyle 10:00'da kalır, görünümler ise her öğeyi tek bir görüntüleme diliminde gösterir. Görüntüleme dilimini değiştirdiğinizde öğeler yeni dilimdeki duvar saatine kayar; kayan ve tüm gün öğeler olduğu yerde kalır.

  • Item.TimeZone Start ve Finish değerlerinin dilimidir, kayan bir öğe için boştur
  • Data.DisplayTimeZone görünümlerin gösterdiği dilimdir, yerel dilim için boştur
  • Dönüştürme yalnızca öğeler gösterilirken yapılır
  • Hatırlatıcılar da görüntüleme diliminde çalışır
Yardım konusunu okuyun

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin

TsgcVCLGantt ve TsgcFMXGantt: görevler, bağlantılar, bir zaman ölçeği ve bir zamanlama motoru.

ProjectGantt demosu: bitiş-başlangıç ve başlangıç-başlangıç bağlantılı WBS ağacı

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin Yalnızca Kayıtlı

Bağımlılıklı ve gecikmeli Gantt grafikleri

Gantt, özet satırları, kilometre taşları ve her çubukta ilerleme içeren bir iş kırılım ağacı gösterir ve görevler arasındaki bağlantıları ok olarak çizer. Görevleri kodla ya da bir çubuğun ucundan diğerine sürükleyerek bağlayın; bitiş-başlangıç, başlangıç-başlangıç, bitiş-bitiş veya başlangıç-bitiş seçin ve çalışma zamanıyla ölçülen bir gecikme ekleyin. Zaman ölçeği 5 dakikadan yıllara kadar yakınlaşır.

  • ParentId üzerinden iş kırılımı, UpdateSummaries ile toplanır
  • TsgcPlannerDependencyKind ile AddDependency: pdkFS, pdkSS, pdkFF, pdkSF
  • Çalışma takvimine göre sayılan Lag
  • Her öğede Milestone ve Progress, yakınlaştırma için TimeScale

Community sürümü bağlantıları saklar ve kaydeder ama çizmez; sürükleyerek bağlama Kayıtlıdır.

Yardım konusunu okuyun
Kritik yolun vurgulandığı ve tatillerin çalışma takvimine göre gölgelendiği Gantt

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin Yalnızca Kayıtlı

Otomatik zamanlayın ve kritik yolu görün

Bir görev kaydığında proje yöneticisinin yeni bitiş tarihine bir öğleden sonra çubukları taşımadan, hemen ihtiyacı vardır. Zamanlama motoru her görevi çalışma takvimine göre öncüllerinden hemen sonraya yerleştirir, çalışma dışı günleri ve tatilleri atlar, her görevin boşluğunu hesaplar ve kritik yolu, yani projenin bitişini belirleyen görev zincirini işaretler. İsteğe bağlı, her düzenlemeden sonra ya da hiçbir görünümü olmayan bir veri nesnesi üzerinde çalıştırın.

  • Schedule motoru çalıştırır, AutoSchedule her düzenlemeden sonra çalıştırır
  • ShowCriticalPath bitiş tarihini belirleyen görevleri vurgular
  • TotalSlack bir görevin kayabileceği çalışma dakikalarını verir
  • Çalışma takvimi WorkDays, WorkTime ve Holidays değerlerini belirler

Community sürümünde Schedule, EsgcPlannerError oluşturur ve ShowCriticalPath etkisizdir.

Yardım konusunu okuyun
Güncel çubukların altında gri temel çizgi çubukları olan ve iki görevin geç kaldığı Gantt

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin Yalnızca Kayıtlı

Temel çizgiler kaymayı bir bakışta gösterir

Paydaşlar nadiren planın ne olduğunu sorar; ne kadar kaydığını sorarlar. Plan onaylandığında bir temel çizgi kaydedin; Gantt onu her güncel çubuğun altında ince bir çubuk olarak çizer ve geç kalan bir görev tek bir tarih okumadan görünür. Temel çizgi tarihleri öğelerle birlikte saklanır, JSON'a kaydedilir ve Microsoft Project XML ile değiş tokuş edilir; kodunuz da kendi sapma raporunuzu oluşturmak için bunları okuyabilir.

  • SetBaseline her öğenin Start ve Finish değerlerini tek bir güncellemeyle kopyalar
  • ShowBaseline temel çizgi çubuklarını çizer
  • Her öğede BaselineStart ve BaselineFinish
  • JSON'a kaydedilir ve Microsoft Project XML'den okunur

Community sürümü temel çizgi tarihlerini saklar ve kaydeder ama çizmez; SetBaseline, EsgcPlannerError oluşturur.

Yardım konusunu okuyun

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin Yalnızca Kayıtlı

Planları Microsoft Project ile değiş tokuş edin

Proje ofisleri planları Microsoft Project'ten alır ve geri gönderir. TsgcPlannerMSProject, Project'in açıp kaydettiği XML biçimi olan Microsoft Project XML'i (MSPDI) görevler, bağlantılar, takvim, kaynaklar, atamalar ve temel çizgilerle birlikte içe ve dışa aktarır. İçe aktarma planı değiştirebilir ya da onunla birleşebilir; iyi biçimlendirilmemiş bir belge satır numarasıyla bir hata oluşturur. Bir Win64 geliştirme ölçümünde 15.000 bağlantılı 10.000 görevi içe aktarmak 264 ms sürdü. Kaynaklar ve atamalar görevlerle birlikte gelir.

  • ImportFromFile, ImportFromStream ve ImportFromString
  • ExportToFile Microsoft Project'in açtığı XML'i yazar
  • ImportMode: pmiReplace (varsayılan) veya pmiMerge
  • Bozuk XML, satır numarasıyla EsgcPlannerError oluşturur

Dosya biçiminin JSON olduğu Community sürümünde yoktur.

Yardım konusunu okuyun

Gantt: Projeleri Planlayın ve Kritik Yolu İzleyin

Üç kademeli zaman ölçeği ve kaynak histogramı

Uzun planlar başlıkta daha fazla bağlamla daha iyi okunur ve fazla yüklenmiş kişiler plan yayımlanmadan önce görünmelidir. Gantt zaman ölçeği üçüncü bir kademe gösterebilir, örneğin haftaların üstünde ay, günlerin üstünde hafta. Grafiğin altındaki histogram bölmesi her işaret için her kaynağın çalışma süresine göre ne kadar işi olduğunu çizer ve yüzde 100'ü aşan kısım kritik renkle boyanır.

  • TimeScale.TierCount 3 değeri, etiketleri için TopFormat ile bir üst kademe ekler
  • ShowHistogram ve HistogramHeight bölmeyi gösterir
  • HistogramResourceId tek bir kaynağı veya her kaynağı kendi renginde üst üste gösterir
  • Bölme grafiğin kaydırmasını ve yakınlaştırmasını izler
Yardım konusunu okuyun

Kanban: Planı İzleyen Panolar

TsgcVCLKanban ve TsgcFMXKanban: Gantt ile aynı veriler üzerinde her durum için bir sütun.

Beş durum sütunu, etiketler, sahip baş harfleri, bitiş tarihleri ve ilerleme çubukları olan Kanban panosu

Kanban: Planı İzleyen Panolar

Ekibinizin üzerinde çalışabileceği bir görev panosu

İşi yapanlar bir grafik değil, bir pano ister. Kanban görünümü her durum için sayı rozetli ve daraltma okuna sahip bir sütun oluşturur; her kart başlığını, etiketlerini, kaynak baş harflerini, bitiş tarihini ve ilerlemesini gösterir. Bir kartı başka bir sütuna bırakmak ortak verideki durumunu ve sırasını değiştirir; böylece Gantt ve Zamanlayıcı hemen güncellenir ve kodunuz herhangi bir taşımayı gerçekleşmeden önce veto edebilir. Pano, diğer görünümlerle aynı açık veya koyu temayı izler.

  • ColumnSource sütunları durumlardan ya da kendi Columns listenizden oluşturur
  • CardOptions bir kartın neyi göstereceğini seçer
  • OnCardMoving bir bırakmayı kabul eder veya reddeder
  • Sütun genişlikleri ve daraltma her sürümde çalışır
Yardım konusunu okuyun
TaskBoard demosu: beş sütun, kaynağa göre üç yüzme şeridi ve sınırını aşan bir sütun

Kanban: Planı İzleyen Panolar Yalnızca Kayıtlı

Yüzme şeritleri ve WIP sınırları işin akmasını sağlar

Yüzme şeritleri panoyu kaynağa, üst göreve veya etikete göre yatay bantlara böler; böylece her kişi veya epik kendi satırını alır. Devam eden iş sınırları ise her sütunu tüm şeritler boyunca sayarak sınırlar. Uyarı modunda sınırı aşan sütun işaretlenir; engelleme modunda sınırı bozacak bir kart bırakılamaz. 8 sütun ve 6 şeritte 5.000 kartı yerleştirmek Win64'te 5 ms sürdü.

  • SwimlaneBy: pslResource, pslParent veya pslTag
  • Sütun girdisi başına WIPLimit, sınırsız için 0
  • WIPMode: pwmWarn sütunu işaretler, pwmBlock bırakmayı reddeder
  • Şeritler ve sınırlar diğer görünümlerle aynı veriler üzerinde çalışır

Community sürümü SwimlaneBy ve WIP sınırlarını yok sayar; sütunlar, genişlikler ve daraltma çalışır.

Yardım konusunu okuyun

Erişilebilirlik

Ekran okuyucular, klavye ve yüksek karşıtlık için UI Automation, kurulum gerektirmeden.

Erişilebilirlik

Planlayıcının her görünümü, fare olmadan okunabilir ve kullanılabilir

sgcPlanner Scheduler, Timeline, Gantt ve Kanban görünümlerini Microsoft UI Automation'a sunar: günler, şeritler ve sütunlar, saatleriyle öğeler ve Gantt bağımlılıkları. Fareyle sürüklenen her şey klavyeyle de yapılabilir.

  • Scheduler ve Timeline: Ins odaktaki aralığa bir öğe ekler, Del siler, Ctrl+Ok tuşları öğeyi taşır ve Ctrl+Shift+Ok tuşları bitişini değiştirir
  • Gantt: Ctrl+Sol ve Ctrl+Sağ görevi bir adım taşır, Ctrl+K bir bağımlılık başlatır, Ctrl+Shift+K odaktaki görevin bağımlılıkları arasında dolaşır
  • Kanban: Ctrl+Sol ve Ctrl+Sağ kartı yandaki sütuna taşır, Ctrl+Yukarı ve Ctrl+Aşağı yeniden sıralar
  • Windows yüksek karşıtlık temasında uygulamanın öğe renkleri çerçeveli sistem renkleriyle değiştirilir, böylece hiçbir bilgi yalnızca renge bağlı kalmaz

Erişilebilirlik her sürümde, ücretsiz Community sürümü dahil, varsayılan olarak açıktır: VCL'de Delphi 7'den Delphi 13'e kadar her Delphi ve C++Builder sürümünde, Windows'ta FireMonkey'de ve WinForms, WPF ve Avalonia üzerinde. Delphi ve C++Builder'da AccessibleName ve AccessibleDescription UI Automation'a sunulan adı ve açıklamayı belirler, .NET'te ise her çerçevenin standart erişilebilir adı ve yardım metni aynı işi yapar. Bkz. erişilebilirlik uygunluk raporları.

Yardım konusunu okuyun

sgcPlanner iş başında

sgcUI paket demolarında sgcPlanner: yerleşik simüle verilerle çevrimdışı çalışan eksiksiz uygulamalar.

Gerçek İş Yüklerinde Ölçüldü

1920 x 1080 çözünürlükte Win64 release derlemelerinin geliştirme ölçümleri. Win32 yaklaşık 1,5 ila 1,7 kat daha yavaştır.

ÖlçümSonuçKoşullar
15.000 bağlantı ve 30 tatil içeren 10.000 görevi (1.000 özet, 3 düzey) otomatik zamanlama, kritik yol dahil11 msWin64 release derlemesi
15.000 bağlantılı 10.000 görevi kaydırırken Gantt karesi11 msWin64 release derlemesi, 1920 x 1080
8 sütun ve 6 şeritte 5.000 kartlık Kanban yerleşimi5 msWin64 release derlemesi
2.000 zamanlı öğeli Zamanlayıcı hafta görünümü, yerleşim1 msWin64 release derlemesi
MS Project XML'den 15.000 bağlantılı 10.000 görevi içe aktarma264 msWin64 release derlemesi

Kaynak: bu değerleri belgeleyen yardım konusu.

sgcPlanner ile Kimler Geliştirme Yapıyor

Proje ve mühendislik yazılımları

Proje ofisleri ve mühendislik firmaları

Bir projeyi iş kırılımı olarak planlayın, görevleri bağlayın ve motorun bunları şirket takvimine göre zamanlamasına izin verin; kritik yol bitiş tarihini neyin belirlediğini gösterir. Onay anında bir temel çizgi kaydedin, kayma her çubuğun altında görünsün. Planlar Microsoft Project'ten gelir ve XML olarak ona geri döner, aynı görevler ekip için bir panoda da görünür.

  • Bağımlılıklı Gantt
  • Otomatik zamanlama ve kritik yol
  • Temel çizgiler
  • MS Project XML
ProjectGantt demosunu çalıştırın

Rezervasyon ve randevu sistemleri

Klinikler, atölyeler ve oda rezervasyonu

Her doktoru, yuvayı veya toplantı odasını ayrı bir sütun olarak gösterin ve personelin boş aralıklar üzerinde sürükleyerek rezervasyon yapmasını sağlayın. Yinelenen randevular standart kurallardan gelir, resmi tatiller bir .ics aboneliğiyle ulaşır ve Google Calendar köprüsü bir uygulayıcının kendi takvimini senkron tutar. Dataset kaynağı her rezervasyonu doğrudan tablolarınıza geri yazar. Personel aynı rezervasyonları her görünümde görür.

  • Zamanlayıcı görünümleri ve kaynaklar
  • Yineleme
  • DataSet bağlama
  • Google Calendar eşitleme
TeamScheduler demosunu çalıştırın

Görev takibi ve yardım masası araçları

Çevik ekipler ve hizmet masaları

Ekibe kişi başına bir yüzme şeridi ve sütun başına devam eden iş sınırları olan bir Kanban panosu, yöneticiye aynı biletlerin bir Gantt'ını verin. Bir kartı Done sütununa taşımak çubuğu ve takvim olayını hemen yeniden renklendirir, çünkü üç görünüm de tek bir veri nesnesini paylaşır. Gece gönderilen bir e-posta için durum görselleri bir sunucuda arayüzsüz çizilebilir.

  • Kanban
  • Yüzme şeritleri ve WIP sınırları
  • Eşitlenmiş görünümler
  • Arayüzsüz çizim
TaskBoard demosunu çalıştırın

A Team Scheduler in a Few Lines

The same API in Delphi, C++ Builder and C#: two people, a daily stand-up from a recurrence rule, and a week view that lets users drag new meetings.

A VCL week Scheduler: two people as resources, a daily stand up from a recurrence rule, drag to create.

unit frmTeam;

interface

uses
  Classes, Controls, Forms, SysUtils,
  sgcUICore_Theme, sgcPlanner_Data, sgcPlanner_Scheduler,
  sgcPlanner_Scheduler_VCL;

type
  TFormTeam = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    FData: TsgcPlannerData;
    FScheduler: TsgcVCLScheduler;
    procedure DoItemCreate(Sender: TObject; const aStart, aFinish: TDateTime;
      const aResourceId: string; var aTitle: string; var aAccept: Boolean);
  end;

implementation

procedure TFormTeam.FormCreate(Sender: TObject);
var
  vItem: TsgcPlannerItem;
  vMonday: TDateTime;
begin
  vMonday := Date - DayOfWeek(Date) + 2;
  FData := TsgcPlannerData.Create(Self);
  FData.Resources.AddResource('ana', 'Ana').Color := $FF2563EB;
  FData.Resources.AddResource('luis', 'Luis').Color := $FF0F766E;
  // a daily stand-up from an iCalendar recurrence rule
  vItem := FData.AddItem('standup');
  vItem.Title := 'Daily stand-up';
  vItem.Start := vMonday + EncodeTime(9, 0, 0, 0);
  vItem.Finish := vMonday + EncodeTime(9, 15, 0, 0);
  vItem.RecurrenceRule := 'FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR';
  vItem.Resources := 'ana,luis';
  vItem := FData.AddItem('review');
  vItem.Title := 'Design review';
  vItem.Start := vMonday + 1 + EncodeTime(14, 0, 0, 0);
  vItem.Finish := vMonday + 1 + EncodeTime(15, 30, 0, 0);
  vItem.Resources := 'ana';

  FScheduler := TsgcVCLScheduler.Create(Self);
  FScheduler.Parent := Self;
  FScheduler.Align := alClient;
  FScheduler.Data := FData;
  FScheduler.Theme := utDark;
  FScheduler.View := psvWeek;
  FScheduler.Options.DayStartHour := 8;
  FScheduler.Options.DayEndHour := 18;
  FScheduler.Options.GroupByResource := True;
  FScheduler.OnItemCreate := DoItemCreate;
  FScheduler.ScrollToTime(vMonday + EncodeTime(8, 0, 0, 0));
end;

procedure TFormTeam.DoItemCreate(Sender: TObject; const aStart,
  aFinish: TDateTime; const aResourceId: string; var aTitle: string;
  var aAccept: Boolean);
begin
  // the user dragged an empty slot: name the new meeting
  aTitle := 'New meeting';
  aAccept := True;
end;

end.

Yardım konusunu okuyun →

The same scheduler in C++ Builder.

#include <vcl.h>
#pragma hdrstop
#include <System.DateUtils.hpp>
#include "sgcUICore_Theme.hpp"
#include "sgcPlanner_Data.hpp"
#include "sgcPlanner_Scheduler.hpp"
#include "sgcPlanner_Scheduler_VCL.hpp"

class TTeamHandlers : public TObject
{
public:
	// the user dragged an empty slot: name the new meeting
	void __fastcall ItemCreate(TObject *Sender, const TDateTime aStart,
		const TDateTime aFinish, const UnicodeString aResourceId,
		UnicodeString &aTitle, bool &aAccept)
	{
		aTitle = "New meeting";
		aAccept = true;
	}
};

void __fastcall BuildTeamScheduler(TForm *Form)
{
	static TTeamHandlers *vHandlers = new TTeamHandlers();
	TDateTime vMonday = Date() - DayOfWeek(Date()) + 2;
	TsgcPlannerData *vData = new TsgcPlannerData(Form);
	vData->Resources->AddResource("ana", "Ana")->Color = 0xFF2563EB;
	vData->Resources->AddResource("luis", "Luis")->Color = 0xFF0F766E;
	// a daily stand-up from an iCalendar recurrence rule
	TsgcPlannerItem *vItem = vData->AddItem("standup");
	vItem->Title = "Daily stand-up";
	vItem->Start = vMonday + EncodeTime(9, 0, 0, 0);
	vItem->Finish = vMonday + EncodeTime(9, 15, 0, 0);
	vItem->RecurrenceRule = "FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR";
	vItem->Resources = "ana,luis";
	vItem = vData->AddItem("review");
	vItem->Title = "Design review";
	vItem->Start = vMonday + 1 + EncodeTime(14, 0, 0, 0);
	vItem->Finish = vMonday + 1 + EncodeTime(15, 30, 0, 0);
	vItem->Resources = "ana";

	TsgcVCLScheduler *vScheduler = new TsgcVCLScheduler(Form);
	vScheduler->Parent = Form;
	vScheduler->Align = alClient;
	vScheduler->Data = vData;
	vScheduler->Theme = utDark;
	vScheduler->View = psvWeek;
	vScheduler->Options->DayStartHour = 8;
	vScheduler->Options->DayEndHour = 18;
	vScheduler->Options->GroupByResource = true;
	vScheduler->OnItemCreate = vHandlers->ItemCreate;
	vScheduler->ScrollToTime(vMonday + EncodeTime(8, 0, 0, 0));
}

Yardım konusunu okuyun →

The C# version for WinForms.

using System;
using System.Windows.Forms;
using esegece.sgcPlanner;
using esegece.sgcUICore;

namespace TeamPlanner
{
    internal class MainForm : Form
    {
        public MainForm()
        {
            Text = "Team scheduler";
            DateTime monday = DateTime.Today.AddDays(-(((int)DateTime.Today.DayOfWeek + 6) % 7));

            var data = new TsgcPlannerData();
            data.Resources.AddResource("ana", "Ana").Color = 0xFF2563EB;
            data.Resources.AddResource("luis", "Luis").Color = 0xFF0F766E;

            // a daily stand-up from an iCalendar recurrence rule
            var item = data.AddItem("standup");
            item.Title = "Daily stand-up";
            item.Start = monday.AddHours(9);
            item.Finish = monday.AddHours(9).AddMinutes(15);
            item.RecurrenceRule = "FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR";
            item.Resources = "ana,luis";

            item = data.AddItem("review");
            item.Title = "Design review";
            item.Start = monday.AddDays(1).AddHours(14);
            item.Finish = monday.AddDays(1).AddHours(15.5);
            item.Resources = "ana";

            var scheduler = new TsgcWinFormsScheduler { Dock = DockStyle.Fill, Data = data, Theme = TsgcUITheme.utDark };
            scheduler.View = TsgcPlannerSchedulerViewKind.psvWeek;
            scheduler.Options.DayStartHour = 8;
            scheduler.Options.DayEndHour = 18;
            scheduler.Options.GroupByResource = true;
            // the user dragged an empty slot: name the new meeting
            scheduler.OnItemCreate = (object sender, DateTime start, DateTime finish, string resourceId,
                ref string title, ref bool accept) => { title = "New meeting"; accept = true; };
            Controls.Add(scheduler);
            scheduler.ScrollToTime(monday.AddHours(8));
        }

        [STAThread]
        static void Main() { Application.EnableVisualStyles(); Application.Run(new MainForm()); }
    }
}
dotnet add package esegece.sgcPlanner.WinForms

Yardım konusunu okuyun →

Gantt in Delphi

Three tasks, two links, a baseline, the critical path and the schedule engine (the Gantt features here are Registered edition features).

unit frmGantt;

interface

uses
  Classes, Controls, Forms, SysUtils,
  sgcUICore_Theme, sgcPlanner_Data, sgcPlanner_Gantt, sgcPlanner_Gantt_VCL;

type
  TFormGantt = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

implementation

procedure TFormGantt.FormCreate(Sender: TObject);
var
  vData: TsgcPlannerData;
  vGantt: TsgcVCLGantt;
  vItem: TsgcPlannerItem;
  vStart: TDateTime;
begin
  vStart := Date + EncodeTime(8, 0, 0, 0);
  vData := TsgcPlannerData.Create(Self);
  vData.ProjectStart := vStart;
  vItem := vData.AddItem('1');
  vItem.Title := 'Design';
  vItem.Start := vStart;
  vItem.Finish := vStart + 3 + EncodeTime(9, 0, 0, 0);
  vItem.Progress := 100;
  vItem := vData.AddItem('2');
  vItem.Title := 'Build';
  vItem.Start := vStart;
  vItem.Finish := vStart + 6 + EncodeTime(9, 0, 0, 0);
  vItem.Progress := 40;
  vItem := vData.AddItem('3');
  vItem.Title := 'Release';
  vItem.Start := vStart;
  vItem.Finish := vStart;
  vItem.Milestone := True;
  // Build starts when Design finishes, Release when Build finishes
  vData.Dependencies.AddDependency('1', '2');
  vData.Dependencies.AddDependency('2', '3');

  vGantt := TsgcVCLGantt.Create(Self);
  vGantt.Parent := Self;
  vGantt.Align := alClient;
  vGantt.Data := vData;
  vGantt.Theme := utDark;
  vGantt.ShowCriticalPath := True;
  vGantt.SetBaseline;
  // the schedule engine moves the tasks to honour the links
  vGantt.Schedule;
end;

end.

Recurrence rules and the Gantt Schedule and SetBaseline calls are Registered edition features. The free Community edition shows a recurring item once.

sgcPlanner Demolarını Çalıştırın

Derlenmiş demo uygulamaları sgcUI_bin.zip içinde, kurulum gerekmez. Her demonun kaynak kodu pakette Delphi, C++ Builder ve .NET için bulunur.

ProjectPlanner

ProjectPlanner

Gantt, Kanban ve Zamanlayıcı tek bir veri nesnesi üzerinde, her zaman eşitlenmiş.

TeamScheduler

TeamScheduler

Yıl görünümüyle yedi görünüm, kaynak grupları, yinelenen toplantılar, hatırlatıcılar, saat dilimleri, geri al ve yinele ve yerinde düzenleme.

Yalnızca Kayıtlı ProjectGantt

Bağlantılar, otomatik zamanlama, kritik yol, temel çizgiler, Microsoft Project XML, üç kademeli zaman ölçeği ve kaynak histogramı.

Yalnızca Kayıtlı TaskBoard

Bir Kanban panosunda durum sütunları, kaynağa göre yüzme şeritleri ve WIP sınırları.

DataSetPlanner

DataSetPlanner

TDataSet'lere bağlı öğeler, kaynaklar ve bağımlılıklar; düzenlemeler geri yazılır.

Yalnızca Kayıtlı ICalendarSync

.ics dosyalarını içe ve dışa aktarın.

ICalSubscription

Yalnızca Kayıtlı ICalSubscription

Tatil listesi gibi salt okunur bir .ics adresini izleyin.

Yalnızca Kayıtlı GoogleCalendarSync

sgcWebSockets üzerinden bir Google Calendar ile iki yönlü eşitleme.

Yalnızca Kayıtlı OutlookCalendarSync

Microsoft Graph üzerinden Microsoft 365 veya Outlook.com'un bir Outlook takvimiyle iki yönlü eşitleme.

Yalnızca Kayıtlı CalDAVSync

Nextcloud, iCloud, Fastmail veya Radicale gibi bir CalDAV takvimiyle iki yönlü eşitleme.

HeadlessReport

Görünümleri pencere olmadan görüntü dosyalarına çizer.

PlannerFMX

Bir FireMonkey uygulamasında üç görünüm.

Derlenmiş demolar

Her sgcUI ürününün çalıştırmaya hazır yürütülebilir dosyaları, kurulum gerektirmez.

sgcUI_bin.zip dosyasını indirin →

sgcPlanner Hangi Sürümlerde Yer Alıyor

sgcPlanner, sgcUI Enterprise'ın parçasıdır ve ayrıca tek başına da satılır. sgcPlanner ayrıca All-Access paketine de dahildir.

sgcPlanner tek paket

€249 / geliştirici, tam kaynak kodu, 1 yıl güncelleme.

sgcPlanner satın alın → Fiyatlandırmayı görün →

sgcUI Enterprise

Tüm 14 sgcUI ürünü, €699 fiyatından başlayarak.

Enterprise sürümüne bakın →

.NET

.NET sürümünün fiyatı aynıdır. Ücretsiz bir Community sürümü NuGet üzerinde esegece.sgcPlanner.Community olarak bulunur.

Fiyatlandırmaya bakın →

Ücretsiz Community sürümü, NuGet üzerinde esegece.sgcPlanner.Community paketidir. Tablo nelerin dahil olduğunu gösterir.

ÖzellikCommunity (ücretsiz)Kayıtlı
Zamanlayıcı gün, iş haftası, hafta, ay ve gündem görünümleri✓✓
Gantt görev ağacı, özetler, kilometre taşları ve ilerleme✓✓
Kanban sütunları, daraltma ve kart seçenekleri✓✓
Her görünümde sürükle bırak✓✓
DataSet bağlama, JSON, temalar ve arayüzsüz PNG ve SVG✓✓
Zamanlayıcı Yıl görünümü✓✓
Hatırlatıcılar ve öğe başına saat dilimleri✓✓
Geri al ve yinele, yerinde düzenleme✓✓
Üç kademeli Gantt zaman ölçeği ve kaynak histogramı✓✓
Yineleme−✓
Zamanlayıcı kaynak Zaman Çizelgesi görünümü−✓
Bağımlılık okları ve sürükleyerek bağlama−✓
Otomatik zamanlama, kritik yol ve temel çizgiler−✓
Yüzme şeritleri ve WIP sınırları−✓
iCalendar ve Microsoft Project XML−✓
Google Calendar, Outlook ve CalDAV eşitleme ve iCal aboneliği (sgcPlannerWS)−✓

Desteklenen Framework'ler ve Platformlar

sgcPlanner İçindeki Bileşenler

BileşenNe yapar
TsgcPlannerDataOrtak model: öğeler, kaynaklar, durumlar, bağımlılıklar ve çalışma takvimi.
TsgcVCLScheduler, TsgcFMXSchedulerGün, iş haftası, hafta, ay, yıl, gündem ve zaman çizelgesi görünümleri.
TsgcVCLGantt, TsgcFMXGanttGörev ağacı, çubuklar, bağlantılar, zamanlama motoru, kritik yol ve temel çizgiler.
TsgcVCLKanban, TsgcFMXKanbanDurum sütunları, kartlar, yüzme şeritleri ve WIP sınırları.
TsgcPlannerSource_DataSetBir TDataSet'ten plan.
TsgcPlannerICalendar, TsgcPlannerMSProjectiCalendar .ics dosyalarını ve Microsoft Project XML'i okur ve yazar (Kayıtlı).
TsgcPlannerRendererArayüzsüz PNG ve SVG çıktısı.
TsgcPlannerGoogleSync, TsgcPlannerGraphSync, TsgcPlannerCalDAVSync, TsgcPlannerICalSubscription (sgcPlannerWS)sgcWebSockets üzerinden Google Calendar ile, Microsoft Graph üzerinden Outlook ve Microsoft 365 ile ve CalDAV sunucularıyla iki yönlü eşitleme ve iCal abonelikleri. Yalnızca Kayıtlı.
HedefBileşenPlatformlar
Delphi 7'den 13'e, VCLZamanlayıcı, Gantt, KanbanWin32 ve Win64
Delphi XE6'dan 13'e, FireMonkeyTsgcFMXScheduler, TsgcFMXGantt, TsgcFMXKanbanWindows, macOS, iOS ve Android
C++ Builder 2007'den 13'eVCL ve FMX görünümleriÜretilen .hpp başlıkları ve statik kütüphaneler
Delphi 10.2'den 13'e, çerçeveden bağımsızVeri, motorlar, JSON, iCalendar, Microsoft Project, çiziciLinux64, örneğin planları bir sunucuda çizmek için
.NET Framework 4.7.2, .NET 8, 9 ve 10TsgcWinFormsScheduler, Gantt ve Kanban ile WPF ve Avalonia karşılıklarıWinForms, WPF, Avalonia, arayüzsüz PNG ve SVG

Sık Sorulan Sorular

Evet, Kayıtlı sürümde. TsgcPlannerMSProject, Microsoft Project XML'i (MSPDI) görevler, bağlantılar, takvim, kaynaklar, atamalar ve temel çizgilerle birlikte okur ve yazar. Desteklenen biçim XML'dir, bu nedenle planı Project'te XML olarak kaydedin.

Evet, iki yönlü. Google Calendar TsgcPlannerGoogleSync ile, Microsoft 365 ve Outlook.com Outlook takvimleri Microsoft Graph üzerinden TsgcPlannerGraphSync ile, Nextcloud, iCloud, Fastmail veya Radicale gibi CalDAV takvimleri ise TsgcPlannerCalDAVSync ile eşitlenir. Bir .ics adresi yayımlayan diğer takvimler TsgcPlannerICalSubscription ile salt okunur olarak izlenebilir; .ics dosyaları ise TsgcPlannerICalendar ile içe ve dışa aktarılır. Köprüler için Kayıtlı sürüm ve sgcWebSockets gerekir.

Yardım, Win64 release derlemelerinin geliştirme ölçümlerini yayımlar: 15.000 bağlantılı 10.000 görevi otomatik zamanlamak 11 ms, aynı 10.000 görevi kaydırırken bir kare ise 11 ms sürdü. 5.000 kartlık bir Kanban yerleşimi 5 ms sürdü. Win32 yaklaşık 1,5 ila 1,7 kat daha yavaştır.

Sürükle bırak, özetler, kilometre taşları, ilerleme, çalışma takvimi, DataSet bağlama, JSON ve arayüzsüz çıktı içeren üç görünüm. Yineleme, otomatik zamanlama, çizilen bağımlılıklar, kritik yol, temel çizgiler, Zaman Çizelgesi görünümü, yüzme şeritleri, WIP sınırları, iCalendar, Microsoft Project XML ve köprüler Kayıtlıdır.

Evet. TsgcPlannerSource_DataSet, veri nesnesini FireDAC, TClientDataSet veya dbExpress gibi herhangi bir TDataSet'e bağlar. Öğeleri, kaynakları ve bağımlılıkları alan eşlemeleriyle yükler, dataset'lerdeki değişiklikleri izler ve görünümlerde yapılan düzenlemeleri geri yazar.

Evet, FireMonkey üzerinden: TsgcFMXScheduler, TsgcFMXGantt ve TsgcFMXKanban Delphi XE6'dan itibaren Windows, macOS, iOS ve Android'de çalışır. Linux64'te veri modeli, motorlar, JSON, iCalendar, Microsoft Project XML ve çizici Delphi 10.2'den itibaren derlenir.

Evet. TsgcPlannerRenderer, bir veri nesnesinin Zamanlayıcısını, Gantt'ını veya Kanban'ını Windows ya da Linux64 üzerinde, açık veya koyu temada, pencere olmadan PNG veya SVG olarak çizer.

sgcPlanner Yardımı

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

sgcPlanner'ı Bugün Deneyin

sgcUI denemesi sgcPlanner'ı ve diğer tüm sgcUI ürünlerini içerir.