שלום לכולם,
אני מעוניין להכיר לכם תוסף מעניין שמייעל ומטפל בשבילכם באיכות התמונות באתרים שאתם מפתחים.
התוסף:
Image Optimizer
יש להתקין את התוסף ב- VisualStudio2010
בחירה בתפריט ב:
Tools -> Extension Manager-> Online Gallery
ולחפש את התוסף:
Image Optimizer
לאחר התקנת התוסף ובחירת תמונה ו/או תיקייה המכילה תמונות יש ללחוץ על קליק ימני ובחירה בייעול תמונות.
התמונות הנבחרות יעברו "טיפול" וגודלם יוקטן ללא פגיעה באיכותם.

הטריק הוא שהתוסף מעביר את התמונות שבחרתם דרך האלגוריתמים שקיימים באתרים:
SmushIt
PunyPNG
פורמטים של תמונות שנתמכים על ידי התוסף הם:
GIF
Animated GIF
JPG
PNG
למידע נוסף לחצו כאן
בהצלחה
רוני
כל יום לומדים משהו חדש!
ראיתי את אחד המתכנתים שלי משתמש ב- Command Prompt בפקודה חזקה שלא הכרתי
רוצים לדעת קצת על Command Prompt ועל הפקודה הנ"ל תקראו כדאי לכם להמשיך לקרוא את הפוסט.
אז נתחיל.
כולנו משתמשים Command Prompt במערכת ההפעלה של מיקרוסופט
להפעלה (למי שלא מכיר/זוכר)
את הפקודות הרגילות כגון:
ipconfig
netstart
hostname
cls
pause
ו-exit
כולנו מכירים (ומי שלא מכיר מוזמן לנסות להריץ את הפקודות ולראות למה הן משמשות או לחפש באינטרנט למה הן משמשות).
אבל עם השנים אני משתמש בפקודות נוספות שיכול להיות שהיו לכם לעזר.
הפקודה at
משמשת להפעלת פעולה בזמן שנבחר. דוגמה לשימוש:
(בשעה 18:00 צור תיקיה בשם: cmd test)
הפקודה color
משמשת לצביעת הרקע והפונט של חלון הפקודה. דוגמה לשימוש:
פונט ירוק ברקע שחור (כמו בסרט מטריקס (:)
כתיבה של הפקודה color תחזיר את צבעי ברירת במחדל.
לקבלת רשימת הצבעים יש לכתוב:
color /help
הפקודה title
משמשת לשינוי המלל בשורת הכותרת (מעולה למצגות ולצילומי מסך). דוגמה לשימוש:
הפקודה משנה את שורת הכותרת ל: new title
והפקודה "החדשה" start.
הפקודה משמשת לפתיחת המיקום של חלון בממשק ויזואלי. דוגמה לשימוש:
כונן C יפתח בחלון בממשק ויזואלי.
יש לכם פקודות נוספות שאתם מכירים? שתפו את כולנו, פשוט הוסיפו את הפקודות עם ההסבר בתגובות לפוסט.
בברכת קידוד נעים
רוני
שלום לכולם,
ראיתי באחד הסירטונים ב-asp.net את המרצה עושה view source והקוד שהוצג הופיע בצבע.
החלטתי שאני רוצה גם! לא עוד notepad משמים שמגיע כברירת מחדל עם האקספלורר! צבע זה העתיד!
אז התחלתי לבחון חלופות ומצאתי את ++notepad. אתם מוזמנים להתרשם ולהוריד אותו מכאן.
ומה שיותר חשוב גיליתי כיצד לבצע את ההחלפה של notepad המגיע כברירת מחדל ב view source.
השינוי מתבצע כמובן ברגיסטרי.
(למי שלא מכיר start -> run -> regedit).
מחפשים את הערכים:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name]
ונותנים את המיקום של העורך החדש שבחרתם ב-Editor Name במקום notepad (מומלץ לגבות לפני השינוי :)).
במידה ולא קיימים לכם הערכים View Source Editor\Editor Name, יש ליצור אותם ואז להוסיף את המיקום של העורך החדש
כערך ברירת מחדל של Editor Name.
מה שנותר לעשות זה לסגור את כל הדפדפנים הפתוחים ומעכשיו תוכלו להשוויץ לחבריכם בעבודה או בספסל הלימודים ב-view source הססגוני שלכם.
קידוד נעים
רוני
שלום אנשים,
והפעם כיצד ליצא נתונים לקובץ CSV.
בלי הרבה מילים בואו נתחיל לקודד.
נוסיף את המתודה הבאה לדף:
public void ExportCSV(DataTable data, string fileName)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType =
"text/csv";Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv");
Response.Charset =
string.Empty;Response.ContentEncoding = Encoding.GetEncoding(1255); StringBuilder sb = new StringBuilder();
// Write headerfor (int i = 0; i <= data.Columns.Count - 1; i++)
{
if (i > 0) sb.Append(",");
sb.Append(data.Columns[i].ColumnName);
}
sb.Append(Environment.NewLine);
// Write dataforeach (DataRow row in data.Rows)
{
for (int i = 0; i <= data.Columns.Count - 1; i++)
{
if (i > 0)
sb.Append(
",");sb.Append("\"" + row[i].ToString().Replace("\"", "\"\"") + "\"");
}
sb.Append(Environment.NewLine);
}
Response.Write(sb.ToString());
Response.End();
}
מעבירים למתודה ExportCSV שני פרמטרים:
DataTable ושם לקובץ ה CSV שניצור.
ExportCSV(oDataTable,
"Offers");
המתודה מטפלת לנו בבעיות שיכולות להתרחש ביצירת קבצי CSV כגון עברית ותווים בעייתים (גרשיים ופסיק).
בהצלחה
רוני
שלום לכולם,
עורכי התוכן אצלנו פנו אליי בבקשת עזרה
הבעיה שלהם הייתה כיצד לגרום לחלק מהקישורים ברשימת SharePoint להיפתח בחלון חדש.
מכיוון שהם לא רצו לשנות את התבנית של הדף ולא לנתק את הדף מבסיס הנתונים (unGhost)
חיפשתי דרך אחרת לעשות את זה...
ומצאתי...
var arr = new Array();
arr = document.documentElement.getElementsByTagName("A");
//alert("Total Number of HTML 'A' Elements: " + document.documentElement.getElementsByTagName("A").length);
for(var i=0; i<arr.length; i++)
document.documentElement.getElementsByTagName(
"A").item(i).target = "_blank";
הסבר על הקוד (JavaScript):
1. שומרים במערך (arr) את האלמנטים בדף של קישור (anchor tag A).
2. עוברים על המערך ומוסיפים לכל קישור את המאפיין לפתיחה בחלון חדש (blank).
וזהו.
מה שנותר לעשות זה להגדיר מערך שיכיל רק את הקישורים שרוצים לפתוח בחלון חדש.
את הקוד ניתן להוסיף לדף על ידי WP של עורך תוכן שמסומן כמוסתר ומגדירים אותו שיעלה אחרון בדף.
שיהיה קידוד נעים
רוני
היי אנשים,
מי שמפתח דפים בעלי הרבה נתונים (עד שנפתח Scroll בדף) בטוח נתקל בבעיה שבביצוע PostBack בתחתית הדף
וזאת מכיוון שכאשר הדף נטען מחדש הוא יוצג כאשר ה-Scroll "מכוון" לתחילת הדף.
והפיתרון לבעיה (לפחות מ-asp.net 2.0):
MaintainScrollPositionOnPostback
דוגמה לשימוש בדף:
<%@ Page MaintainScrollPositionOnPostback="true" %>
ניתן להוסיף את היכולת הנ"ל לכל הדפים בפרויקט ע"י הוספת השורה הבאה ב-web.config
<pages maintainScrollPositionOnPostBack="true" />
מקווה שעזרתי למי שנתקל בבעיה.
יום טוב
רוני
הי,
במקרה שקל גילה שבאאוטלוק יש אפשרות לקבץ מיילים ששלחנו וקיבלנו באותו הנושא.
משהו שמזכיר את הסגנון של ג'מייל (Gmail).
להלן המתכון:
החומרים הדרושים:
1 אאוטלוק.
1 אינבוקס.
אופן ההכנה:
הוספת השדה "שיחה" לרשימת השדות בכותרת
קליק ימני בכותרת -> בוחר השדות -> שיחה. (נמצא בקטגורית שדות נפוצים או כל שדות הדואר).
סימון השדה "שיחה" כשדה המקבץ
קליק ימני על השדה "שיחה" -> "קבץ לפי שדה זה".
וזהו.
נבדק ונמצא עובד בגרסאות 2003 ו-2007.
בתיאבון.
שלום לכולם,
אם יש לכם בעיה של עיוורון צבעים או שסתם נמאס לכם מהצבעים שאתם רואים כל יום בסביבת הפיתוח.
אתם יותר ממוזמנים להכנס לאתר הבא:
Visual Studio Theme Generator
באתר תוכלו לייצר לעצמכם ערכת נושא (Theme) לסביבת העבודה.
יש לשנות את הגדרת הצבעים.
לחיצה על refresh תציג לכם דוגמא כיצד נראת הערכה שיצרתם.
לחיצה על create תיצור את קובץ ההגדרות שאותו ניתן לייבא לסביבה ע"י לחיצה על:
tools.
Import and Export Settings.
(שם גם ניתן לשחזר את ברירת המחדל)
יצירה נעימה
רוני (עוזיאל)
שלום אנשים,
לכולנו יש MOSS באירגון (כמעט לכולנו).
וכולם משתמשים ברשימות ב-MOSS (כמעט כולם).
אני אציג בפוסט זה כיצד להשתמש בנתונים ששמורים ברשימות (Lists) בשרת MOSS ע"י שימוש ב-WS הקיימים ב-MOSS.
המצרכים:
MOSS.
Visual Studio.
אורך רוח.
אופן ההכנה:
ב-Visual Studio
נוסיף web reference וניתן את כתובת האתר +
/_vti_bin/lists.asmx
http://<site>/_vti_bin/Lists.asmx
בקוד ונוסיף את השורות הבאות:
public XmlNode funGetItemDetails(string sItemId) {
WSS_Server.
Lists oList = new WSS_Server.Lists(); oList.UseDefaultCredentials = true;
XmlDocument oXmlDoc = new System.Xml.XmlDocument();XmlNode ndViewFields = oXmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", string.Empty);
XmlNode ndQueryOptions = oXmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", string.Empty);XmlNode ndQuery = oXmlDoc.CreateNode(XmlNodeType.Element, "Query", string.Empty);
// CAML queryndQuery.InnerXml = @"<Where><Eq><FieldRef Name='calcmodified1' /><Value Type='Calculated'>" + sItemId.Trim() + "</Value></Eq></Where>";
// GetListItemsXmlNode xmlList = oList.GetListItems(ConfigurationManager.AppSettings["ListName"], string.Empty, ndQuery, ndViewFields, string.Empty, ndQueryOptions, string.Empty);
return xmlList; }
}
יפה!
ועכשיו להסברים:
1. קוראים ל-WS.
2. נותנים לו Credentials ברירת מחדל (למי שאין לו הרשאה על הרשימה לא יוכל לקבל ממנה נתונים).
3. בונים ענפים כש:
ndViewFields - איזה שדות להביא.
ndQueryOptions - פרמטרים על השאילתא.
ndQuery - שאילתא על הנתונים.
השאילתא נכתבת בשפת CAML
Collaborative Application Markup Language
חשוב ביותר: לא הייתי ממליץ להשקיע זמן בלהבין אותה אלא לחפש במנוע החיפוש החביב עליכם את התוכנה CAML BUILDER שבונה את השאילתות על ידי גרירה של שדות.
4. קוראים למתודה GetListItems
ומעבירים לה את שם הרשימה ואת הפרמטרים שהגדרנו בסעיף 3.
וזהו, יש לנו את הנתונים מהרשימה.
הערות:
בבניית רשימה חובה לתת לשדות שמות באנגלית ולאחר מכן ניתן לשנות את שם השדה לעברית וזאת מכיוון שכאשר הנתונים יוצגו לנו בפיתוח הם יופיעו בצורה לא קריאה.
אפשר להתחבר ל-WS ממחשב מרוחק כך שלא חובה לפתח על שרת ה-MOSS.
לא לשכוח לטפל בשגיאות.
בהצלחה ושיהיה קידוד נעים
רוני
נ.ב. הפוסט מוקדש ליהודה ולשאשא :)
שלום לכולם,
בפוסט זה אסביר כיצד להעביר תווים מיוחדים (לצורך העניין גם עברית נחשבת מיוחדת) לשרת כך שקריאות ה-AJAX שלנו יעבדו ולא רק בשליחת אנגלית ומספרים.
טוב בואו נתחיל...
אני מעביר בקשה לשרת ב-QueryString והנה דוגמא ל-URL שאני משרשר אליו פרמטר (q).
url = "AutoComplete/AutoComplete.aspx?q=" + oTargetTextBox.value;
הנתונים נשלחים לשרת.
הנתונים חוזרים מהשרת
והכל טוב ויפה.
אבל...
כאשר נשלח תווים מיוחדים לדוגמא: ~!#$%^&*(){}[]=:/,;?+\'"\\@
יתרחשו לנו באגים כאשר נקרא בשרת את הפרמטר ששלחנו.
והפתרון:
שלושת השיטות (JavaScript)
escape(), encodeURI(), encodeURIComponent()
בגדול ההבדלים בין השיטות (יש עוד כמו הבדלים :)):
escape לא מקודד את התווים: @*/+:
encodeURI לא מקודד את התווים: :~!#$&*()=:/,;?+'@
encodeURIComponent לא מקודד את התווים: ~!*()'
דוגמא לשימוש כאשר הייתי צריך להעביר את התו + (פלוס):
url =
"AutoComplete/AutoComplete.aspx?q=" + encodeURIComponent(oTargetTextBox.value);
"עוף טופיק"
והיום בסדרה "שידורי ה-אלי"... The Revenge
שם הפרק: "הנקמה".
תיאור הפרק: אלי מחליט ל"סגור איתי חשבון" ולנקום בי על כל הפוסטים שכתבתי עליו.
נא לא לנסות בבית.
רק טוב
רוני ושקל הפקות :)
והפעם במיני פוסט:
המאפיינים של התג Form -
defaultbutton
defaultfocus
שני מאפיינים שמאז שגיליתי אותם (מה לעשות לפעמים תוך כדי עבודה מתגלים להם מאפיינים חדשים)
אני משתמש בהם כמעט בכל דף.
defaultbutton - מאפשר לנו להגדיר איזה כפתור יהיה כפתור ברירת המחדל בדף שלנו.
וכשנריץ את הדף בדפדפן ונלחץ על אנטר יופעל האירוע של הכפתור שהגדרנו במאפיין זה.
defaultfocus - מאפשר לנו להגדיר הכין יהיה הפוקוס של סמן העכבר.
דוגמאת קוד:
<form id="frmParameters" runat="server" defaultbutton="btnAddParameter" defaultfocus="txtParameter">
היי
כל מי שהשתמש ב"נקודת שיתוף" (SharePoint) בטח שם לב שכשעומדים עם העכבר על שם משתמש
נפתחת לנו חלונית ובתוכה מידע על המשתמש המידע מכיל נתונים מ:
Active Directory, Outlook, Messenger.
הפונקציונליות הנ"ל מגיעה מ: Name.dll שמותקן במערכת כאשר מתקינים אופיס.
צילום מסך לדוגמה:

