#! /usr/bin/ruby # PROGRAM SMS1 # Version fuer das faible-Projekt # Version: 20.5.2024 # Autor: Arno Pasternak # Das Programm unterliegt der GPL, Version 3 # ========================================== class Satz # attr_accessor :satz # hier unnoetig def initialize @satz = "Dieser Satz ist neu!" end def einlesen puts "Bitte Satz eingeben:" @satz = gets.chomp puts @satz end def ausgeben puts @satz end def verschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 48 verschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl += versatz buchstabe = asciizahl.chr verschluesselter_satz += buchstabe stelle += 1 end @satz = verschluesselter_satz end def entschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 48 entschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl -= versatz buchstabe = asciizahl.chr entschluesselter_satz += buchstabe stelle += 1 end @satz = entschluesselter_satz end def senden(dateiname) datei = File.new(dateiname, "w") datei.write(@satz) datei.close end def holen(dateiname) if File.exist?(dateiname) == false @satz = "" else datei = File.open(dateiname, "r") @satz = datei.read datei.close end end end # BEGINN des Programms satz = Satz.new codewort = "" teilnehmer = "" absender = "" empfaenger = "" wahl = "" puts "Bitte gib Deinen Namen an:" teilnehmer = gets.chomp while wahl != "Q" puts "" puts "==============================================================" puts "E: Einlesen ** A: Ausgeben" puts "S: Senden ** H: Holen" puts "V: Verschlüsseln ** D: Entschlüsseln" puts "Z: Zeigen alle SMS ** C: Codewort eingeben" puts "Q: QUIT" puts "" puts "Bitte wählen:" wahl = gets.chomp.upcase puts "" puts "--------------------------------------------------------------" if wahl == "Z" system("./verzeichnis.sh") end if wahl == "C" puts "Bitte Codewort eingeben:" codewort = gets.chomp[0] end if wahl == "E" satz.einlesen end if wahl == "A" satz.ausgeben end if wahl == "S" puts "Empfänger:" empfaenger = gets.chomp satz.senden("#{empfaenger}_#{teilnehmer}.sms") puts "Die SMS wurde versandt." end if wahl == "H" puts "Absender:" absender = gets.chomp satz.holen("#{teilnehmer}_#{absender}.sms") puts "Folgende SMS wurde erhalten:" satz.ausgeben end if wahl == "V" puts "Verschlüsselt:" satz.verschluesseln(codewort) satz.ausgeben end if wahl == "D" puts "Entschlüsselt:" satz.entschluesseln(codewort) satz.ausgeben end end # ENDE des Programms