Erstellen eines Wochenkalenders 2021 (Nachfüllen für Systemnotizbuch) mit Ruby

Zweck:

Erstellen eines Wochenkalenders.

Hintergrund:

Die Größe der Nachfüllung des Systemnotizbuchs (82 mm B x 140 mm L) ist etwas Besonderes, und obwohl ich damit angefangen habe, war es schwierig, sie zu erhalten. Deshalb habe ich in der Vergangenheit darüber nachgedacht, sie von Hand herzustellen. Zu dieser Zeit hatte ich ein maßgeschneidertes Nachfüllpapier hergestellt, und es gab zu dieser Zeit einen Überschuss an leerem Papier, also dachte ich daran, es nächstes Jahr zum ersten Mal seit langer Zeit wieder von Hand herzustellen. Da es einmal im Jahr ist, kann es handgefertigt werden. Da es jedoch eine spezielle Programmierumgebung gibt, erstellen wir einen Mechanismus, mit dem jedes Jahr automatisch ein Kalender ausgegeben werden kann. Deshalb habe ich es programmiert.

Drucken:

Verwenden Sie die Funktion "Seriendruck" der Textverarbeitungssoftware. Daher können Kalenderdaten für den Seriendruck erstellt werden. Die Vorlage für "Seriendruck" ist eine Vorlage, die eine Woche lang in einem Spread angezeigt wird (siehe Abbildung unten). Gleiches gilt für eine Vorlage, die wie ein Effizienznotizbuch eine Woche auf einer Seite verpackt. L_andR_.png Daten: Ein Datensatz pro Woche. Wenn Sie also über eine Kalenderdatenbank wie die unten gezeigte verfügen, können Sie diese für den Seriendruck verwenden. Ich habe diesen Tisch mit Rubin gemacht. weekly.png

Der Code von Ruby lautet wie folgt.

.weekly_calendar.rb



# weekly

require 'date'
day = Date.new(2020,12,28)  #Letzter Monat im Dezember ab Montag
last = Date.new(day.year+1, day.month, day.mday)
weekdays = {0 => 'Tag', 1 => 'Mond', 2 => 'Feuer', 3 => 'Wasser', 4 => 'Holz', 5 => 'Geld', 6 => 'Boden'}
 while day < last do
  records=Array.new
  records.push(day.strftime("%Y%W,%Y,%W"))
  dday = day
    while dday < day+7 do 
     wday = weekdays[dday.wday]
     records.push(dday.strftime("%b,%-m,%d,%w,#{wday},%a,"))
     dday = dday+1
    end
  print records.join(',')
  print  "\n"
  day = day+7
 end

Die Header-Datei wurde mit dem folgenden Code ausgegeben und über die obige Ausgabe eingefügt. Wenn Sie csv ausgeben und in libreoffice calc laden, handelt es sich um Seriendruckdaten.

.header.rb


# weekly header

printf "%s,%s,%s,","yrwk","yr","wkwk"
printf "%s,%s,%s,%s,%s,%s,%s,","mte1","mtn1","dyn1","wkn1","wkj1","wke1","s1"
printf "%s,%s,%s,%s,%s,%s,%s,","mte2","mtn2","dyn2","wkn2","wkj2","wke2","s2"
printf "%s,%s,%s,%s,%s,%s,%s,","mte3","mtn3","dyn3","wkn3","wkj3","wke3","s3"
printf "%s,%s,%s,%s,%s,%s,%s,","mte4","mtn4","dyn4","wkn4","wkj4","wke4","s4"
printf "%s,%s,%s,%s,%s,%s,%s,","mte5","mtn5","dyn5","wkn5","wkj5","wke5","s5"
printf "%s,%s,%s,%s,%s,%s,%s,","mte6","mtn6","dyn6","wkn6","wkj6","wke6","s6"
printf "%s,%s,%s,%s,%s,%s,%s\n","mte7","mtn7","dyn7","wkn7","wkj7","wke7","s7"

Urlaubsinformationen werden manuell korrigiert. Ich möchte es verbessern, damit es automatisch eingefügt werden kann, sobald die Daten vorbereitet sind, aber der Zeitplan ist unentschlossen, da es sich um eine Arbeit einmal im Jahr handelt.

Recommended Posts

Erstellen eines Wochenkalenders 2021 (Nachfüllen für Systemnotizbuch) mit Ruby
Erstellen eines Kalenders mit Ruby
[Für Anfänger] Verfahren zum Erstellen eines Controllers mithilfe von Schienen
Ein Memorandum zum Erstellen eines erweiterten Loggers mit org.slf4j.Logger
Erstellen eines Docker-Hosts in AWS mit Docker Machine (persönliches Memorandum)
Verfahren zum Veröffentlichen einer Anwendung mit AWS (4) Erstellen einer Datenbank
Erstellen Sie eine Lotterie mit Ruby
Erklärung von Ruby on Rails für Anfänger ③ ~ Erstellen einer Datenbank ~
[Android] Erstellen Sie einen Kalender mit GridView
[Persönliches Memo] Schreiben einer Datei mit BufferedWriter
[Persönliches Memo] Lesen von Dateien mit BufferedReader