מי שמעוניין להוסיף את הפונקציונליות הנ"ל במערכות הווב שלו מוזמן להוסיף את קטע הקוד הבא:
<script language="JavaScript">
InitializeObject();
function InitializeObject() { NameObj = new ActiveXObject("Name.NameCtrl");
}
function ShowOOUI(name) {var obj = window.event.srcElement;
NameObj.ShowOOUI(name,0,0,0);
}
function HideOOUI() {
NameObj.HideOOUI();
}
</script>
in <body> tag:
<
span onmouseover="ShowOOUI('someone@example.com')" onmouseout="HideOOUI()">
Whatever HTML
</
span>
Hello Everybody,
Many times while surfing the web we find ourselves copying & pasting text into our preferred
search engine.
This search method can be changed by using LiveIT.
To download press here.
After installing LiveIT all we need to do in order to activate a text search in live.com search engine is to right click the text and select LiveIT.
Example:

After using LiveIT surfing & searching becomes easier than ever before !
You won't understand how you managed all this time without it :)
The installation file includes and will install the following:
1. In the registry, an additional LiveIT key
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\LiveIT]
This adds the LiveIT option to the right-click menu.
2. Live.html file will be copied to the c:\Windows directory
This file contains the logic of the LiveIT operation.
3. Live.lnk file will be copied to the c:\Windows directory.
This makes it easier to access Microsoft's Live Search from the Start -> Run -> LIVE.
You are more than welcome to edit Live.html and change the search engine to any other
search engine for eg: Wikipedia, netex, morfix, Google...
** The funEncode function in the JavaScript section defines UTF-8 Encoding allowing searches in multiple languages, built-in.
IGIO
Roni
והפעם במיני פוסט:
העתקת השרתים הרשומים ב-SQL Server ממחשב למחשב (Shekel TIP).
אחד הדברים המציקים כשאנחנו מקבלים מחשב חדש הוא שצריך להגדיר מחדש את כל השרתים שהגדרנו ב- sql server management studio.
אז זהו...שלא.
אפשר להעתיק את ההגדרות של כל השרתים ממחשב למחשב ע"י העתקת הקובץ:
RegSrvr.xml
הנמצא בנתיב:
C:\Documents and Settings\<USERNAME>\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell
למחשב החדש.
תתחדשו
רוני