I try to do TextBox moving, for Rss updates, but the problem is that the Rss text is also in Hebrew in English and also numbers, so every time it reaches the number it starts to go crazy :)
Exmaple Rss = " * ynet - מבזקים * Ynet * ביקור טראמפ: הנשיא האמריקני המריא מסעודיה לישראל * 15 שנות מאסר לבן ברדה שהרג אדם בקטטה בבת ים לפני כארבע שנים * תאילנד: 24 פצועים בפיצוץ בבית חולים בבנגקוק * עשרות אסירים ביטחוניים ששובתי רעב ופונו לבתי חולים החוזרו לכלא * בשל ביקור טראמפ: יתוגברו הרכבות לירושלים וממנה * צפון קוריאה: מסוגלים להתחיל בייצור המוני של טיל בליסטי שיכול להגיע ליפן * דיווח לבנוני: טראמפ וא-סיסי סיכמו על פסגת שלום אזורית בשבועות הקרובים * דו\"ח: יותר ממאה אלף עובדי ציבור פוטרו בטורקיה מאז ניסיון ההפיכה * התחזית: חם ויבש מהרגיל לעונה * הפתעה ב-NBA: בוסטון ניצחה בקליבלנד, צמצמה ל-2:1 בסדרה"
public void Run_Ynet_Rss()
{
Ynet_Rss.Text = "";
foreach (string s in (Rss)
{
Ynet_Rss.Text = Ynet_Rss.Text + " * " + s;
}
Ynet_Rss.TextAlignment = TextAlignment.Right;
}
public void Update_Ynet_Rss()
{
if (Ynet_Rss.Text == "")
{
Run_Ynet_Rss();
}
Ynet_Rss.Text = Ynet_Rss.Text.Substring(1);
Ynet_Rss.TextAlignment = TextAlignment.Right;
}
Of course there is an DispatcherTimer that triggers the Update_Ynet_Rss function every few moments
After a bit of thinking, I found the problem .. and here's the solution:
public void Update_Ynet_Rss()
{
if(Ynet_Rss.Text == "")
{
Run_Ynet_Rss();
}
// Ynet_Rss.Text = Ynet_Rss.Text.Substring(0, Ynet_Rss.Text.Length-1);
string s = Ynet_Rss.Text;
// MessageBox.Show("Index = " + s.IndexOf("מבזקים"));
if (s[0] >= 'א' && s[0] <= 'ת')
{
string tmp = "";
string tmp2 = "";
//Ynet_Rss.Text = Cutting(Ynet_Rss.Text, 0, s.IndexOf(" "));
int EndIndex = -1;
for (int i = 0; i < s.Length; i++)
{
if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z'))
{
EndIndex = i;
//MessageBox.Show("EndIndex = " + EndIndex + "s[i] = " + s[i].ToString());
break;
}
}
if(EndIndex == -1)
{
// MessageBox.Show("EndIndex = " + EndIndex);
EndIndex = s.Length;
}
//tmp = Ynet_Rss.Text.Substring(Ynet_Rss.Text.IndexOf(" "));
tmp = Ynet_Rss.Text.Substring(EndIndex);
tmp2 = Ynet_Rss.Text.Substring(0, EndIndex);
// MessageBox.Show("V1 = " + tmp2);
tmp2 = Ynet_Rss.Text.Substring(0, tmp2.Length-1);
// MessageBox.Show("V2 = " + tmp2);
Ynet_Rss.Text = tmp2 + tmp;
}
else
{
Ynet_Rss.Text = Ynet_Rss.Text.Substring(1);
}
Ynet_Rss.TextAlignment = TextAlignment.Left;
}