# PROGRAM SMS1
# Version fuer das faible-Projekt
# Version: 20.5.2024
# Autor: Arno Pasternak
# Das Programm unterliegt der GPL, Version 3

# ==========================================


console.log "SMS 1"
#psa/8.2.2024

console.log "======================================"
console.log "Programm      SMS 1"
console.log "======================================"
console.log ""

  
caesarverschluesseln = (satz, versatz) ->
  verschluesselter_satz = ""
  laenge = satz.length
  stelle = 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    asciizahl = asciizahl + versatz
    zeichen = String.fromCharCode(asciizahl)
    verschluesselter_satz = verschluesselter_satz + zeichen 
    stelle = stelle + 1
  satz = verschluesselter_satz
  return satz


caesarentschluesseln = (satz, versatz)->
  entschluesselter_satz = ""
  laenge = satz.length
  stelle= 0

  while stelle < laenge
    asciizahl = satz.charCodeAt stelle
    asciizahl = asciizahl - versatz
    zeichen = String.fromCharCode(asciizahl)
    entschluesselter_satz = entschluesselter_satz + zeichen
    stelle = stelle + 1
  satz = entschluesselter_satz
  return satz

# ------------------------------------------------------------

console.log "Das Programm ist gestartet"
box white, 1000
bk 500

write ""
write "=============================================================="
write "         SMS Programm mit Caesar-Verschl&uuml;sselung"
write "=============================================================="
write "=============================================================="
write "<br>"
write "<br>"

wahl = "noch nichts gewaehlt"        
satz = "Startsatz"
codezahl = 1

await read 'Bitte gib Deinen Namen an:  &nbsp;&nbsp;&nbsp;', defer teilnehmer
              
while wahl != "Q"    
  do ct
  write "---------------------------------------------------------"
  write "PROGRAMM SMS 1 *** Teilnehmer: <b>" + teilnehmer + "</b>" 
  write "Die SMS ist derzeit: &nbsp;&nbsp;&nbsp;&nbsp; <b>" +  satz + "</b>"
  write "---------------------------------------------------------"
  write "<br>"

  write 'E: Eingabe  ***  A: Ausgabe'
  write 'V: Verschluesseln  ***  D: Decodieren'
  write 'S: Senden  ***  H: Holen'
  
  write 'Z: Zeigen aller SMS  **  C: Codezahl eingeben'
  write "Q: Ende"
  write "<br>"
                       
  await read ' ', defer wahl
  write "<br>"
  write "Du hast eingegeben:  ", wahl
  write "---------------------------------------------------------"
  write "<br>"
  if wahl is "E"
    await read  'SMS eingeben:      ', defer satz 
  if wahl is "A"
    write "Die SMS ist derzeit:   ",  satz
    
  if wahl is 'S'
    await read  'Bitte Empf&auml;nger eingeben:      ', defer empfaenger 
    dateiname = empfaenger+'_'+teilnehmer+'.sms'
    save dateiname, satz
    write 'Die SMS wurde versandt.'
    pause 2
  if wahl is 'H'
    await read  'Bitte Absender eingeben:      ', defer absender 
    dateiname = teilnehmer+'_'+absender+'.sms'
    await load dateiname, defer satz
    if satz is ''
      antwort = 'Keine SMS von '  + absender + ' vorhanden.'
      write antwort
      satz = antwort
      pause 2
    else
      write 'Die SMS wurde geholt.'
     pause 1
    
  if wahl is "V"
    satz = caesarverschluesseln satz, codezahl
  if wahl is "D"
    satz = caesarentschluesseln satz, codezahl
  if wahl is "C"
    await read  'Codezahl eingeben:      ', defer codezahl 

  if wahl is "Z"
    await read  'Derzeit nicht realisiert', defer fehlt 
  

console.log "Das Programm ist beendet"  #{satz}"
write "<br>"
write "======================================"
write "Das Programm ist beendet"
write "======================================"


