Štítek


programovani

AC Sparta Praha, SYNOT liga - rozpis zápasů

update 13.8.2016 změna sponzora ligy = změna stránek a nutnost úpravy skriptu B)
update 1.7.2015 přidal jsem sezónu 2015/16 a přesunul náhled na acs.zmatlik.eu B)
update 4.6.2015 „sezóna skončila a tak jsem alespoň přidal historické zápasy od roku 1994“ :)

Vytvořil jsem v google kalendáři rozpis zápasů AC Sparty Praha v rámci SYNOT ligy. Jedná se o script napsaný v google apps script, který by se měl :) vždy o půlnoci aktualizovat (výsledek již odehraných zápasů a datum + čas nadcházejících zápasů).

ID Kalendáře: gfp7s5hui9bphde8g7l5ulfqu8@group.calendar.google.com

Vytvoření přehledu událostí v google kalendáři pomocí skriptu

Používám telefon, který běží na androidu ( UMI X1 s LeWa OS B) ) a analogicky k tomu také kalendář od google. V celku příjemné rozhraní od google postrádá pro mě zajímavou funkcionalitu a to výpis určitých událostí za dané období. Hledal jsem v diskuzích a našel prima skript, který tento výpis vygeneruje do tabulky na Disku Google (už nevím zdroj, tak zveřejním pouze výsledný, mnou upravený).

Postup pro vytvoření skriptu v Disk Google je velmi jednoduchý: Disk Google / vytvořit / skript / tabulka, následně se otevře okno pro psaní skriptu. Později se lze do editačního okna dostat z rozhraní tabulky skrze Nástroje / Editor skriptů ….

Ve skriptu jsem napsal vše potřebné do komentářů :) snad jen, že výsledkem je menu (v tabulce Google) Kalendář s položkou Přehled událostí, kterou výsledný skript spustíme.

náhled zdrojového kódu
function prehledUdalosti() {
 
  var dnes = new Date();
  //Zde zadejte adresu na kalendář, kterou najdete moje kalendáře / nastavení / kliknutí na vybraný kalendář / adresa kalendáře - ID Kalendáře
  var Kalendar  =  CalendarApp.getCalendarById("xxxxxx@group.calendar.google.com");
 
  //Nastaveni objektu Kalendar pro standardní (default) kalendář
  //var Kalendar  =  CalendarApp.getDefaultCalendar();
 
  //načítám události za letošní rok
  var udalosti = Kalendar.getEvents(new Date(dnes.getFullYear(),1,1), new Date(dnes.getFullYear(),12,31));
 
  var vypis = new Array();
 
  var pocitadlo = 0;
 
  //první řádek ve výpisu bude nadpis, hlavička tabulky
  vypis.push(Array("Nadpis", "Místo", "Začátek", "Konec", "Popis"));
 
  for (var i = 0; i<udalosti.length; i++)
  {
 
    //pokud nadpis události obsahuje x nebude zahrnut do výpisu
    if (udalosti[i].getTitle().indexOf('x') == -1)
    {
 
    var radekVypis = new Array();
 
      radekVypis.push(udalosti[i].getTitle());
      radekVypis.push(udalosti[i].getLocation());
      radekVypis.push(udalosti[i].getStartTime());
      radekVypis.push(udalosti[i].getEndTime());
      radekVypis.push(udalosti[i].getDescription());
 
      vypis.push(radekVypis);
 
    pocitadlo++;
 
    }
  }
 
  //poslední řádek výpisu obsahuje počet událostí vybraných (bez "x") a všechny
  vypis.push(Array("Počet událostí vybrané / všechny:", "","", pocitadlo + " / " + udalosti.length,""));
 
  var list = SpreadsheetApp.getActiveSheet().getRange(1, 1, vypis.length, vypis[0].length).setValues(vypis);
}
 
function onOpen() {
 
  var sesit = SpreadsheetApp.getActiveSpreadsheet();
 
  var polozkyMenu = [{
    name : "Přehled událostí",
    functionName : "prehledUdalosti"
  }];
 
  sesit.addMenu("Kalendář", polozkyMenu);
 
};

Statická třída v php jako konfigurační soubor

Používám statickou třídu jako konfigurační soubor pro nastavení blogu. Základ stránek naprogramuji na lokále a až odladěné stránky dávám na hosting. Někde na php.net jsem našel inicializaci statické třídy … třeba se bude hodit i někomu jinému ;)

<?php
 
class Nastaveni {
 
    /* nastaveni pripojeni databaze */
    protected static $dbHost = "localhost";
    protected static $dbUzivatel = "";
    protected static $dbHeslo = "";
    protected static $dbDatabaze = "localdb";
 
 
    public static function NastaveniInit() {
 
      if($_SERVER['HTTP_HOST']!='localhost') {
 
        /* nastaveni pripojeni databaze */
        self::$dbHost = "host_db";
        self::$dbUzivatel = "uzivatel_db";
        self::$dbHeslo = "heslo_db";
        self::$dbDatabaze = "server_db";
 
      }
 
    }
 
 } Nastaveni::NastaveniInit();
 
?>

Makro na označení celé oblasti pod kurzorem

Pracuji s tabulkou, která má cca 500 položek, kdy se opakuje řádek dat a prázdný řádek (export ze SAPu). Jednoduchý způsob, jak se zbavit prázdných řádků je tabulku seřadit, což znamená označit celou oblast – nepřišel jsem na způsob, jak to udělat skrze klávesovou zkratku :( … tak jsem si napsal jednoduché makro B)

náhled zdrojového kódu
Sub OznacOblast()
 
 
  LastRow = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
  LastCol = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
 
  Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(LastRow, LastCol)).Select
 
 
End Sub
1 2 3