vom PAI-Laptop

This commit is contained in:
rkaehler
2024-12-20 15:55:09 +01:00
parent f1229587f4
commit a1cf81b756
24 changed files with 633 additions and 75 deletions

View File

@@ -17,6 +17,10 @@ using System.Net.Cache;
using System.IO;
using System.Net;
using System.Diagnostics;
using Microsoft.Win32;
using System.Net.Http;
using System.Windows.Media.TextFormatting;
using System.Threading.Tasks;
//using System.Drawing;
@@ -27,10 +31,12 @@ namespace Kaehler.scr
/// </summary>
public partial class MainWindow : Window
{
const int cTimerStart = 1;
const int cStartAnzeige = 12;
const int cAusblenden = 11;
const int cTimerDeAni = 31; //war 21
private int cTimerStart = 1;
private int cStartAnzeige = 12;
private int cAusblenden = 11;
private int cTimerDeAni = 31;
private int iGrundwert = 30;
private int iAbweichung = 10;
private DispatcherTimer randTimer;
private bool bRandTimer;
@@ -42,6 +48,11 @@ namespace Kaehler.scr
public MainWindow()
{
InitializeComponent();
oRand = new Random();
bRandTimer = false;
CheckReg();
iGrundwert = ReadFromReg("Grundwert", iGrundwert);
iAbweichung = ReadFromReg("Abweichung", iAbweichung);
}
public void SCRBeenden()
@@ -49,6 +60,41 @@ namespace Kaehler.scr
App.Current.Shutdown();
}
private void CheckReg()
{
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software", true);
RegistryKey subkey = key.OpenSubKey("Kaehler.SCR", true);
if (subkey == null)
{
key.CreateSubKey("Kaehler.SCR");
}
subkey = key.OpenSubKey("Kaehler.SCR", true);
Object oTest1 = subkey.GetValue("Grundwert");
if (oTest1 == null)
{
subkey.SetValue("Grundwert", 30);
}
Object oTest2 = subkey.GetValue("Abweichung");
if (oTest2 == null)
{
subkey.SetValue("Abweichung", 10);
}
}
private int ReadFromReg(String sName, int iDefault)
{
int iRet = iDefault;
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software", true);
RegistryKey subkey = key.OpenSubKey("Kaehler.SCR", true);
Object oTest = subkey.GetValue(sName);
if (oTest != null)
iRet = int.Parse(oTest.ToString());
return iRet;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
@@ -74,13 +120,13 @@ namespace Kaehler.scr
private void Logge(string sLogText)
{
Console.WriteLine(sLogText);
Trace.WriteLine(sLogText);
SimpleEventLog(sLogText,false);
}
private void LoggeFehler(string sLogText)
{
Console.WriteLine(sLogText);
Trace.WriteLine(sLogText);
SimpleEventLog(sLogText, true);
}
@@ -97,10 +143,14 @@ namespace Kaehler.scr
// ... beginne mit Zitat
LoadZoomZitat();
randCounter = cTimerDeAni; // 1 x 10s bis zur DeAnimation
//Logge("Schalte Tooltip ab ...");
//this.ToolTip.ShowAlways(false);
}
// cAusblenden ... cStartAnzeige = Pause
else if (randCounter == cStartAnzeige) //Starte zufällige Anzeige
{
//Zeiten neu festlegen:
cTimerDeAni = iGrundwert + oRand.Next(-iAbweichung, iAbweichung);
//Auswürfeln ..
LayoutReset();
iAktivesElement = (int)oRand.Next(7);
@@ -457,14 +507,26 @@ namespace Kaehler.scr
Logge("Zitat ani ...");
try
{
DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.To = 1;
da.Duration = new Duration(TimeSpan.FromSeconds(1));
int iFont = 32;
if (imageSCR.Width < 1800)
{
iFont = 24;
}
DoubleAnimation da1 = new DoubleAnimation();
da1.From = 0;
da1.To = 1;
da1.Duration = new Duration(TimeSpan.FromSeconds(2));
DoubleAnimation da2 = new DoubleAnimation();
da2.From = 16;
da2.To = iFont;
da2.Duration = new Duration(TimeSpan.FromSeconds(3));
Storyboard sb = new Storyboard();
sb.Children.Add(da);
Storyboard.SetTargetName(da, txtZitat.Name);
Storyboard.SetTargetProperty(da, new PropertyPath("(Opacity)"));
sb.Children.Add(da1);
sb.Children.Add(da2);
Storyboard.SetTargetName(da1, txtZitat.Name);
Storyboard.SetTargetProperty(da1, new PropertyPath("(Opacity)"));
Storyboard.SetTargetName(da2, txtZitat.Name);
Storyboard.SetTargetProperty(da2, new PropertyPath("(FontSize)"));
this.Resources.Clear();
this.Resources.Add("AniZitat", sb);
txtZitat.Visibility = Visibility.Visible;
@@ -483,14 +545,26 @@ namespace Kaehler.scr
Logge("Zitat de-ani ...");
try
{
DoubleAnimation da = new DoubleAnimation();
da.From = 1;
da.To = 0;
da.Duration = new Duration(TimeSpan.FromSeconds(2));
int iFont = 32;
if (imageSCR.Width < 1800)
{
iFont = 24;
}
DoubleAnimation da1 = new DoubleAnimation();
da1.From = 1;
da1.To = 0;
da1.Duration = new Duration(TimeSpan.FromSeconds(2));
DoubleAnimation da2 = new DoubleAnimation();
da2.From = iFont;
da2.To = 16;
da2.Duration = new Duration(TimeSpan.FromSeconds(2));
Storyboard sb = new Storyboard();
sb.Children.Add(da);
Storyboard.SetTargetName(da, txtZitat.Name);
Storyboard.SetTargetProperty(da, new PropertyPath("(Opacity)"));
sb.Children.Add(da1);
sb.Children.Add(da2);
Storyboard.SetTargetName(da1, txtZitat.Name);
Storyboard.SetTargetProperty(da1, new PropertyPath("(Opacity)"));
Storyboard.SetTargetName(da2, txtZitat.Name);
Storyboard.SetTargetProperty(da2, new PropertyPath("(FontSize)"));
this.Resources.Clear();
this.Resources.Add("DeAniZitat", sb);
sb.Begin();
@@ -611,11 +685,11 @@ namespace Kaehler.scr
try
{
//WebRequest request = WebRequest.Create(new Uri(TextUrl, UriKind.Absolute));
/* The OLD Way:
WebRequest request = WebRequest.Create(TextUrl);
request.Timeout = 500;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
Trace.WriteLine(((HttpWebResponse)response).StatusDescription);
Stream responseStream = response.GetResponseStream();
BinaryReader reader = new BinaryReader(responseStream);
MemoryStream memoryStream = new MemoryStream();
@@ -629,6 +703,12 @@ namespace Kaehler.scr
memoryStream.Seek(0, SeekOrigin.Begin);
StreamReader readerTXT = new StreamReader(memoryStream);
sDummy = readerTXT.ReadToEnd();
*/
var client = new HttpClient();
var webRequest = new HttpRequestMessage(HttpMethod.Get, TextUrl);
var response = client.Send(webRequest);
using var reader = new StreamReader(response.Content.ReadAsStream());
sDummy = reader.ReadToEnd();
}
catch (Exception ex)
{
@@ -668,6 +748,7 @@ namespace Kaehler.scr
if (!File.Exists(sCacheFileName))
{
//WebRequest request = WebRequest.Create(new Uri(ImageUrl, UriKind.Absolute));
/* The Old Way:
WebRequest request = WebRequest.Create(ImageUrl);
request.Timeout = 500;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
@@ -675,17 +756,30 @@ namespace Kaehler.scr
Stream responseStream = response.GetResponseStream();
BinaryReader reader = new BinaryReader(responseStream);
MemoryStream memoryStream = new MemoryStream();
*/
var client = new HttpClient();
var webRequest = new HttpRequestMessage(HttpMethod.Get, ImageUrl);
var response = client.Send(webRequest);
//using var reader = new StreamReader(response.Content.ReadAsStream());
var task = Task.Run(() => response.Content.ReadAsByteArrayAsync());
task.Wait();
byte[] bytebuffer = task.Result;
/*
byte[] bytebuffer = new byte[BytesToRead];
reader.re
int bytesRead = reader.Read(bytebuffer, 0, BytesToRead);
while (bytesRead > 0)
{
memoryStream.Write(bytebuffer, 0, bytesRead);
bytesRead = reader.Read(bytebuffer, 0, BytesToRead);
}
*/
tmpImage.BeginInit();
memoryStream.Seek(0, SeekOrigin.Begin);
tmpImage.StreamSource = memoryStream;
//memoryStream.Seek(0, SeekOrigin.Begin);
//tmpImage.StreamSource = imgResponse;
tmpImage.StreamSource = new MemoryStream(bytebuffer);
tmpImage.EndInit();
ZielImage.Source = tmpImage;